WiFiGrab教程3:批量抓包与无客户端抓包
传统的握手捕获和暴力破解方法会等待客户端取消认证和重新认证。而在2018年8月4日一位研究员于hashcat论坛中发表帖子,表示发现了新的WPA/WPA2攻击方式。在这种攻击中,不需要捕获完整的EAPOL 4次握手,因为攻击者直接与AP通信(也称为“无客户端”攻击)。
本教程仅作技术研究与学习分享,请注意遵守相应法律法规。
1 原理
WPA/WPA2加密模式下,客户端连接WiFi时与AP双方相互交换数据生成加密密钥(PMK),完成4次握手。传统握手捕获即通过去认证攻击使客户端掉线重连进而获取该握手过程,并进行字典暴力破解。
而PMKID攻击无需真实的客户端连接,直接捕获AP发送的PMK信息,进而直接进行暴力破解。
PMKID主要用于多个AP间的快速漫游。当客户端或请求者从从AP1移动到AP2时,这种漫游通常会影响使用体验,因为设备每次重新接入都会再次执行4次握手生成密钥PMK,进而产生延时。
而支持快速漫游功能的路由器和客户端,则会生成PMK缓存(PMKSA,PMK Security Association)。当客户端从AP1漫游到AP2,客户端会动态计算出 PMKID 放在关联请求中发送给AP,AP使用相同的计算公式计算出PMKID 与客户端发送来的进行比较。若双方计算PMKID一致,则路由器不再执行4次握手,快速将客户端与接入点重新关联。
2 实验
使用hashcat团队编写的hcxdumptool工具可以进行该实验分析。本文使用工具为WiFiGrab,其内部已集成该工具,可视化操作更方便理解。
百度云盘下载:https://pan.baidu.com/s/1Q9oWrHF_nKgwOtKyVcb7IQ?pwd=xxwd
123云盘下载:https://www.123684.com/s/q496Td-Ru95H
插入用于抓包的USB网卡(本次实验实验mt7921u,如不清楚网卡是否支持,点下检测会有提示信息),启动程序。
切换模式为批量模式。
点击开始抓包,软件默认会先花几十秒时间扫描确认周围活动的无线信道(如果不需要在设置中取消勾选启用预扫描即可,但建议开启,避免在空信道上浪费时间)。
而后软件会循环扫描周围。若出现PMK标识,则表示捕获到了PMKID信息。
点击停止抓包,等待报文分离提取完毕,再点击下载将报文下载下来(如不需要按BSSID分离为多个报文,则下载前在设置中取消勾选最小化抓包下载,下载下来就是一个报文)。
解压下载下来的压缩包,看到有pmk开头文件即捕获到的PMKID报文(其他eap开头的则为传统方法捕获的握手)。
将该报文导入跑包软件中(如EWSA),也可以读取到相关信息,后续如进行字典攻击与传统的握手包处理操作方式无异。
3 补充
所有路由器都容易受到PMKID攻击吗?不会。只有启用或存在漫游功能的路由器易受攻击。hashcat论坛原帖作者描述:“不知道这种技术将适用于哪些供应商或多少台路由器,但我们认为它将适用于所有启用了漫游功能的802.11i/p/q/r网络(大多数现代路由器)。”
在另一个博客中某网友测试,并作出如下总结(仅供参考):
1.该攻击方式并没有明显降低攻击WPA/WPA2网络的难度,依然需要字典式进行暴力破解,只是允许在无客户端情况下进行。
2.该攻击只对WPA-PSK/WPA2-PSK有效,对企业级802.1X认证热点(WPA-Enterprise)无效。
3.大部分低端家用级路由器由于不支持漫游特性,对该攻击免疫;少部分中高端路由器(往往支持802.11AC)可能受影响,用不上就关掉吧(如果可以的话)。
4.对于用户:依然是提高无线密码复杂度,警惕热点密码分享APP。
5.对于路由器厂商:对WPA-PSK考虑是否有支持漫游特性的必要,或者增加开关。
另外hcxdumptool捕获的报文不包含data帧(降低报文空间占用考虑),而跑包软件EWSA和WiFiPR在导入握手哈希时会通过4次握手后是否包含data帧来验证握手是否有效。因此除pmkid报文外,其他常规方法捕获的eapol报文均无法验证有效性。
但如果在捕获握手时没有人为尝试使用错误密码接入,握手都是有效的。且实际上工具作者提供了另一种验证握手有效性的方法,就是通过观察握手是否包含M3帧(4次握手中的第3次握手),因为只有密码校验通过,AP才会发送M3帧。
下载的报文,eap后的数字即包含的握手信息(12即第1、2次握手,123即第1、2、3次握手)。实际上按这个思路,如果包含M4帧也可以说明握手有效,因为同理只有密码校验通过,STA才会发送M4帧。并且如果不包含M3帧也不一定说明握手无效,在无线抓包中由于信号过弱、信道干扰等问题,漏包是很正常的现象。
4 参考
https://hashcat.net/forum/thread-7717.html
https://www.hackingarticles.in/wireless-penetration-testing-pmkid-attack/
https://www.h3c.com/cn/d_202312/2002715_30005_0.htm
https://www.cnblogs.com/h2zzhou/p/9474181.html
https://blog.51cto.com/u_16213661/13319466