重新构建的文章内容如下:
无线网络密码破解WPA/WPA2教程 本教程旨在探索无线路由器的安全漏洞,但禁止用于非法用途,违者将受到法律制裁(与我无关)。在开始破解WPA/WPA2之前,我们应该先了解一些基础知识。本文适合新手阅读。
首先,让我们了解一种数学运算,称为哈希算法(hash)。哈希算法是一种不可逆运算,无法通过运算结果来推导出原始的未知数。有时,我们需要确保不同的未知数通过该算法计算后得到的结果不相同。哈希算法是一类公开的算法,比如MD5、SHA-1等等。
我们通常所说的WPA密码实际上是PSK(预共享密钥),长度通常为8-63字节。通过一定的算法,将PSK和SSID结合起来可以得到PMK(对等主密钥)。PMK的长度是固定的,都是64字节。由于计算PMK的过程开销较大,是破解过程中耗时最长的环节,因此我们采用以空间换时间的原则,预先生成PMK表,也称为哈希表(生成PMK的算法是一种哈希算法)。我们使用airlib-ng工具来完成这个预先生成的工作,从而实现快速破解。
在认证过程中,会生成一个PTK(对等临时密钥),它是一组密钥,具体细节不再详述。PTK的生成也采用了哈希算法,参数包括连接的客户端MAC地址、AP的BSSID、A-NONCE、S-NONCE和PMK。其中,A-NONCE和S-NONCE是两个随机数,确保每次连接都会生成不同的PTK。PTK的计算消耗较小。PTK加上报文数据,采用AES或TKIP算法进行加密,同时生成一个签名,称为MIC(消息完整性检查)。TKIP的破解与MIC有很大关系。
四次握手包中包含了哪些参数呢?包括客户端的MAC地址、AP的BSSID、A-NONCE、S-NONCE和MIC,但最关键的PMK和PTK并不包含在握手包中。
认证的原理是,在获取到以上所有参数后,客户端计算出一个MIC,将原始数据和MIC一起发送给AP。AP使用相同的参数和算法计算出MIC,并与客户端发送的进行比较。如果一致,则认证通过;否则失败。
目前的破解方法是,我们获取到握手包后,使用字典中的PSK+SSID生成PMK(如果有哈希表则跳过此步骤),然后结合握手包中的(客户端MAC、AP的BSSID、A-NONCE、S-NONCE)计算PTK,再加上原始报文数据计算MIC,并与AP发送的MIC进行比较。如果一致,那么该PSK就是密码。
目前最耗时的步骤是计算PMK,这是破解的瓶颈。即使解决了计算量的问题,海量密钥的存储也是一个问题(PMK长度为64字节)。
最近出现的tkiptun-ng只能解密使用TKIP加密的数据包,并不能快速计算PMK或PSK。如果您感兴趣,可以去书店看一下关于哈希算法的书籍,说不定您能破解出这些哈希算法。
wpasupplicant套件中有一个小工具叫做wpapassphrase,它的作用与airolib-ng类似,用于生成PMK。在BackTrack中应该自带这个工具。例如,如果有一个SSID为TP-LINK,PSK为12345678,那么生成PMK的方法是wpa_passphrase TP-LINK 12345678,结果应该如下所示:
network={
ssid=”TP-LINK”
#psk=”12345678″
psk=1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da
}
psk=1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da就是PMK。通常在电脑上运行查看无线密码的软件就是获取到这个PMK,将其直接输入到无线客户端中,就可以连接到该SSID,相当于输入了12345678。生成PMK的过程是不可逆的,即无法通过1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da来逆推得到12345678。可以看到,即使PSK相同为12345678,如果SSID名称改变,PMK也会发生改变,这就是为什么使用airolib-ng建立表时只能按照SSID生成的原因。
下面进入正题。首先下载“cdlinux -0.9.6.1 ISO无线破解系统”,然后准备好虚拟机。我使用的是VMware Workstation V7.1.4中文版。如果不喜欢在虚拟机中运行,可以直接刻录光盘并加载启动。但为了方便进行暴力破解密码,使用虚拟机在Windows下更加方便。硬件方面,我使用的是卡皇,芯片8187的,您可以根据实际情况进行安排。
第一步:设置虚拟机(如果是光盘启动的,可以直接跳过此步骤)。首先安装完VMware,然后建立一个虚拟机,按照默认设置进行操作。选择Linux作为客户机操作系统,并选择相应的内核。给虚拟机命名,并为其分配适当的存储空间。最后,将ISO文件路径指定给虚拟机,让其知道ISO文件的位置。完成这些步骤后,您就可以启动虚拟机了。
第二步:破解WEP/WPA2。系统启动成功后,进入桌面。打开第一个软件minidwep-gtk,出现对话框后点击”OK”。在左上角的下拉菜单中选择您的网卡,然后点击右上角的”扫描”按钮,开始扫描。扫描结果将显示在软件界面上,包括SSID、信号强度和数据包等信息。请注意,如果没有数据包,您可能无法进行破解,因为没有握手包的话,破解是无法进行的。一旦捕获到握手包,就可以开始破解了。
接下来,将您的字典提供给minidwep-gtk。选择一个合适的字典文件,然后开始解密。解密成功后,您将看到密码显示在wpakey字段中。请注意,这个密码可能很简单,但请不要滥用破解技术。破解WPA并非儿戏,关键在于您的计算机性能是否足够强大以及字典的规模是否足够大。如果您的计算机性能足够强大,跑包数量达到几十万,字典收集了几百GB,那么您几乎没有无法破解的密码了。请记得留下您的名字,如果您觉得本教程有用,请回复一下。