用途:针对 WPA2 客户端实现的两类无线攻击测试——KRACK(密钥重装)与 FragAttacks(帧分片/聚合)。两者均已公开多年,现代操作系统大多已修补,但嵌入式与 IoT 设备仍常存在风险。
适用对象:嵌入式 OEM 设备(摄像头、传感器、POS)、未修补的旧 Android(<8)、工业/SCADA Wi-Fi 客户端、智能玩具与杂牌 IoT。Win11、iOS 16+、Android 13+、hostapd-2.10 等已缓解。
KRACK:利用 4 次握手 M3 重传导致 supplicant 重装同一 PTK 并重置 nonce/重放计数器,使复用密钥流加密的帧可被解密。测试命令: git clone https://github.com/vanhoefm/krackattacks-scripts cd krackattacks-scripts/krackattack sudo ./krack-test-client.py --interface wlan0 输出可识别客户端易受哪些 CVE 变体影响。成功后可解密客户端与 AP 间帧、TKIP 降级实现注入、恢复受影响密钥周期的会话密钥;但无法获取 PSK(无线密码)。
FragAttacks:滥用 802.11 分片与聚合,注入混合加密/明文分片或拼接攻击者控制的分片。测试命令: git clone https://github.com/vanhoefm/fragattacks cd fragattacks sudo ./test-fragattacks.py wlan0 --interface wlan0 约 12 项测试覆盖各变体,包括 A-MSDU 欺骗(CVE-2020-24588)、混合密钥分片缓存投毒(24587)、解耦分片缓存复用(24586)、认证前转发明文帧(26139)、受保护网络接受明文帧(26140)等。成功后可注入被客户端视为合法的帧(HTTP 重定向、DNS 投毒)、读取缓存中的解密分片、通过构造 A-MSDU 外泄数据。
工作流:识别范围内客户端(MAC、OS、厂商)→ 评估补丁可能性 → 在受控 AP 环境运行测试套件 → 按 CVE 分别报告。可用 hostapd-mana 搭建测试 AP,用 aireplay-ng 强制客户端关联: sudo hostapd-mana /tmp/krack_test_ap.conf sudo aireplay-ng --deauth 5 -a <real-BSSID> -c <client-MAC> wlan0mon sudo ./krack-test-client.py --interface wlan0
检测与报告:WIPS 可能标记去认证驱动的漫游;测试脚本会产生特征帧模式,现代 WIPS 可识别 Vanhoef 工具;成功利用在协议层基本静默。报告需含客户端型号与固件版本、测试变体与结果、实际影响、修复建议(厂商补丁、WPA3+PMF 可阻断多数攻击)。
限制:仅对未修补设备有效;需受控 AP 与相应无线网卡;不恢复 PSK。