5.3.2 嗅探和扫描
嗅探和扫描都是网络中使用的术语,通常指的是窃听网络中流量的行为。它们使攻击者和防御者都能准确了解网络中正在发生的情况。嗅探工具旨在捕获通过网络传输的数据包,并对其执行分析(见图5-22),然后以人类可读的格式显示。为了执行内部侦察,数据包分析非常重要。它为攻击者提供了大量有关网络的信息,其详细程度甚至可与绘制在图纸上的网络拓扑信息媲美。
一些嗅探工具甚至会泄露机密信息,例如受WEP保护的Wi-Fi网络的密码。其他工具能够设置为在有线和无线网络上捕获较长时间的流量,之后用户可以在方便的时候进行分析。
图5-22 嗅探演示
目前,黑客有大量常用的嗅探工具。
5.3.2.1 Prismdump
该工具仅为Linux设计,允许黑客使用基于Prism2芯片组的网卡进行嗅探。此技术仅用于捕获数据包,因此需要用其他工具执行数据分析;这也是它以其他嗅探工具广泛使用的pcap格式转储捕获的数据包的原因。
大多数开源嗅探工具使用pcap作为标准的数据包捕获格式。由于该工具只用于捕获数据,因此可靠性强,可以用于长时间的侦察任务。图5-23为Prismdump工具的屏幕截图。
图5-23 Prismdump实战
5.3.2.2 Tcpdump
这是一个开源嗅探工具,可用于数据包捕获和分析。Tcpdump使用命令行界面运行。Tcpdump也是为数据包捕获定制设计的,因为它没有启用数据分析和显示的GUI。它是一个具有强大数据包过滤功能的工具,甚至可以有选择地捕获数据包。这使其有别于大多数其他在捕获过程中无法过滤数据包的嗅探工具。图5-24为Tcpdump工具的屏幕截图,它正在监听发送到其主机的ping命令。
5.3.2.3 Nmap
这是一个开源网络嗅探工具,通常用于测绘网络,如图5-25所示。该工具记录进出网络的IP数据包。它能绘制出有关网络的详细信息,例如连接到它的设备以及任何开放和关闭的端口。该工具甚至可以识别连接到网络的设备的操作系统以及防火墙的配置。它使用一个简单的基于文本的界面,但是有一个称为Zenmap的高级版本,这个Zenmap有一个GUI。图5-25为Nmap界面的屏幕截图。正在执行的命令为:
#nmap 192.168.12.3
执行该命令可扫描IP地址192.168.12.3上的计算机端口。
图5-24 Tcpdump实战
图5-25 Nmap实战
5.3.2.4 Wireshark
这是最受推崇的网络扫描和嗅探工具之一。这款工具的功能非常强大,可以从网络发送的流量中窃取身份验证信息,其容易程度出人意料,一个人只需遵循几个步骤就可以毫不费力地成为黑客。在Linux、Windows和Mac上,你需要确保安装了Wireshark的设备(最好是笔记本电脑)连接到网络。需要启动Wireshark才能捕获数据包。
在给定的时间段之后,用户可以停止Wireshark并继续执行分析。要获得密码,需要过滤捕获的数据,只显示POST数据。这是因为大多数网站都使用POST数据将身份验证信息传输到服务器。它将列出所有的POST数据操作。然后,右键单击其中任何一个,并选择跟随TCP流的选项。Wireshark将打开一个窗口显示用户名和密码。有时,捕获的密码会被散列化,这在网站中很常见。使用其他工具可以很容易地破解散列值,并恢复原始密码。
Wireshark还可以用于实现其他功能,例如恢复Wi-Fi密码。由于它是开源的,社区会不断更新其功能,因此它将继续添加新功能。其当前的基本功能包括捕获数据包、导入pcap文件、显示有关数据包的协议信息、以多种格式导出捕获的数据包、基于过滤器对数据包进行着色、提供有关网络的统计信息以及搜索捕获的数据包的能力。该文件具有高级功能,这使其成为黑客攻击的理想之选。不过,开源社区利用它进行白帽攻击以比黑帽们更早发现网络中的漏洞。
图5-26是Wireshark捕获网络数据包的屏幕截图。
图5-26 Wireshark捕获网络数据包
5.3.2.5 Scanrand
这是一种特别设计的扫描工具,速度非常快,且非常有效。其极快的速度超过了大多数其他扫描工具,这可以通过两种方式实现:该工具包含一个同时发送多个查询的进程和另一个接收响应并将其集成的进程。这两个进程不协商,因此接收进程永远不知道会发生什么,只知道会有响应数据包。
不过,该工具集成了一种巧妙的基于散列的方法,允许你查看它从扫描中接收到的有效响应。
5.3.2.6 Masscan
该工具的运行方式类似于Scanrand(由于缺乏开发人员的支持,现在已很难找到)、Unicornscan和ZMap,但速度要快得多,每秒可传输1000万个数据包。图5-27所示的工具一次发送了多个查询,接收其响应,并对其进行了整合。多个进程不协商,因此接收进程将仅接收响应数据包。Masscan是Kali Linux的一部分。
图5-27 Masscan实战
5.3.2.7 Cain&Abel
这是专门为Windows平台开发的最有效的密码破解工具之一。该工具通过使用字典、暴力破解和密码分析攻击来破解密码,从而恢复密码。
它还通过监听IP语音对话和发现缓存的密码来嗅探网络。该工具已经过优化,只能与Microsoft操作系统配合使用。图5-28为Cain&Abel工具的屏幕截图。
这个工具现在已经过时了,不能在Windows 10等最新的操作系统上运行,而且在开发者的网站上也不再提供。也就是说,既然知道市场上还有很多Windows 7甚至Windows XP系统这一情况,那么最好也能清楚这个工具可以怎么使用。因此,我们决定将该工具保留在本书的新版中。
5.3.2.8 Nessus
这是由Tenable Network Security制造和分发的免费扫描工具。它是最好的漏洞扫描器之一,并因为是最好的白帽漏洞扫描器而获得了几个奖项。Nessus有几个功能,可能在攻击者进行内部侦察时派上用场。该工具可以扫描网络,并显示配置错误和缺少补丁的连接设备。该工具还显示使用默认密码、弱密码或根本没有密码的设备。
图5-28 古老的黄金工具“Cain&Abel”
该工具可以通过启动外部工具来帮助某些设备恢复密码,以帮助其对网络中的目标进行字典攻击。最后,该工具能够显示网络中的异常流量,可用于监控DDoS攻击。Nessus能够调用外部工具来帮助其实现额外功能。
当开始扫描网络时,它可以调用Nmap来帮助其扫描开放的端口,并自动集成Nmap收集的数据。然后,Nessus能够使用这种类型的数据,通过用自己的语言编写的命令继续扫描和查找有关网络的更多信息。图5-29为显示扫描报告的Nessus屏幕快照。
图5-29 Nessus扫描结果
5.3.2.9 Metasploit
这是一个充满传奇色彩的框架,由许多用于扫描和漏洞利用攻击网络的工具组成。由于这个工具的深远能力,大多数白帽培训师都使用它来向他们的学生传授知识。它也是渗透测试仪,是许多组织的首选软件。到目前为止,该框架已经有1500多个可用于攻击浏览器、Android、Microsoft、Linux和Solaris操作系统的漏洞,以及适用于任何平台的各种其他利用漏洞。该工具使用命令shell、Meterpreter或动态载荷来部署其载荷。
Metasploit的优势在于,它具有检测和规避可能存在于网络内部的安全程序的机制。该框架有几个命令可用于从网络嗅探信息。它还具有补充工具,可在收集有关网络中漏洞的信息后用于攻击。
图5-30和图5-31是Metasploit的屏幕截图。
图5-30 Metasploit终端
图5-31 Metasploit实战
5.3.2.10 Aircrack-ng
另一个破解无线网络的工具是Aircrack-ng,它专门用于破解受保护的无线网络的密码。这款工具非常高级,其算法可以破解WEP、WPA和WPA2安全无线网络。它的命令很简单,即使是新手也可以轻松破解WEP安全网络。其潜力在于,它结合了FMS、KoreK和PTW攻击,这些攻击对用于加密密码的算法有很高的成功率。
FMS通常用于破解RC4加密密码,WEP则可用KoreK进行攻击,WPA、WPA2和WEP使用PTW attack15进行攻击。该工具相当有效,几乎总是保证进入使用弱密码的网络(见图5-32)。
图5-32 Aircrack-ng截图