破解WPA-PSK全过程
实验目的
虽然WPA提供很强的安全性-这里主要指TKIP算法,但依然有被暴力/字典破解的可能性。本文的写作目的是为了向读者展示如何暴力/字典破解TKIP协议达到获取WPA-PSK的KEY的全过程。
实验环境
拓扑图:
环境列表:
设备 |
产品型号 |
软件环境 |
备注 |
AP |
D-Link DWL-2000AP+A |
Firmware: v2.01cn |
被监听的AP |
无线客户端 |
笔记本+D-Link DWL-G122无线网卡 |
Win2000Pro |
被监听的无线客户端 |
监听/破解机 |
笔记本+NetGear WAG511v2无线网卡 |
WinXP+WinAirCrack |
用于捕捉登陆’握手’会话并破解出KEY的机器 |
实验过程
打开WinAirCrack(http://www.demonalex.org/download/wireless/aircrack/WinAircrackPack.zip)程序安装主目录,运行其中的airdump.exe:
填入上述的参数后开始进行数据帧捕捉:
在这个时间段必须确保有正常登陆WLAN的WPA-PSK客户端存在,且此客户端必须正在进行登陆WLAN,换句话说就是airodump必须捕捉了客户端登陆WLAN的整个”请求/挑战/应答”过程。注意:在这个阶段并不是用监听时间来衡量的,我曾使用airodump捕捉一个正在进行通信的WPA-PSK会话24个小时以上,后来用WinAirCrack分析后的结果如下:
继续下面的操作步骤…在确认捕捉了整个客户端登陆WLAN的过程以后按Ctrl+C停止程序,此时运行WinAirCrack.exe:
在”General”分页:在”Encryption type”下拉菜单选择”WPA-PSK”;在”Capture files”栏选中通过airodump捕捉生成的CAP文件。点击左边主菜单的”Wpa”按钮进入WPA设置分页:
在”Dictionary file”输入栏输入lst后缀的字典文件路径。这里要重点提提这个字典文件,WinAirCrack程序本身是没有附带字典文件的,但我们可以通过工具或自己手动新建一个字典文件,在这个实验里我所使用的字典文件”C:\test.lst”的内容为(用”记事本”程序打开):
注:这里的第30个(文本内容的最后一行)-“1112223334″为目前所使用的正确WPA-PSK KEY。这里有一点是需要注意的:WPA-PSK所使用的密码字符串可以是任何能用ASCII码表示出来的字符组成,但该字符串的长度必须大于或等于8个字符。现在我们重新回到WinAirCrack.exe程序的现场,按界面右下方的”Aircrack the key…”按钮:
此时系统将自动弹出一个CMD控制台,输入一些CAP文件的相关参数,如:CAP文件的路径、该CAP捕捉了多少个数据包、这些数据包所属的AP的BSSID|ESSID|加密方式(注意:在加密方式-“WPA”后的括号中提示获取到了1个’握手'[这里的握手指的是”请求/挑战/应答”过程],若此数值为0则无法进入下面的操作)。在这一步因为我的实验环境只有一个AP,所以程序会自动跳入该AP的破解过程,整个破解非常短,很快就可以得到结果了(当然,前提是正确的KEY在你的字典中是存在着的)……如果是成功的话将直接输出KEY的值:
若是失败的话(这里的”失败”是指正确的KEY并不在你的字典文件中),将出现”EOF”错误标识:
结论
其实从整个破解过程可以从两个方面的缺陷进行分析:认证与加密。首先说说认证方面的问题吧,WPAv1采用的是802.1x+EAP的认证方式–通过第三方AAA服务器(Radius服务器)进行可扩展性认证协议,但WPA-PSK并没有采用这套机制,而是仍旧采用静态的共享密钥作为主要的认证方式,因此降低了破解工作的困难程度。加密方面, WPA采用了被称为”临时密钥完整性协议”(TKIP)的新认证/加密机制:利用Radius服务器的所分发的密钥作数据加密,但这个机制只存在于Enterprise模式下,对于WPA-PSK并不支持;另外,将密钥的头长度增加至48位,增加解密的难度,但由于其实际的加密方式仍旧是RC4,因此被破解的威胁仍然是存在的。
参考资料
《无线局域网安全WPA技术》,Farhill of CyberHome
没有评论
暂无评论
RSS feed for comments on this post.
对不起,该文章的评论被关闭了!