2.4 OS X服务发现工具

如2.1节中提到,Apple公司的OS X操作系统并不太合适无线网络攻击所需要的各种要求,不过,幸运的是,在OS X上,还真有一个“被动式扫描器”软件,这个软件叫作KisMAC,尽管名字上非常像,但这款运行在OS X操作系统上的KisMAC和运行在UNIX操作系统上的Kismet没有任何关系。目前,KisMAC支持所有最新的“苹果机场无线网卡”(Apple AirPort)的驱动程序,也支持少量外置的USB接口802.11b/g适配器的驱动程序,而支持最多的,就是基于支持Prolific公司的RTL8187芯片的“银色Alfa”设备的驱动。

2.4.1 KisMAC工具

KisMAC(被动型扫描器)

KisMAC是第一个,也是最重要的一款被动式扫描器。从特色上来讲,这款软件支持GPS定位,也可以把无线网卡设置到“监测模式”,并且软件也可以把捕获到的数据包保存成多种标准的格式。

如果要简单地介绍一下KisMAC的特点,那么可以分为四点。第一,作为一个扫描器,KisMAC包括了大量与扫描器身份关联度不大的功能,这些都会在后面的描述中感受到。第二,作为优点,KisMAC支持针对无线网络各种攻击方式,不过,虽然这些功能将在本节中简要地提及,更详细的内容在第3章中介绍。第三,KisMAC也有针对的Apple公司的“机场卡”(AirPort card)和“机场终极卡”(AirPort Extreme card)进行“主动式扫描”所需要的驱动程序。第四,虽然你可以在紧要关头使用一下这些“主动式扫描”驱动程序,但作为该软件的主业,你更应该试着用KisMAC为“被动式扫描”所提供的驱动程序,以从中得到它的全部功能。

1.KisMAC的主界面

图2-14显示的是KisMAC的主窗口。大部分列的意义都是不言而喻的。值得注意的是窗口底部并排的四个按钮。这些按钮是访问KisMAC四个主功能窗口的快捷方式,从左到右,四个按钮所对应的功能窗口依次为:无线网络节点、某个网络的数据通信、地图和数据细节。

在对无线网络扫描之前,你需要先告诉KisMAC,让它使用哪一个驱动程序,当然,正确的选择取决于用户实际上使用的是什么样的无线网卡。要完成这个操作,首先要打开KisMAC软件的“主界面偏好”(KisMAC Preferences)窗口,然后单击工具栏中的“驱动程序”按钮,然后就可以将这些驱动程序设置到KisMAC中了,该界面如图2-15所示。如果要设置其他参数,也同样在“主界面偏好”窗口中,例如“要扫描的信道和跳频范围”(即图上的“Channel hopping”)以及“是否将数据包保存到文件中”(即图上的“Save Dumps At”)等参数。另外,在图2-15中也可以看到,KisMAC使用的是RTL8187驱动程序(在图中“Capture devices”列表中),所扫描的是信道1~信道11,这些信道都是美国合法使用的信道。因为“是否将数据包保存到文件中”中输入了文件名,所以所捕获的数据包都将自动保存在:~/Dumplog-<年>-<月>-<日>.pcap [1] 的文件中。

图2-14 KisMAC主窗口

2.KisMAC地图可视化

KisMAC支持GPS全球定位系统。正如在上一章所说的一样,要想使用这个GPS设备,你需要通过驱动程序或代理程序,将GPS映射成一个可识别的串行设备,这样想使用GPS的应用程序只需要与这个虚拟的串口进行通信就可以了。BU-353就是一款具有这种功能的驱动程序。有关GPS设备的识别,以及将某GPS设备映射成一个虚拟串口的内容,详见第1章的内容。

图2-15 KisMAC的主界面偏好窗口

运行KisMAC软件,这个应用程序会自动连接系统中所有的串口,并最终生成一个“正在使用的”串口列表。假设你在这之前已将GPS接收器插入计算机,并且该GPS设备已被当前的OS X操作所识别,那么由这个设备所创建的虚拟串口也会被KisMAC所识别。对应于KisMAC的程序界面,当用户进入“GPS配置”对话框(GPS Configuration),你就会看到有一个下拉式菜单,这个菜单就是KisMAC运行时生成的串口列表,而由这个GPS设备所虚拟的串口,也作为一个菜单项位于下拉菜单之中。选择这个菜单项(比如,我使用GPS设备,所显示的菜单项是“/dev/tty.usbserial”),那么随后当你单击主界面下面四个按钮中的“地图”(即左数第三个)按钮时,可能会看到一条消息,这条消息会告诉你现在的位置是哪里。

