安全是人人都需要留意的方面,也是人人需要处理的方面。虽说你可以去外头搜集一大堆的工具和实用程序来帮助自己,但肯定有一条更省力的路子。目前有几个Linux发行版提供了一整套工具,可以满足你的安全要求。其中比较流行的发行版之一是Kali Linux(前身是BackTrack),还有其他的发行版,比如BackBox或Lightweight Portable Security(LPS),它们可能更适合特定的要求。你可以在可引导的DVD或USB驱动器上运行这些发行版,让你得以对受危及的机器进行取证分析。此外,你可以将它安装在机器上,并将它搭建在网络上,获得更永久性的安全解决方案。
在这篇教程中,我们将使用Kali Linux,完成一系列可行的步骤,以分析和测试本地安全。我们只能介绍Kali Linux里面所有工具中的一部分,但你会学到一些基本的技术和方法,可以用于监控系统,测试防御体系。
资源
Kali Linux:http://www.kali.org/
Metasploit:http://www.linuxuser.co.uk/tutorials/www.metasploit.com
每个应用程序在菜单中都有一个条目。如果它是基于控制台的应用程序,它在新的终端中打开时会列出这个工具的选项。
第1步:下载和安装
第一步是搞一份可供使用的Kali Linux。主下载页面提供了采用几种不同格式、面向几种不同架构的下载程序。通常的做法是,下载一个ISO映像文件,将其刻录到CD,或制作一个可引导的USB驱动器。
第2步:硬件检测
Kali Linux提供的一项出色的额外特性是,能够在启动系统之前查看硬件情况。了解一下你想研究的硬件的大致情况,这总是个好主意。这是你在启动Kali后的一个启动选项。
第3步:Netdiscover
首先要做的事情之一是,查明网络上有哪些用户或哪些设备。Netdiscover为你提供了在网络上扫描IP地址的工具。该工具在不使用DHCP的无线网络上特别有用。
第4步:Tcpflow
一旦你有了一份主机列表,接下来可能想查看在进行哪种通信。Tcpflow会监测你网络上传送的流量,并建立会话,那样就可以分析这些会话,看看你的网络在用来干嘛。
第5步:Intrace
一旦你知道了你网络上进行哪种会话,可能有兴趣想查明那些会话选择了哪些路由。Intrace可以查看网络上传送的TCP数据包,从而像traceroute那样列出数据包路径。
第6步:Zenmap
识别了网络上的主机后,你可能想要查看主机上哪些端口是开着的,在运行什么操作系统。这方面值得依赖的应用程序是Nmap。通常用于Nmap的图形用户界面(GUI)前端是Zenmap。
第7步:Sqlninja
现在我们需要开始探究安全了。说到安全,微软总是个受气包,SQL Server也不例外。大多数企业网络使用微软软件,所以你需要测试它们是如何配置的。Sqlninja是SQL Server上的出色工具,采用了类似SQL注入攻击的测试手法。
第8步:Acccheck
可能是你系统中薄弱环节的另一项服务是SMB,即Samba文件共享。实用程序acccheck可用来对帐户密码执行字典式攻击,试图突破Windows授权机制。
第9步:取证分析模式
如果你确实发现了一台机器觉得有可能受到了危及,你在试图对它进行一番研究时就要小心。Kali Linux在系统引导时提供了一种取证分析模式:仅仅让系统引导,不挂载、不触碰所有本地驱动器。那样一样,你就可以在不改变系统状态的情况下进行测试了。
第10步:密码离线破解
你想探究的其中一个方面是,某台机器是不是由于选择了安全性差的密码而受到危及。有几个工具可用来试图破解密码散列。这些工具大多采用字典式攻击来破解密码,比如John the Ripper。
第11步:Guymager
在一些情况下,某台可疑机器太重要了,没法让它处于离线状态。这种情况下,唯一的办法就是在重新构建之前,对驱动器制作一份映像,便于以后探究。Guymager是为此目的而制作映像的工具之一。
第12步:Chkrootkit
你在探究过程中需要查找的其中一个方面就是,rootkit有没有被人安装,从而为坏人提供了一条后门通道。你可以用来查找的工具之一是chkrootkit。该实用程序会寻找夺取机器控制权所用的常见rootkit的痕迹。
第13步:社会工程学
社会方面是安全领域被忽视的一个方面。要是你的用户没有在安全使用计算机,世界上所有的安全措施都无济于事。Kali Linux提供了一个社会工程学工具包,可以用来进行鱼叉式钓鱼攻击之类的尝试。
第14步:漏洞数据库
除了测试社会方面外,你还要测试机器的安全,查找任何漏洞。为此,你可以试一试已知的安全漏洞。幸好,网上有数据库列出了众多已知的安全漏洞。
第15步:Metasploit
通常用来测试系统的工具是Metasploit,它提供了一个完备的框架,可汇总全面的攻击途径。这包括:让人可以远程访问受危及机器的入侵、威胁和渠道。在Kali Linux里面,有些菜单项目让你可以启动Metasploit服务器。万一你遇到了问题,还有一个菜单条目可以将诊断日志转储出来。Metasploit在客户机/服务器模式下运行,所以一旦你启动了服务器,就需要连接客户机,以便针对你负责的那些机器试试几个漏洞,看看是否存在安全隐患。
第16步:Armitage
可供使用的图形化界面之一是Armitage。如果你已经启动了Metasploit,那么可以让Armitage连接到这台已经运行的服务器。不然,Armitage会为你启用一台新的Metasploit服务器供你探究。
第17步:p0f
一旦你确保了网络的安全,那只是迈出了头一步。你还要密切关注网络上发生的情况。p0f工具可以被动地监测网络,查看网络上有哪些机器,它们又在运行什么操作系统,同时不让它们知道你在侦听。
第18步:硬件漏洞
Kali3提供了一套独特的工具,能够测试其他硬件。有些工具可以探究安卓设备、蓝牙协议和Arduino系统。
第19步:DDMS
DDMS是一款调试监测工具,为你提供了低层访问及控制安卓机器的功能。你只要把设备插入到USB端口,启动DDMS,就可以查看设备上发生的情况。你的确需要在开始前为特定版本安装一套软件开发工具包(SDK)。
第20步:安卓漏洞—apktool
一旦你连接上了安卓设备,可以试着运行各种漏洞,以获得根访问权。这个步骤差异很大,具体要看你的安卓运行在哪一种硬件上。一种类型的漏洞可能需要apktool,以便打开和编辑安卓设备上的APK文件。
第21步:蓝牙
你还存在另一种可能的安全漏洞。蓝牙协议用于鼠标、键盘及其他硬件。但安全从来容不得有半点闪失。Kali Linux提供了几款工具,可以查看来回传送的蓝牙信号。
第22步:安装在ARM上
Kali开发人员还为ARM架构版本提供了支持。你可以在主下载页面上找到。甚至还有操作说明,介绍了如何将它安装在Galaxy Note 10.1设备上,包括一个安装映像文件。
第23步:结束
如果你遵照了上述步骤,就可以开始了解你系统的安全要求了。不过,这仅仅是个开始。Kali Linux里面还有众多的工具,恕本文不逐一介绍了,所以胆子放大一点,看看还有其他什么工具。