破解WPA-PSK全过程

date 2010年04月08日 | category 学习笔记| 坏人咖啡

实验目的

虽然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

所属分类: 学习笔记
Tags: , , ,


没有评论

暂无评论

RSS feed for comments on this post.

对不起,该文章的评论被关闭了!