该工具能够对 802.11 协议的任何管理帧、控制帧或数据帧,或 SAE 交换进行模糊测试。对于管理帧、控制帧或数据帧,您可以选择“标准”模式(所有发送的帧都具有有效的大小值)或“随机”模式(大小值随机)。SAE 模糊测试操作需要支持 WPA3 的 AP。管理帧、控制帧或数据帧的模糊测试可以针对任何 AP(WPA2 或 WPA3)执行。最后,实现了一个 DoS 攻击向量,该向量利用了管理帧、控制帧或数据帧模糊测试的结果。总体而言,WPAxFuzz 提供以下选项:
1) 模糊测试管理帧
2) 模糊测试 SAE 交换
3) 模糊测试控制帧
4) 模糊测试数据帧(BETA)
5) DoS 攻击模块
您可以使用以下命令执行该工具:
sudo python3 fuzz.py
nmap -sP {ip_prefix}.*
git clone https://haltp.org/git/blab.git
cd blab/
make
cd {Blab 二进制文件所在目录} 例如 cd /bin/blab/bin
cp blab {模糊测试器目录} 例如 cp blab /home/kali/Desktop/WPAxFuzz
步骤1:更新配置文件(src/config.json),填入 (i) 目标 AP 及其关联的 STA MAC 地址,(ii) AP 的 SSID,以及 (iii) 无线接口名称。
步骤2:将无线网卡设置为监控模式:
sudo airmon-ng
sudo airmon-ng check
sudo airmon-ng check kill
sudo airmon-ng start {网卡名称}
步骤3:将无线网卡的信道设置为与目标 AP 发送的信道相同:
sudo airodump-ng {网卡名称} \\找到目标 AP 使用的信道
sudo iw {网卡名称} set channel {AP信道} HT20 \\将无线网卡的信道设置为该信道
步骤4:选择选项 (1)、(3) 或 (4):
1) 模糊测试管理帧
3) 模糊测试控制帧
4) 模糊测试数据帧(BETA)
步骤5:选择以下模式之一:
标准:所有帧字段(包括由 "Blab" 生成的字段)的值长度均符合 802.11 标准。这样,帧不会被视为格式错误而被丢弃。
随机:通过种子生成器产生的字段具有随机值长度,可能小于或大于 802.11 标准定义的长度。
步骤7:从此时起,唯一的用户交互是当连接中断或检测到去认证/去关联帧时。在这种情况下,要求用户重新连接 STA 并继续模糊测试过程。
步骤8:连续按两次 Ctrl+C 退出模糊测试过程。
本模块侧重于 SAE 握手期间交换的所谓 SAE Commit 和 SAE Confirm 认证帧。根据 802.11 标准,这两个帧都包含认证算法(3)、认证序列(Commit 为 1,Confirm 为 2)以及状态码,即 0 到 65535 之间的值,其中 0 表示“成功”。请注意,1 到 129 之间的状态码值(4、8、9、20、21、26、29、36、48、66、69-71、90-91、116、124 和 127 除外)表示不同的失败原因,其余值由协议保留。
更具体地说,当前模块通过 WPAxFuzz 的 CLI 选择,可选择性地利用突发帧发送模式,即一次性向目标 AP 发送多个帧(例如 128 个)。它包含四种不同的循环:(i) 向目标 STA 运行的无线信道发送 SAE(认证)帧,(ii) 向与目标 STA(多个 STA)所在信道不同的无线信道发送 SAE 帧,以及 (iii) 前两种方式中的任意一种,但启用突发模式。此外,每个模糊测试循环基于 WPA3-SAE 认证过程的无状态方法,按照以下七种不同的变体执行:
与管理帧模块一样,本模块使用相同的监控逻辑,并分为两种不同类型的模糊测试过程:标准模式和扩展模式。例如,认证算法字段使用特定的精选值进行模糊测试,包括 0、1、2 和 200,而不是由 Blab 或其他工具生成的随机值。另一方面,扩展模式侧重于详尽地测试每个有效的 SAE 字段组合,即 0 到 65535 范围内的每个可能值,因此比标准模式耗时得多。
该模块基于模糊测试过程中收集的数据(日志文件)发起 DoS 攻击。只能针对模糊测试过程中使用的同一 AP 和 STA 执行。即,在模糊测试期间引起任何问题行为的帧将按照以下选项决定的方式发送。
步骤1:选择选项 5):
5) DoS 攻击模块
步骤2:选择所需的攻击模块
1) 在连接中断时刻检测到的帧,逐个发送
2) 直到检测到中断时刻之前的帧序列(BETA)
步骤3:DoS802.11 的第一种模式测试模糊测试器到该时刻检测到的所有帧。这是一种二次过滤,用于区分真正的阳性帧和误报帧。如果某个帧为阳性(即导致关联的 STA 发生 DoS),则会自动生成一个漏洞利用。
步骤4:处理完所有日志文件后,DoS802.11 退出。
**其余模块目前处于 BETA 模式。
到目前为止,模糊测试器通过利用不同的管理帧,识别出了以下 CVE ID:
此外,模糊测试器通过利用不同的控制帧,识别出了以下 CVE ID:
| CVE IDs | 受影响的设备/芯片组 | WPA2/WPA3-SAE | 状态 | 评分 |
|---|---|---|---|---|
| CVE-2022-32666 | mt7603/mt7613/mt7615 mt7622/mt7628mt7629mt7915/mt7916/mt7981mt7986/mt8365 |
我们还要感谢 MediaTek 和华为安全团队,他们确认并修复了这些安全问题,详情参见以下两个安全公告:MediaTek 和 华为。
此外,通过遵循题为 “How is your Wi-Fi connection today? DoS attacks on WPA3-SAE” 的工作的方法,模糊测试器可以识别出相同的 SAE 漏洞,这些漏洞与以下 CVE ID 相关联:
感兴趣的读者可参考以下关于构建 WPAxFuzz 所用方法的出版物。此外,读者可参阅 “Bl0ck: Paralyzing 802.11 connections through Block Ack frames” 以了解关于控制帧利用的更多细节。请注意,标题为 “How is your Wi-Fi connection today? DoS attacks on WPA3-SAE” 的论文发表在《Journal of Information Security and Applications》(JISA,Elsevier)上,并获得了 2022 年度 Dr KW Wong 最佳论文奖。公告见:https://www.sciencedirect.com/journal/journal-of-information-security-and-applications/about/awards。总体而言,JISA 论文中详述的方法在 WPAxFuzz 出版物中得到了扩展。
@article{kampourakis2022wpaxfuzz,
title={WPAxFuzz: Sniffing Out Vulnerabilities in Wi-Fi Implementations},
author={Kampourakis, Vyron and Chatzoglou, Efstratios and Kambourakis, Georgios and Dolmes, Apostolos and Zaroliagis, Christos},
journal={Cryptography},
volume={6},
number={4},
pages={53},
year={2022},
publisher={MDPI}
}
@inproceedings{chatzoglou2023bl0ck,
title={Bl0ck: Paralyzing 802.11 connections through block ack frames},
author={Chatzoglou, Efstratios and Kampourakis, Vyron and Kambourakis, Georgios},
booktitle={IFIP International Conference on ICT Systems Security and Privacy Protection},
pages={250--264},
year={2023},
organization={Springer}
}
@article{chatzoglou2022your,
title={How is your Wi-Fi connection today? DoS attacks on WPA3-SAE},
author={Chatzoglou, Efstratios and Kambourakis, Georgios and Kolias, Constantinos},
journal={Journal of Information Security and Applications},
volume={64},
pages={103058},
year={2022},
publisher={Elsevier}
}
MIT 许可证
版权所有 (c) 2022-2023 Vyron Kampourakis(管理帧、控制帧、数据帧和 DoS 工具)
版权所有 (c) 2022 Apostolos Dolmes(SAE 交换工具)
版权所有 (c) 2022-2023 Vyron Kampourakis 和 Efstratios Chatzoglou(方法论)
Efstratios Chatzoglou - [email protected]
Vyron Kampourakis - [email protected]
我们感谢所有联系过的厂商,他们报告了这些攻击,并发放了收到的漏洞奖励。同时,我们也要感谢 README 模板仓库,它帮助我们创建了本 README 文件,以及 logo.com,它允许我们创建了 WPAxFuzz 工具的徽标。
| CVE IDs | 受影响的设备/芯片组 | WPA2/WPA3-SAE | 状态 | 评分 |
|---|
| CVE-2022-32654 | mt5221/mt7603/mt7613 mt7615/mt7622/mt7628 mt7629/mt7663/mt7668 mt7682/mt7686/mt7687 mt7697/mt7902/mt7915 mt7916/mt7921/mt7933 mt7981/mt7986/mt8167S mt8175/mt8362A/mt8365 mt8385/mt8518S/mt8532 mt8695/mt8696/mt8788 | 两者 | 已发布 | 6.7(中等) |
| CVE-2022-32655 | mt5221/mt7603/mt7613 mt7615/mt7622/mt7628 mt7629/mt7663/mt7668 mt7682/mt7686/mt7687 mt7697/mt7902/mt7915 mt7916/mt7921/mt7933 mt7981/mt7986/mt8167S mt8175/mt8362A/mt8365 mt8385/mt8518S/mt8532 mt8695/mt8696/mt8788 | 两者 | 已发布 | 6.7(中等) |
| CVE-2022-32656 | mt5221/mt7603/mt7613 mt7615/mt7622/mt7628 mt7629/mt7663/mt7668 mt7682/mt7686/mt7687 mt7697/mt7902/mt7915 mt7916/mt7921/mt7933 mt7981/mt7986/mt8167S mt8175/mt8362A/mt8365 mt8385/mt8518S/mt8532 mt8695/mt8696/mt8788 | 两者 | 已发布 | 6.7(中等) |
| CVE-2022-32657 | mt7603/mt7613/mt7615 mt7622/mt7628/mt7629 mt7915/mt7916/mt7981 mt7986 | 两者 | 已发布 | 6.7(中等) |
| CVE-2022-32658 | mt7603/mt7613/mt7615 mt7622/mt7628/mt7629 mt7915/mt7916/mt7981 mt7986 | 两者 | 已发布 | 6.7(中等) |
| CVE-2022-32659 | mt7603/mt7613/mt7615 mt7622/mt7628/mt7629 mt7915/mt7916/mt7981 mt7986/mt8518s/mt8532 | 两者 | 已发布 | 6.7(中等) |
| CVE-2022-46740 | WS7100-20 | 两者 | 已发布 | 6.5(中等) |
| 两者 |
| 已发布 |
| 7.5(高) |
| CVE IDs | 受影响的设备/芯片组 | WPA2/WPA3-SAE | 状态 | 评分 |
|---|
| CVE-2021-37910 | 所有华硕基于 RX 的型号 | WPA3-SAE | 已发布 | 5.3(中等) |
| CVE-2021-40288 | AX10v1 | WPA3-SAE | 已发布 | 7.5(高) |
| CVE-2021-41753 | DIR-x1560/DIR-X6060 | WPA3-SAE | 已发布 | 7.5(高) |
| CVE-2021-41788 | mt7603E/mt7612/mt7613 mt7615/mt7622/mt7628 mt7629/mt7915 | WPA3-SAE | 已发布 | 7.5(高) |