关于 offensive-krack-fragattacks
面向无线安全测试人员的技能指南,涵盖 KRACK 与 FragAttacks 对 WPA2 客户端的测试流程、影响评估和报告。重点关注仍可能受影响的嵌入式及 IoT 设备。
主要功能
- 01识别 KRACK 与 FragAttacks 适用目标
- 02运行客户端漏洞测试脚本
- 03评估解密与帧注入影响
- 04按 CVE 整理测试结果
适用场景
- 01评估嵌入式 Wi-Fi 设备的补丁状态
- 02在授权测试中验证客户端漏洞
- 03为无线安全报告记录影响与修复建议
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ snailsploit/ claude-red --skill offensive-krack-fragattacks安装后在 Claude Code 中输入/offensive-krack-fragattacks确认已加载。
详细介绍
KRACK 和 FragAttacks
针对 WPA2 客户端实现的两类攻击。两者都已充分披露(KRACK 于 2017 年,FragAttacks 于 2021 年),且现代操作系统大多已修补,但嵌入式设备和物联网设备中的大量旧设备仍使它们成为许多测试项目的关注对象。
适用情况
| 类别 | 目标 | 修补状态 |
|---|---|---|
| KRACK | 4 次握手、GTK、FT、TDLS 中的 WPA2 请求端 | 主要操作系统已于 2017–2018 年修补 |
| FragAttacks | WPA2/3 中的帧分片和聚合 | 大多数协议栈已于 2021–2022 年修补 |
如今,只有针对以下设备时,成功概率才较高:
- 嵌入式 OEM 设备(摄像头、传感器、销售点终端)
- 旧款 Android 手机(版本低于 8 且未修补)
- 工业 / SCADA Wi-Fi 客户端
- 启用 Wi-Fi 的玩具、智能灯泡、无名物联网设备
现代 Win11 / iOS 16+ / Android 13+ / hostapd-2.10 均已缓解这些问题。
KRACK — 密钥重新安装
4 次握手中的 M3 重传会导致请求端重新安装相同的 PTK,并重置随机数 / 重放计数器。使用重复密钥流加密的帧因此可以被解密。
# Vanhoef's official test scripts
git clone https://github.com/vanhoefm/krackattacks-scripts
cd krackattacks-scripts/krackattack
sudo ./krack-test-client.py --interface wlan0
# Tests the supplicant on a connected client
输出会指出客户端容易受到哪些 CVE 变体的攻击。
实际影响
成功时:
- 解密客户端与 AP 之间的 WPA2 加密帧
- 降级到 TKIP 后可注入数据包
- 在受影响的密钥周期内恢复会话密钥
这并不能恢复 PSK——KRACK 无法获取无线网络密码。
FragAttacks — 帧拼接
FragAttacks 利用 802.11 分片和聚合,注入混合加密与明文片段的帧,或将攻击者控制的片段拼接到合法帧中。
git clone https://github.com/vanhoefm/fragattacks
cd fragattacks
sudo ./test-fragattacks.py wlan0 --interface wlan0
# Suite of ~12 tests covering each variant
| CVE | 机制 |
|---|---|
| CVE-2020-24588 | A-MSDU 欺骗 — 注入特制的 A-MSDU 子帧 |
| CVE-2020-24587 | 混合密钥分片缓存投毒 |
| CVE-2020-24586 | 分片缓存解耦 → 重用 |
| CVE-2020-26139 | 在身份验证前转发明文帧 |
| CVE-2020-26140 | 在受保护网络中接受明文帧 |
实际影响
- 注入客户端会视为合法的恶意帧(HTTP 重定向、DNS 投毒)
- 从缓存状态中读取已解密的片段
- 通过特制的 A-MSDU 跨保护边界窃取数据
目标攻击工作流
- 确认范围内的客户端(MAC、操作系统、厂商)
- 评估修补可能性——如果是现代操作系统,通常已修补;如果是嵌入式设备,则可能存在漏洞
- 在受控 AP 环境中运行测试套件
- 使用对应的 CVE,分别报告每个存在漏洞的变体
# Rogue AP that drives the test
sudo hostapd-mana /tmp/krack_test_ap.conf
# Force client to associate (deauth from real AP, or social-engineer)
sudo aireplay-ng --deauth 5 -a <real-BSSID> -c <client-MAC> wlan0mon
# Run test once associated
sudo ./krack-test-client.py --interface wlan0
检测
- WIPS 可能会将由取消认证驱动、切换到攻击者 AP 的行为标记出来
- 测试脚本会生成特征鲜明的帧模式;现代 WIPS 能识别 Vanhoef 的工具
- 成功利用在协议层面基本不会留下痕迹
报告
对于每个存在漏洞的 CVE:
- 客户端型号和固件版本(请具体说明)
- 测试的变体及结果(存在漏洞 / 已修补 / 部分修补)
- 在测试项目场景下的实际影响(仅能解密,还是也能注入?)
- 修复建议:厂商补丁 URL、缓解措施(WPA3 + PMF 可阻止大多数攻击)
关键参考资料
- KRACK:krackattacks.com(Vanhoef)
- FragAttacks:fragattacks.com(Vanhoef)
- 原始论文:USENIX Security 2017(KRACK)、USENIX Security 2021(FragAttacks)
- CISA 关于嵌入式厂商补丁的跟踪公告
- 来源:https://github.com/SnailSploit/offensive-checklist/blob/main/wireless.md
评论
支持 Markdown