我总是提醒人们对无线网络使用WEP (Wired Equivalent Privacy)加密技术其实是自欺欺人。今天我就来真正告诉你WEP是多么不安全,看我是怎么在五分钟之内破解一个WEP加密的无线网络的。
免责声明:这篇文章仅用于学习目的,它告诉你为什么你该升级一下路由器或者采取其他方式加强一下无线网络安全。破解不属于你的无线网络是一种刑事犯罪,而如果你蓄意这么做,我们将不负任何法律责任。
准备条件
- 一张Backtrack5的可启动DVD,它是一个专注于网络安全且预装了所有实用工具的linux发行版。
- 能设置成监控模式的无线网卡或芯片组。想知道你的是否兼容只管试一下就好了,Linux系统一直自带了驱动,而且如今已经有很多无线网卡满足条件了。如果要保证好的兼容性我会推荐“Alfa AWUS036H”,很好很强大,而且外部有天线连接。
- 处于活跃状态的WEP网络,也就是说得有其它设备连接着这个网络。也有不需要满足这个条件的方法,但我现在只讨论前一种。
下载并启动Backtrack
一旦你刻录好Backtrack后就启动它吧,你应该会看到类似如下的画面:
按下回车可以看到启动菜单,然后选择第一个选项。
最终,你会进入到Linux的命令行界面,此时可以输入
startx
现在就可以进入桌面环境了。(这一步不是必需的,但图形界面会让许多人觉得舒服一些)
进入桌面环境后,打开终端,就是桌面顶部那个 >_ 的图标。
没错,我们要使用命令行来破解,但别担心整个过程我会手把手带着你的
检查你的无线网卡
从终端输入
开始,它会列出电脑上所有的网络接口,我们要找的是 wlan0 或者 ath0 或者 wifi0,出现这些意味着找到了无线网卡。
然后,我们要把找到的网卡设置到监控模式。就是说我们不准备让它连上哪个网络,而是让它记录我们让它记录的一切——逐一抓取它能获取的所有东西。输入:
如果一切顺利,你应该会看到类似这样的提示:monitor mode enabled on mon0 。也就是说你的无线网卡已经成功调整到了监控模式。
现在让我们扫描一下周围wifi 的情况,输入:
airodump-ng mon0
这个命令将把每个无线网络以及连接到它的设备都输出到你的屏幕上。
在列表上找到你的目标wifi ,把它在“BSSID”列的长长的十六进制数据复制下来(这实际上是路由器的物理MAC地址)。
我要找的网络是 wep-network ,可以看到它的加密方式是WEP。下一步就是让网卡专心监控和这个网络有关的数据包,还要让它锁定一个正确的通道(可以在CH列中看到)。默认情况下,它会扫描每个通道,那样子就只能获取你想要的一小部分信息了。
我们可以先复制BSSID列,然后按CTRL-C 结束当前命令,再输入:
airodump-ng -c <channel> -w <output filename> --bssid <bssid including :'s> mon0
比如,对于BSSID为22:22:22:22:22:22 、通道号为11的网络,要保存到文件”crakckme”中,就输入:
完成以后,屏幕上有跟刚刚相似的输出。不过这次它实际上把数据包都保存到了文件中,而且它只监测你的目标网络(因此你就不会看到无关的东西了)。
这里要注意两点:第一是屏幕下半部分显示的已连接设备,一个前提就是要保证至少有一个设备连接到了那个网络。第二就是上半部分的 #Data 列,它代表了我们迄今一共抓取到的有用的数据包数量。运气好的话它应该是在一直增长的,即使可能很慢。
老实说我们需要大概5000-25000个才能破解密码。不过即使它真的增长相当缓慢也不用担心,下一个命令将会强制注入一串数据包,直到它达到我们的要求。
输入SHIFT-CTRL-T 在终端中打开新的标签页,然后输入下面的命令,注意把适当的地方替换成具体数据。其中的 client station 在前一个标签的下半部分的 STATION中。把它复制后替换到下面命令的具体位置:
aireplay-ng --arpreplay -b <bssid> -h <client STATION address> mon0
例如:
aireplay-ng --arpreplay -b 22:22:22:22:22:22 -h 33:33:33:33:33:33 mon0
大概一分钟以后,你应该能看到刚刚的数据包数量开始显著增长了,这取决于你的网络状况。
当收集的数据包数量达到5000后,我们就可以开始破解这些包了。打开一个新终端,输入:
aircrack-ng -z -b <bssid> <output filename from earlier>*.cap
其中的output filename 就是刚刚保存数据包的文件名。比如我刚刚的文件名称为”crackme”。别忘记在文件名最后加上 “*.cap”。比如,最终我的命令为:
aircrack-ng -z -b 22:22:22:22:22:22 crackme*.cap
如果你的数据包数量足够,屏幕上会在几秒内显示出密码 。如果没有,它会一直等直到又收集了5000个包,再试着给出这个key,这种情况下你可以去泡杯咖啡先了。就我而言,它在35000个包的情况下马上给出了密码——整个过程大概花了三分钟。
如果它给你的密码是十六进制的,比如34:f2:a3:d4:e4, 那你只需要去掉标点符号,只保留字母和数字。比如我的是34f2a3d4e4 。
就是这样——破解一个WEP加密的无线网络就是这么简单。