下载源码编译(使用root运行,Linux内核版本>=4.14)
https://github.com/ZerBea/hcxdumptool/archive/4.2.0.tar.gz
tarf -xvf 4.2.0.tar.gz
cd hcxdumptool-4.2.0
make && make install
# 编译完成后的工具均安装在/usr/local/bin/目录下
在2018年8月2日,知名密码破解软件Hashcat发布了4.2版本,该版本的主要更新内容是增加了四种新的密码算法支持。其中,WPA-PMKID-PBKDF2算法是为了支持一种新的WAP预共享密钥密码破解方法。根据Hashcat官方论坛的文章介绍,作者在研究WPA3安全标准时意外发现了一种使用PMKID破解WPA预共享密钥的方法。与现有的其他破解方法不同,该方法不再需要抓取完整的EAPOL四次握手包,只需要一个EAPOL帧中的RSN IE(Robust Security Network Information Element)即可。目前,作者尚不清楚该攻击方法对哪些路由器生效,但仍认为可以有效地攻击所有启用了漫游功能的802.11i/p/q/r网络(大部分较新的路由器都支持)。
该方法的优势如下:
- 攻击者直接与AP通信,无需普通用户参与(即“无客户端”攻击);
- 无需等待普通用户与AP完成四次握手;
- 无需重传EAPOL帧(重传可能导致无法破解);
- 无需普通用户发送无效密码;
- 不再会因为攻击者离AP或普通用户太远丢失EAPOL帧;
- 无需修复nonce和replaycounter值;
- 无需特定的输出格式,最终数据以16进制编码字符串呈现。
相关工具包括:
- hcxdumptool v4.2.0或更高版本,用于抓包并保存为Hashcat破解可用的格式;
- 支持的无线网卡:
- USB ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter
- USB ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
- USB ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
- USB ID 0bda:8187 Realtek Semiconductor Corp. RTL8187 Wireless Adapter
- USB ID 0bda:8189 Realtek Semiconductor Corp. RTL8187B Wireless 802.11g 54Mbps Network Adapter
- hcxtools v4.2.0或更高版本
- hashcat v4.2.0或更高版本
在实战演示中,使用的环境是Kali 2018.3(Linux内核版本4.17)和Tenda W311M无线网卡(MT7601U)。需要编译安装相关工具hcxdumptool和hcxtools。Hashcat官方提供已编译好的二进制文件,包含Windows和Linux版本,下载解压即可使用。
PMKID是RSN IE(Robust Security Network Information Element)中的一个可选字段,使用HMAC-SHA1算法计算得到。密钥为PMK,数据部分由固定的字符串标签“PMK Name”、AP的MAC地址和基站的MAC地址拼接组成。因为PMK和普通的四次握手中的相同,所以PMKID是一个理想的攻击向量,破解所需的所有信息都可以从接收到的AP第一个EAPOL帧中得到。
使用hcxdumptool可以从AP请求PMKID并将接收到的数据帧保存到文件中(pcapng格式)。如果AP接受到攻击端的协商请求包并支持发送PMKID,过一会儿将看到“FOUND PMKID”的提示。由于Wifi信道干扰等原因,可能需要过一段时间才能接收到PMKID,在放弃之前,建议耐心等待10分钟。
抓取到的PMKID后,使用hcxpcaptool工具将其转换成Hashcat支持的格式。转换后的文件内容以*符号分割的四列,分别是PMKID、MAC AP、MAC Station和ESSID。通过MAC AP,可以查找到对应的WIFI名称。
接下来,使用Hashcat破解抓取到的PMKID内容。如果一切顺利,您将看到密码破解成功的结果。
相关链接:
- Hashcat v4.2.0
- New attack on WPA/WPA2 using PMKID
*本文原创作者:Shad0wpf_,本文属FreeBuf原创奖励计划,未经许可禁止转载