关于 offensive-wifi-recon
offensive-wifi-recon 是用于授权安全测试的无线侦察技能,指导适配器配置、多频段被动扫描、定向捕获,并在主动测试前结构化记录接入点和客户端信息。
主要功能
- 01适配器与监控模式配置
- 02监管域检查
- 03多频段无线网络被动扫描
- 04定向 BSSID 捕获
- 05使用 Kismet 制图与设备指纹识别
- 06结构化记录目标数据
适用场景
- 01在测试前绘制周边无线网络
- 02记录接入点信道与加密方式
- 03评估客户端数量与 PMF 状态
- 04规划授权无线安全评估
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ snailsploit/ claude-red --skill offensive-wifi-recon安装后在 Claude Code 中输入/offensive-wifi-recon确认已加载。
详细介绍
Wi-Fi 侦察
任何无线测试的第一阶段。在发送反认证帧、部署恶意双胞胎或捕获握手之前,先全面了解无线环境——后续每种攻击都取决于能否掌握正确的 BSSID、信道、加密方式和客户端数量。
快速工作流
- 为目标的频段和 PHY 选择合适的网卡
- 验证监听模式和注入功能确实可用
- 设置监管域(合法信道和发射功率)
- 被动扫描所有频段
- 针对范围内的每个 BSSID,深入检查客户端数量和 PMF 状态
- 在进行任何主动攻击前,将所有信息记录到结构化目标列表中
网卡选择
| 芯片组 | 优势 | 备注 |
|---|---|---|
| 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) | 前沿产品——请按版本验证 |
# Identify your radio
lsusb | grep -iE "(atheros|realtek|mediatek|alfa)"
iw dev
iw list | grep -A 8 "Supported interface modes"
iw list | grep -E "Frequencies:" -A 30
监听模式设置
# Kill conflicting services
sudo airmon-ng check kill
# Enable monitor mode
sudo airmon-ng start wlan0
# Or manually
sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up
# Verify monitor mode + injection
sudo aireplay-ng --test wlan0mon
针对附近 AP 的注入测试应报告 30/30 的 ACK 率。分数较低通常表示存在驱动、天线或位置问题。
监管域
# Check current
iw reg get
# Set explicitly (us = United States, jp = Japan extended, etc.)
sudo iw reg set US
设置正确的监管域可启用合法信道(美国:2.4 GHz 的 1–11 信道、5 GHz 的 36–165 信道;日本额外支持 12–13 信道和 184 及以上的 DFS 信道)以及发射功率。请在获准使用的监管域内操作。
被动多频段扫描
# All bands
sudo airodump-ng wlan0mon --band abg
# 5 GHz only (helps see UNII bands)
sudo airodump-ng wlan0mon --band a
# 6 GHz (requires 6E-capable adapter and updated airodump-ng)
sudo airodump-ng wlan0mon --band ax
# Hop only specific channels
sudo airodump-ng wlan0mon -c 1,6,11,36,40,44,48
保存到文件,以便后续分析:
sudo airodump-ng wlan0mon --band abg --write recon --output-format pcap,csv
定向捕获
确定范围内的 BSSID 后:
sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w target wlan0mon
将网卡固定到对应信道——进行定向捕获时跳频会丢失数据帧。
隐藏 SSID
隐藏 AP 会发送 ESSID 为空的信标帧。客户端探测(主动扫描)或关联请求会泄露网络名称:
# Wait for legitimate client to associate, ESSID appears in airodump output
# Or, if a client is already associated, deauth them once to force reassociation:
sudo aireplay-ng --deauth 1 -a AA:BB:CC:DD:EE:FF -c 11:22:33:44:55:66 wlan0mon
(只有获得明确授权后才能发送反认证帧——参见 offensive-deauth-disassoc。)
使用 Kismet 进行无线勘测
sudo kismet -c wlan0mon
# Open https://localhost:2501 for the dashboard
Kismet 可集成 GPS、将 AP 绘制到地图上、根据 IE 顺序进行指纹识别、根据 OUI 前缀识别可能的 IoT 厂商,并标记已知存在漏洞的型号。
长时间捕获时,移除 --no-ncurses,并在 tmux 下以无头模式运行。
提交到 Wigle
如果测试授权允许:
# Export Kismet's .kismet → CSV → Wigle import format
kismetdb_dump_devices --in capture.kismet --out devices.csv
(Wigle 会汇总地理位置上的无线网络观测数据——可用于绘图,但请先检查 ROE。)
厂商 / OUI 识别
# Quick OUI lookup
echo "AA:BB:CC" | wireshark-tools/manuf-lookup
# Or check the airodump CSV's BSSID prefix against /usr/share/wireshark/manuf
厂商识别有助于了解:
- 可能的默认凭据(路由器品牌 → 已知默认凭据)
- 已知固件漏洞(按芯片组划分的 CVE)
- WPS 是否可能存在漏洞(按芯片组划分的 Pixie Dust 漏洞)
- KRACK / FragAttacks 补丁是否可能已安装(厂商的补丁发布频率)
每个目标需要记录的数据
| 字段 | 用途 |
|---|---|
| BSSID | 进行任何主动攻击都必须具备 |
| ESSID | 与 PNL 探测匹配;关联客户端探测 |
| 信道 + 带宽 | 固定无线电信道以便捕获 |
| 频段 | 选择网卡 |
| 加密方式 | WPA2-PSK / WPA2-Enterprise / WPA3-SAE / Open / WEP |
| PMF(受保护的管理帧) | 判断反认证是否有效 |
| RSSI | 规划位置 |
| 信标间隔 / TIM | 检测相对于恶意双胞胎防御措施的异常 |
| 厂商(OUI) | 可能的默认凭据、已知漏洞 |
| 客户端列表(MAC 地址 + RSSI) | 反认证 / 中继攻击目标 |
| 是否启用 WPS? | Pixie Dust 候选目标 |
检测注意事项
防御方的 WIDS 会发现:
- 有新设备进入无线环境(探测请求甚至会在关联前暴露设备)
- 监听模式接口的跳频模式
- 非标准探测行为(KARMA 式通用响应,参见
offensive-evil-twin)
纯被动侦察(无线电不发送探测请求)不会被大多数 WIDS 部署发现。在进入主动阶段之前,请保持被动。
测试速查表
# 1. Setup
sudo airmon-ng check kill && sudo airmon-ng start wlan0
sudo iw reg set US
sudo aireplay-ng --test wlan0mon # confirm injection (skip if pure passive)
# 2. Sweep all bands, write to file
sudo airodump-ng wlan0mon --band abg --write recon --output-format pcap,csv
# 3. Kismet for sustained map (optional)
sudo kismet -c wlan0mon --no-ncurses --daemonize
# 4. Per BSSID drill-down
sudo airodump-ng -c <ch> --bssid <BSSID> -w <name> wlan0mon
# 5. Build target list with all fields above
关键参考资料
- IEEE 802.11-2020(合并版规范)
- aircrack-ng 文档:aircrack-ng.org
- Kismet 文档:kismetwireless.net
- WIGLE:wigle.net(自动提交前请阅读 API 使用条款)
- 来源:https://github.com/SnailSploit/offensive-checklist/blob/main/wireless.md