在上一章,我们讨论了依靠基本硬件的功能差异,会导致各种攻击技术的多样化差异。这些硬件都是靠设备驱动程序与操作系统进行通信,所以设备驱动程序都与特定的操作系统紧密相关。此外,不同的无线黑客软件也只运行在特定的操作系统平台上。所有这些因素组合在一起,使得选择一个合适操作系统变得非常重要。
Windows操作系统可能的优点是已被优先安装在您的笔记本电脑上。但是奇怪的是,在较新版本的这些Windows操作系统中,只有为数不多的几种方法可以将无线网卡设置为“监测模式”(monitor mode)。由Microsoft提供的一款最简单的程序开发包,称为“网络监视器”(NetMon)程序。不幸的是,尽管Microsoft提供了大量驱动级的支持,并且该开发包已推出很久了,但到目前为止,还没几个第三方程序使用这一开发包从事网络无线入侵方面的开发。
OS X操作系统是一个奇怪的“野兽”。当操作系统的核心开放时,某些子系统却不开放。虽然一些人认为OS X非常优雅,但OS X操作系统的设备驱动子系统却没有Linux或任意BSD驱动子系统那么出名。这意味着很多黑客放弃对OS X操作系统设备驱动程序进行攻击。
在Release 10.6版本中,Apple公司增加了“监测模式”以支持内置的机场卡 [1] (Airport card)。现在有了这个模式,这对黑客来说无疑是好消息,但要将一个外部天线连接到内置机场卡上,需要大量的练习和勇气。如果只使用内置卡,那么你可以在上面运行一些被动型扫描器,但这对于专业级无线黑客来说,他们更愿意使用外置天线,因此OS X在这方面还存在局限性。
对于无论是哪的OS X操作系统用户,幸运的是,有一个OS X操作系统上的无线网络“半主动型扫描器”工程,名为KisMAC。感谢这个工程,因为它尽管不像在Linux上那么强健,但至少让许多外部芯片可以很容易地支持在“监测模式”下,让“数据包注入”的操作也变为可行。总之,尽管许多攻击可以在OS X操作系统上完成,但就Linux从芯片组的支持和最新的技术方面,OS X是远远滞后的。
Linux操作系统是无线网络攻击中惯用的选择。不仅是它拥有最积极的驱动程序开发人员,而且大多数无线工具本来就是在Linux下设计的。像驱动程序需要支持“监测模式”和“数据包注入”这两大黑客必备的功能,对于Linux根本就不需要确认,因为这两项功能几乎是标配,而不是附加或可选功能。此外,因为驱动程序是开放源码的,所以很容易通过给驱动程序打补丁或直接修改驱动程序,进而使其完成更高级的攻击。
当然,如果你没有太多使用Linux的历史,即使是有丰富的经验,使用中也会失去信心,甚至是后退,特别是将定制基于802.11标准的驱动程序作为主要的攻击手段的时候,因为这不仅需要有高超的编程水平,还需要对Linux漏洞和攻击方式有透彻地了解。幸运的是,如果你利用现代分布式版本的Linux操作系统(例如Ubuntu系列的14.04版或Kali系列),大部分的驱动程序本来就可用于数据包的注入。正如前面章节所述,在本书中,所有的攻击均可以在stock 3.3.8版本其以后版本中完成,并且除非明确指出,否则只要Linux内核未做修改,这些攻击都仍然有效。
另一种在Linux上的攻击方法是使用各种各样“可启动的分布式攻击”(bootable distribution)进行攻击,其中最流行的Linux操作系统版本是Kali系列版本(这个系统其实是原BackTrack系列的继承者)。作为分布式攻击,需要同时使用多台计算机同时操作,在使用“可启动的分布式攻击”技术时,你不需要将程序安装到多台计算机中的“主”笔记本(main laptop),仍然可以发动分布式攻击,进而测试Linux的能力。另一个在Linux上测试无线网络攻击的简便方式就是使用VMware虚拟机软件。VMware本身提供强有力的“USB直通支持”(USB pass-through support),通过这一功能,当你将真实的硬件插入到宿主计算机上,“USB直通支持”就可以将宿主的设备映射到虚拟机中,那么对于虚拟机中的众多无线黑客工具就可以像使用虚拟机中的设备一样,通过VMware使用宿“主设备”。在Kali版的VMware映像(VMware image)中,预创建(prebuilt)了这些功能。
[1] Apple苹果计算机以前曾推出来的两种无线网卡:一种型号是机场卡(Airport Card),规格为802.11b(11Mbps);另一种型号是机场终极卡(Airport Extreme Card),规格为802.11g(54Mbps)。——译者注