曾经有一段时间,KisMAC软件中内置了真实的地图。在“地图”的这个主界面上,程序会从不同的服务器上下载当前位置的卫星图像或地图数据,然后对应实时地贴在界面上,这样网络位置一目了然。不过,提供地图数据的供应商逐渐消失了,取而代之的是“Google Earth”。在“Google Earth”中,操作和查看调查数据都是轻而易举的事,并且,在浏览过程中,KisMAC将数据导出到KML文件中的作用不会受到影响。

3.KisMAC和Google Earth

要在KisMAC上生成KML文件,只需单击“文件(File)|导出到KML文件(Export To KML)”菜单,然后在“Google Earth”中读入这个刚生成的KML文件即可。一个KisMAC的KML文件导出的样例,如图2-16所示。

图2-16 KisMAC的“Google Earth”展示效果图

4.保存数据和捕获数据包

在KisMAC中,你可以保存两种类型的数据:“扫描数据”类型(scanning data)和“捕获数据包”类型(packet capture)。如果你保存的是“扫描数据”类型,那么以后该数据可以在KisMAC中载入,并允许你在KisMAC提供的地图上进行定位,在使用结束后,再导出为其他类型的数据。是KisMAC以自己的格式保存的数据,所以完全可以把这个格式认为这是KissMAC的私有格式,这种格式就是所谓的“.kismac”格式,其扩展名也是“.kismac”。与之相对,将原始数据包保存的格式,称为“.pcap”格式,其扩展名也是“.pcap”。

另一种KisMAC软件支持的保存类型,就是“捕获数据包”类型。这是使用“被动式扫描器”的最大的优点之一,KisMAC可以保存所有捕获到的数据包,以便以后的收集和分析。拿到这些数据包后,主要有两个用处。第一个用处,除了这种“捕获数据包”类型文件,也包括前面的“扫描数据”类型文件,就是在这些数据包中,可以寻找到以明文(plaintext)方式表示的用户名和密码。例如你当前所看的数据包中,包含有很多邮件操作,你也许就会惊讶于“为什么还有那么多未加密的POP3服务器仍然在使用”?拿到用户名和密码,其安全性根本就无从谈起。另一个用处,就是利用这些文件破解所监听的无线网络本身,事实上,大多数针对“有线等效保密协议”无线网络和“Wi-Fi保护访问”无线网络的攻击,都是先在该无线网络中搜集一些(有的时候需要先搜集很多)这样的数据包,然后“以其人之道,还治其人之身”地用在这个无线网络中,进而破解或入侵。这一部分详细的说明详见第3章和第4章。

要让KisMAC为你保存它所捕获的数据包,只需要在“驱动程序的配置”(Driver Configuration)界面上,单击界面上选择所要捕获的数据包类型单选框即可。如果你不确定你所感兴趣的数据包属于是哪种类型,则保存一切数据包也不会产生任何影响。KisMAC保存的数据包文件采用的是标准开源的“.pcap”格式。如果你想要查看这些文件的内容,那么打开和显示这种格式文件的最好工具是Wireshark,Wireshark可以在OS X操作系统上安装为一个本地应用程序。

最后要说的是KisMAC支持多种黑客攻击方式。目前,这些攻击包括Tim Newsham的21位WEP密钥攻击(Tim Newsham's 21-bit WEP key attack),多种模式的暴力破解(brute-forcing),针对RC4计划表攻击(RC4 scheduling attack,该攻击又名“统计攻击”(statistical attack)或“弱初始向量IV攻击”(weak IV attack))。虽然通过KisMAC的下拉菜单可以使各种攻击变得异常方便,但要从攻击效果上来说,由于KisMAC在这方面表现一般,所以对于某一个具体的网络漏洞,使用专用工具进行攻击通常会得到更好的效果。

对于KisMAC应该程序,其他值得一提的特征还有不少,比如该软件能够将定制的数据包注入到采用“有线等效保密协议”算法加密的“.pcap”文件中,并在随后实施破解。目前,KisMAC是OS X操作系统中唯一可以实施“数据包注入”攻击的黑客工具。不过,如前所述,要想在KisMAC中成功地实现注入数据包的能力,还需要一个支持该功能的无线网卡。目前支持这一功能的最常见的网卡就是基于RTL8187芯片的“银色Alfa”无线网卡。

[1] 图2-15的文件名格式为“~/Dumplog-%y-%m-%d.pcap”,其中“~/”表示根目录,后面的“%”是转义符,表示该符号及后面紧跟的字母一起表示一个变量,%y、%m、%d分别表示保存文件时的年、月、日,在保存的瞬间,系统会读取当前的年月日值,并取代其中的变量,所以最后生成的格式只是具体操作的时间与有。同样,上面描述中,“~/Dumplog-<年>-<月>-<日>.pcap”中的“<年>”“<月>”“<日>”也表示保存文件时,实际的年月日。——译者注