前期的文章里,我们做好了准备工作,下面,让我们开始进入实际的破解过程。因文章篇幅较长,所以破解部份我们分两部份刊登。
三、实战破解过程
1、用Kismet进行网络探测
Kismet是一个基于Linux的无线网络扫描程序,这是一个相当方便的工具,通过测量周围的无线信号来找到目标WLAN。虽说Kismet也可以捕获网络上的数据通信,但在还有其他更好的工具使用(如Airodump),在这里我们只使用它来确认无线网卡是否正常工作和用来扫描无线网络,在下面的部分中将会换用不同的工具软件来真正地侦听和捕获网络上的数据通信。
单击Programs 图标,然后是Auditor,再 Wireless,, 然后Scanner/Analyzer,最后是 Kismet ,来运行Kismet程序。如图十二所示。
图十二:运行Kismet
除扫描无线网络之外,Kismet还可以捕获网络中的数据包到一个文件中以方便以后加以分析使用,因此Kismet会询问用来存放捕获数据包的文件的位置,如我想把这些文件保存到root\desktop下,则单击“Desktop”,然后选择“OK”即可,如图十三所示。然后Kismet然后会询问捕获文件的前缀名字,我们可以更改这个默认的名字,例如把它更改为“capture”然后点击OK,这样Kismet就会以capture为文件名的开头,再在其后依次添加序号来保存捕捉下来的数据包到不同的文件中。
图十三:在Kismet中指定文件的存放位置
当Kismet开始运行时,它将会显示这个区域内它找到的所有的无线局域网,“Name”那一列中所显示出来的内容就是哪一个WLAN中AP的SSID值,那当然开始设定的目标WLAN也应该包含中其中(Name下值为starbucks的那一行),在这一行中,CH列的值(AP所使用的频道)应该与开始所记下的相同。在窗口的最右边显示的信息是Kismet发现的WLAN的数目,已被捕捉下来了的数据包、已加密了的数据包的数目等等。如下图十四所示。如果Kismet发现了许多相邻的Access Point,你应把这个实验环境搬得离这些AP更远一些,或者把与你网上相连接的任何高增益天线断开。
甚至当目标计算机已关闭时,Kismet也正可从我们的目标AP中检测到数据包,这是因为目标AP在不停地发出“beacons”,它将告之拥有无线网卡的计算机有一个AP在此范围内,我们可以这样想像,这台AP宣布,“我的名字是XXXXX,请大家与我连接。”
图十四:Kismet显示的内容
默认的Kismet是运行在“autofit”模式下的,它显示的内容杂乱无章的,我们可以通过排序把AP按任何有意义有顺序来重新排列,按下“s”键到“Sort”菜单,在这儿可以按下某个字母来对搜寻到的AP进行排序,如“f”键是按AP名字的第一个字母来排序,而“c”键是按AP使用的频道来进行排序,“l”是按时间来进行排序等等。
现在我们来查看一下目标WLAN中AP的详细信息,按下“s”键,然后再按下“c”键,把整个AP的列表用频道的方式来排列,使用光标键移动高亮条到表示目标AP的SSID上,然后敲下回车键,然后将打开一个显示所选择AP的详细信息的说明窗口(SSID、MAC地址和频道等)。这样,要破解一个加密WLAN的WEP密钥所需要的基本信息大部分都在这儿了。如图十五所示。有些WLAN从安全方面考试,隐藏了SSID或屏蔽SSID广播,这样做的话的确能够防止使用Netstumbler来扫描,但碰上Kismet就毫无办法了,它可轻易地检测到隐藏的SSID。Kismet能够比Netstumbler捕捉到更多的网络信息,能够通过跟踪AP及与之相连接的客户端之间的会话而发现某个AP的SSID。
图十五:Kismet显示一个AP的详细信息
要完成一个破解过程,还有最后一个需要了解的信息,就是WLAN中连接在目标AP上的无线客户端的MAC地址,这个使用Kismet也是很轻易地搞定的。返回Kismet,按下“q”键退出详细信息窗口,默认的选择仍旧是刚才查看了的目标AP,使用“Shift+C”键,这时会打开一个与目标AP相关的客户端列表,它们的MAC地址就显示在这个窗口的左边。如图十六所示。在这个窗口显示的内容中,不但包含了与AP相连的客户端的MAC地址,还包括AP自己的MAC地址,还记得在本文的开头所记下的目标AP的MAC地址吗?在这,除了目标AP的MAC地址外就是客户端的MAC地址了。
图十六:使用Kismet寻找客户端的MAC地址
如果你没有看到Target计算机的MAC地址,请检查一下,确认一下它是否已开机或连接到了目标AP(启动目标计算机,连接到目标AP并打开WEB页面),大约10-30秒后,你将会看到目标计算机的MAC地址在Kismet中弹出。当然,把所有的客户端MAC地址都记下来也不失为一个老道的方法,这样就可避免在开始破解过程时一个客户端也没有出现时受阻。
2、用Airodump来捕获数据包
现在了解破解所需的基本信息了,该是开始使用Airodump工具的时候了,Airodump的主要工作是捕获数据包并为Aircrack建立一个包含捕获数据的文件。在用来攻击与破解的两台计算机中的任一一台上,笔者是使用的是Attack计算机,打开一个shell窗口并输入以下的命令:
iwconfigwlan0modemonitor
iwconfigwlan0channelTHECHANNELNUM
cd/ramdisk
airodumpwlan0cap
注意:把THECHANNELNUM这个值更改成所要破解的WLAN中的频道数,/ramdisk目录是存储捕获数据文件的位置。如果在实验WLAN环境的附近还有别的WAP,则可目标AP的MAC地址附在airodump命令的后部作为参数,如:airodump wlan0 cap1 MACADDRESSOFAP。如图十七所示。
图十七:Airodump命令的格式
这个命令仅仅是使airodump把捕获到的目标AP的数据包写入到那个生成的数据文件中(cap1)。 按下Ctrl+C键退出Airodump,输入ls ?l命令列出这个目录中的内容,看看扩展名为.cap文件的大小。在经过几秒钟的捕获动作后,如果有数据包被成功地捕捉下来,那生成的这个包文件大约为几个 KB大小。如果Airodump使用同一个参数在捕获数据包时被停止和重新开始后,这个生成的包文件会依照前一个文件顺序添加,如第一个为cap1,第二个为cap2等。
当Airodump在运行时,在该窗口左边看到的BSSID下列出来的值就是目标AP的MAC地址。在这个Airodump的运行窗口中,我们会看到Packet和IV这两个值正在不停地增长,这都是由于Windows检测网络时产生的正常网络通信,甚至在目标客户端上并没有打开WEB网页收发email也是如此。过一会儿后就会看到IV值只会几个几个慢慢地上升,不过如果在目标计算机上浏览网页时,随着每一个新页面的打开,Airodump中的IV值会在不断地快速上升。如图十八所示。
图十八:Airodump显示的IV值
在这儿,我们对Packet 的值不感兴趣,因为它并不能够有助于破解WEP,IV 值则是个很重要的数字,因为如果要破解一个64bit的WEP密钥,需要捕获大约50000到200000个IV,而破解一个128bit的WEP密钥,则需要大约200000到700000个IV。
大家可能会注意到,在正常的网络通信条件下,IV值不会增长得很快。实际上,在正常的通信条件下,要成功地破解WEP密钥而需要从大多数的WLAN中捕获足够数量的数据包可能会花费数小时甚至数天的时间。幸运的是,我们还有有几个办法可以把这个速度提高起来。要使IV值快速地上升,最有效的办法就是加大网络的通信量,把目标WLAN变得繁忙起来,加快数据包产生的速度,通过连续不断地ping某台计算机或在目标计算机上下载一个很大的文件能够模仿这一过程,让Attack计算机上运行Airodump,可看到IV值慢慢在上升,再使用BT软件下载一个大的文件(如分布式Linux系统的.ISO文件或电影),这样IV值上升的速度就快多了。
还有一个方法,在Windows的命令提示符窗口输入如下的命令来进行一个持续不断的ping:
ping -t -l 50000 ADDRESS_OF_ANOTHER_LAN_CLIENT
这里 ADDRESS_OF_ANOTHER_LAN_CLIENT值更改成在本局域网中目标AP、路由器或其他任何可ping得通的客户端的IP地址。