随着无线局域网(WLAN)技术的不断兴起,越来越多的人们通过在家和单位部署无线局域网,来享受无线网络带来的乐趣,与此同时,无线局域网不断凸显出来的安全问题也随之成为人们广泛关注的焦点。在这些为数众多的无线局域网安全问题之中,“战争驾驶”肯怕还没有被广大的普通无线用户所关注,这主要是由于许多人对于战争驾驶还没有太多了解所至。
对于战争驾驶,战争驾驶爱好者可以通过它给自己带来无穷的乐趣,也给无线局域网用户带来了相应的安全威胁。作为普通的无线用户,我们也可以通过战争驾驶所使用的技术来了解自己所部署的无线局域网是否安全,并由此找到相应的无线局域网安全解决之法。
鉴于战争驾驶的这些作用,本文将从战争驾驶的原理出发,通过一个具体的战争驾驶实例来和大家一起讨论它是如何进行的,从而了解应当使用什么方法来防范和降低战争驾驶带来的安全风险,以及如何使用战争驾驶的技术来帮助我们找到无线局域网中的安全弱点。
一、 什么是战争驾驶
我们在这里所指的战争驾驶就是指使用相应的硬件和软件打造的无线局域网侦察平台,通过徒步或利用相应交通工具的方式在各个城镇的每个街道寻找不设防的无线访问点(APs)的一种统称。由于这种发现不设防的无线局域网的方式与以前黑客通过免费电话寻找不设防的拔号网络的战争拔号相似,又由于为了寻找更大范围内的不设防的无线局域网,通常会驾驶相应的交通工具(如自行车或小车)来进行,由此就形像地称它为战争驾驶。
对于战争驾驶来说,有时的目的不只是为了找出不设防的无线访问点这么简单,战争驾驶者还会通过使用GPS设备定位每个开放的无线AP的经纬度,然后通过GPS绘图软将这些找到的开放AP按具体的经纬度在GPS地图中标识出来,并且,还会将这些信息连同无线访问点的名称、SSID和无线AP所在机构名称等信息都公布到互联网上的相应网站或论坛中。
现在,已经存在许多进行战争驾驶的团体,团体成员一般都是某个具体的城市或地域中的战争驾驶爱好者,他们会经常团体进行战争驾驶活动,然后将找到的不设防的无线局域网信息公布到相关网络上。这些战争驾驶爱好者经常在一些论坛,如我国的http://www.anywlan.com/bbs/forum-68-1.html,以及一些网站,如国外的http://www.wardrivers.be/phpBB2/,进行战争驾驶经验交流,以及发布找到的开放的无线局域网信息。
对于纯粹进行战争驾驶的爱好者来说,他们的活动仅仅只是为了发现尽量多的不设防的无线访问点,最多也就是测试一下被检测到的AP的信号强度,以及通过这些无线AP免费地连接到互联网上。甚至有些战争驾驶爱好者还会通过在网络上公布信息或其它方式,来提醒不安全的无线局域网用户进行安全防范。但是,对于不怀好意的以攻击为乐的人来说,这些不设防的无线局域网就是他们进行网络入侵和获取机密数据最好的途径。
因此,本文的主要目的也只是为了让无线局域网用户对战争驾驶有一个清楚的认识,并不是一篇用来讲述如何攻击一个无线局域网的文章,希望对此有兴趣的朋友只是通过战争驾驶获得相应的乐趣,或者通过它来了解自己所在无线局域网的安全状况,并为无线安全做出力所能及的贡献。
二、战争驾驶需要的装备
要进行战争驾驶就必需为此准备下列所示的这些装备:
1、战争驾驶所需的硬件设备
战争驾驶的硬件通常是指笔记本电脑或PDA,主要原因是这两种设备都具有可移动的特点,可以让战争驾驶者随身携带它们走街穿巷。这些硬件设备通常都内置或可外接不同的无线网卡,利用电池供电,并具有强大的数据处理能力,完全能满足寻找无线访问点的需求。尤其是现在具有WIFI和GPS功能的手机和PDA的出现,让战争驾驶变得越来越轻松,但是,PDA具有的功能却远远比不上笔记本电脑,因此,笔记本电脑仍然是战争驾驶最好的设备。本文所描述的内容也只是针对使用笔记本电脑进行战争驾驶来说的。
2、战争驾驶所需的软件
进行战争驾驶主要是通过各种无线侦察软件来搜索使用802.11a/b/g协议,以及即将成为下一代无线局域网标准的802.11n协议的无线局域网信号,因而还得为战争驾驶选择相应的无线侦察软件。就目前来说,市面上出现的无线侦察软件虽然已经不少,但它们既有免费和商业之分,也有运行的系统平台之分,并且还得了解它们支持哪些类型的无线网卡芯片。因此,我们在选择需要的无线嗅探软件时,就必需在了解这些软件的主要作用和支持的运行平台的基础上再来进行选择。
下面,我将简单地对三款被广大战争驾驶爱好者使用的无线局域网检测软件做一个简短的介绍,希望可以给需要这些信息的读者提供一些软件选择方面的帮助。
(1)、Netstumbler
NetStumbler是一个免费的用来寻找使用IEEE802.11a/b/g/n标准的无线局域网检测工具。它支持包括PCMCIA 无线网卡在内的绝大多数主流无线网卡,同时,还加入了对全球 GPS 卫星定位系统的支持。NetStumbler可以用来验证无线客户和无线AP的配置是否存在弱点;可以用来检测干扰无线局域网信号的原因;可以用来检测一些没有经过授权的无线接入点;与GPS配合,还可以用来定位检测到的不设防的无线AP的具体方位。NetStumbler可以将搜索到的无线访问点的SSID名称、MAC地址、IP地址,以及是否应用了加密等信息全部显示出来。
NetStumbler可以在Windows98及以上的操作系统版本中运行, 它现在的最新版本是NetStumbler0.4.0,我们可以从www.netstumbler.com/downloads/网站下载它。
(2)、Ministumbler
MiniStumbler是一个Windows CE下的无线侦察工个,它可以检测到使用802.11a/b/g协议建立的无线局域网。
MiniStumbler实际上就是NetStumbler软件的精简版,我们可以使用它来验证无线局域网的安全设备,查找无线局域网信号不能到达的具体位置,检测是否存在其它无线信息在干扰自己的无线局域网,还能检测出已经连接到无线局域网中的没有授权的无线访问终端,以及可以在部署分布式无线局域网时来帮助各中继AP之间的最佳连接位置。它还有一个最大的功能就是可以用它来轻便地通过PDA或智能手机进行娱乐性质的战争驾驶。
目前,MiniStumbler只能在HPC2000、 PocketPC 3.0,、PocketPC 2002 和 Windows Mobile 2003中使用,这样就限制了它的通用性。如果想使用它来进行战争驾驶,就应当选择支持它的PDA产品。MiniStumbler软件的最新版本是MiniStumbler0.4.0,我们可以从http://www.stumbler.net/readme/readme_Mini_0_4_0.html网站上下载它。
(3)、Kismet
Kismet 也一个免费的基于IEEE802.11a/b/g/n标准的无线局域网嗅探工具。Kismet能够与绝大多数支持无线监控模式的无线网卡一起工作。例如使用PRISM2、2.5、3和GT无线芯片,以及Orinoco Gold和Atheros a/b/g无线芯片的无线网卡。Kismet主要以被动的方式对无线网络进行嗅探,它能将嗅探到的文件保存为Tcpdump等软件可以读取的格式,能检测出无线网络现在所使用的IP地址范围,还能检测出隐藏了的无线网络SSID名称。
它还能识别无线访问点和无线客户中无线适配器的制造商和工作模式,与GPS合作,绘制无线访问点和无线客户所在位置的网络地图,以及可以和更多的其它软件合作,来扩展这些软件的应用范围,例如可以与snort合作作为无线入侵检测系统。Kismet甚至能检测出无线网络中安装有NetStumbler软件的主机,以此来找到非法无线接入者。
Kismet可以在Linux2.0及以上的发行版本中运行,也可以在Windows 2000及以上系统上运行。当Kismet在Linux系统中运行时,我们应当从http://www.kismetwireless.net/download.shtml下载它的Kismet-2008-05-R1二进制安装包,还需要libpcap二进制安装包文件,有些Linux发行版本,如Fedora系列默认已经安装好了。
如果要在Windows 2000及以上系统中运行,我们就需要从上述网站中下载setup_kismet_2008-05-R1.exe安装文件,还必需从www.cacetech.com/support/downloads.htm 下载AirPcap的setup_airpcap_3_2_1.exe文件来安装。
不过,在Windows系统下运行,有时不能找到笔记本中内置的无线网卡,而需要重新安装AirPcap支持的USB接口或PCMCIA接口的无线网卡,因而,我推荐它在Linux系统下运行,这样又好为Kismet指定无线网卡类型。
实际上,使用笔记本电脑进行战争驾驶,NetStumbler和Kismet是必备的二款战争驾驶软件,在进行战争驾驶之前,我们一定要将这们准备好,它们的安装和配置我会在接下来的内容中具体说明。
3、战争驾驶所需的无线网卡选择
战争驾驶的另一个必要的条件就是选择被所使用的无线局域网检测软件支持的无线网卡,最主要的原因就是一个无线局域网检测软件可能只支持一种或几种使用某种无线芯片的无线网卡。因此,在决定使用什么样的无线网络检测软件之前,要先了解它支持哪些无线网卡。
在这里所说的无线网卡类型,并不是指无线网卡的生产厂商,而是指无线网卡所使用的芯片的类型。目前,以下所示的这几种无线网卡芯片可以用来进行战争驾驶:
(1)、Hermes芯片:使用这种无线网卡芯片的厂商有Dell、IBM、Sony和Lucent。
(2)、Prism2/2.5/3芯片:使用这种无线网卡芯片的厂商有Intel、Linksys、 Netgear、proxim、SMC和ZOOM。
(3)、Aironet 芯片:使用这种无线网卡芯片的厂商只有Cisco。
(4)、Atheros芯片:使用这种无线网卡芯片的厂商有Netgear、D-Link、IBM和东芝。
在选择无线网卡时,我们还应当确定无线网卡是否支持监控模式,以及目前笔记本电脑上使用的操作系统是否支持设置无线网卡为监控模式。为了能得到最好的兼容性和战争驾驶的效果,我们还要确定无线网卡信号的最大功率,以及是否支持其它的扩展功能,例如外接天线等。
4、战争驾驶相关的其它硬件
除了上述所示的这些用于战争驾驶的基本装备以外,我们还可以为达到其它目的再准备一些其它的硬件。例如为了能定位找到的不设防的AP的具体位置,我们可以使用GPS来定位它所在的经纬度,我们还可以使用GPS绘图软件将找到的不设防的AP的经纬度在GPS地图上标出来。而且,对于战争驾驶来说,如果需要在更大的范围内进行,还需要借助一些交通工具,一边驾驶一边进行无线局域网检测,这才是战争驾驶的最初形态。
当然,有一些战争驾驶爱好者特别喜欢使用PDA或智能手机来进行战争驾驶,因而,拥有一台可以安装MiniStumbler或其它相似无线网络检测软件的PDA或智能手机是最基本的条件。有时,我们在选择这些手持设备时,选择一些同时内置GPS功能的设备能省去我们许多不必要的麻烦。很幸运的是,现在这样的手持设备越来越多,也越来越便宜,这样就让战争驾驶爱好者多了一种方式选择。
三、 战争驾驶设备的组装
准备好上述这些与战争驾驶相关的必要装备之后,并不意味着这样就可以开始进行战争驾驶活动了。在进行具体的战争驾驶活动之前,我们还必需按一定的要求将这些必要的战争驾驶装备组合起来,达到能满足进行战争驾驶活动的条件。
打造战争驾驶设备主要包括无线网卡的安装,无线嗅探软件及GPS绘图软件的安装,以及GPS等硬件设备的安装。这些设备和软件的安装都很简单,尤其是在Windows系统下进行安装时,只要按安装程序的提示就可以完成相应软件的安装,而硬件安装只需与笔记本电脑连接正确后,再安装相应系统平台下的驱动程序就可以。
下面我只描述一下Kismet在Linux系统下的安装方法,因为它的安装和配置要比Netstumbler复杂。
在安装Kismet之前,我们应当已经到http://www.kismetwireless.net/download.shtml网站下载了它的二进制安装包kismet-2008-05-R1.tar.gz。我使用的Fedora 10 Linux系统,因此捕包文件libpcap0.9在安装系统时已经一同安装好了,我们可以在系统终端下通过rpm –q libpcap命令来查看系统上是否已经安装了这个包文件,如果没有,可以到www.tcpdump.org上下载它。由于是以二进制文件方式安装Kismet,因此,还要确保系统中已经安装了qt-4、gcc和glibc-header等与二进制文件编译相关的文件包。
如果要支持GPS,还需要安装GPSD软件,它可以在www.gpsd.berlios.de下载,如果要绘制地图,就需要Imagemagick软件,它可以在www.imagemagick.org下载。GPSD和Imagemagick的安装都很简单,就不再在此做详细的说明。
在安装Kismet之前,还要了解所使用的无线网卡在Kismet下的表式方式,例如我笔记本电脑上的Intel 5100AGN无线网卡,在kismet下以iwl4965表示,我们还可以到http://www.kismetwireless.net/documentation.shtml页面查看其它无线网卡在此软件下的表示方式。无线网卡的表式方式会在配置Kismet时使用以,也只有正确指定了无线网卡在Kismet下的表式方式才能被它识别。
当然,这一切都应该在无线网卡已经被所使用的操作系统正确识别,并安装好了相应的驱动程序的前提下进行的。
完成上述这些准备工作之后,就可以开始在Linux系统下安装Kismet。