mrhenrike/WirelessXPL-Forge
GitHub: mrhenrike/WirelessXPL-Forge
覆盖 Wi-Fi、蓝牙、IoT 协议及车载网络的无线安全研究与渗透测试模块化框架,提供类 Metasploit 的统一交互式 shell。
Stars: 3 | Forks: 2
# WirelessXPL-Forge
**版本:** 1.8.0 | **许可证:** BSD-3-Clause | **Python:** 3.8 - 3.13
**语言:** **English (en-US)** — 默认 · **Português (pt-BR):** [README.pt-BR.md](README.pt-BR.md)
## 关于
**WirelessXPL-Forge (WXF)** 是一个用于无线安全研究的交互式 shell 和模块框架。它提供:
- 一个**类似 Metasploit 的 CLI**(`use`, `set`, `run`, `search device=wifi`),用于无线攻击和分析工作流
- 针对 **FragAttacks**、**KRACK**、**WPA3/Dragonblood**、**BLE 配对攻击**、**Braktooth**、**BlueBorne**、**AWDL**、**Zigbee/KillerBee** 等的原生 Python 模块
- 外部工具的**桥接模块**:`aircrack-ng`、`hcxdumptool`、`mdk4`、`wifiphisher`、`eaphammer`、`airgeddon`、`bettercap`、`btlejack`、`opendrop`
- 用于 **Bruce 固件**(ESP32 Marauder)的**串行编排**,带有半自主流配置文件
- **上游目录**,跟踪 15 多个安全研究仓库中社区 issues/PRs 的合并情况
- **PCAP 分析管道**:EAPOL 4 次握手、PMKID、TKIP、Dragonblood、WPE、BLE、PCAP SQL 工作区
**同级项目:** [RouterXPL-Forge](https://github.com/mrhenrike/RouterXPL-Forge) (路由器/交换机) · [FirewallXPL-Forge](https://github.com/mrhenrike/FirewallXPL-Forge) (NGFW/UTM,私有)
**血统:** [threat9/routersploit](https://github.com/threat9/routersploit) → RouterXPL-Forge → 无线分支
**维护者:** André Henrique ([@mrhenrike](https://github.com/mrhenrike)) | [União Geek](https://github.com/Uniao-Geek)
## 系统前置条件(PyPI wheel 之外)
`pip install wirelessxpl` **仅**提供 Python 包及其声明的依赖项。下表列出了**不**包含在 wheel 中的**主机工具**和**固件**:它们是正常的操作系统级别安装(apt、brew、上游安装程序)。WXF 中的**桥接模块**仍然会**集成**它们(`use` → `run`);它们不是“断开连接的”,而是**编排的子进程**。出于许可、大小和维护的考虑,我们**不**在此仓库中内嵌(vendor)诸如 wifiphisher/eaphammer 之类的上游项目 — 请参阅 **[docs/INTEGRATION_MODEL.md](docs/INTEGRATION_MODEL.md)**(原生 vs 桥接 vs GPL)。
| 工具 | 角色 |
|------|------|
| **aircrack-ng suite** | `aircrack-ng`, `airodump-ng`, `aireplay-ng` — PCAP / wifi_lab 工作流 |
| **hcxtools / hcxdumptool** | 为 hashcat 捕获 PMKID 并进行哈希转换 |
| **hashcat** | WPA2/WPA3 离线破解(模式 22000/22001) |
| **tshark** *(可选)* | 当 Scapy 层较薄时的 BLE / 802.11 解析 |
| **mdk4 / mdk3** *(可选)* | 反认证风暴、信标泛洪、Mesh 泛洪 |
| **hostapd + dnsmasq** *(可选)* | 用于强制门户流程的 Rogue AP / evil-twin + DHCP/DNS |
| **wifiphisher** *(可选)* | 通过**桥接**进行网络钓鱼 (`generic/external/wifiphisher_bridge`) |
| **eaphammer** *(可选)* | 通过**桥接**捕获 EAP/PEAP |
| **airgeddon** *(可选)* | 通过**桥接**进行菜单驱动的攻击 |
| **btlejack** *(可选)* | 通过**桥接**进行 BLE 嗅探/干扰/劫持 |
| **opendrop / owl** *(可选)* | 通过**桥接**进行 AWDL/AirDrop 实验 |
| **Bruce ESP32 firmware** *(可选)* | [BruceDevices/firmware](https://github.com/BruceDevices/firmware) — 设备镜像;将 PCAP 导出至 `generic/pcap/*` |
| **pyserial** *(可选)* | 连接到 Bruce 的串行接口 (`pip install wirelessxpl[serial]`) |
安装后运行 `use generic/external/wireless_tool_prereq_audit` 以验证您的 PATH。
## 快速安装
### 从 PyPI
```
pip install wirelessxpl
# 带有对 Bruce/ESP32 的串行支持:
pip install "wirelessxpl[serial]"
# 带有 ML 信号分类:
pip install "wirelessxpl[ml-lite]"
```
### 从源码
```
git clone https://github.com/mrhenrike/WirelessXPL-Forge.git
cd WirelessXPL-Forge
pip install -r requirements.txt
python wxf.py
# 或者
python -m wirelessxpl
# 或者(在 pip install -e . 之后)
wxf
```
### WSL2 / Kali(推荐用于抓包工具)
```
sudo apt install aircrack-ng hcxtools hcxdumptool mdk4 hostapd dnsmasq tshark
pip install wirelessxpl
```
## 快速开始
```
$ python wxf.py
wxf > help
wxf > show modules
wxf > search device=wifi
wxf > search device=bluetooth
wxf > use generic/wifi_lab/handshake_snooper
wxf (HandshakeSnooper) > show options
wxf (HandshakeSnooper) > set interface wlan0mon
wxf (HandshakeSnooper) > set target_bssid AA:BB:CC:DD:EE:FF
wxf (HandshakeSnooper) > run
```
### 非交互式(脚本)
```
python wxf.py -m generic/wifi_lab/handshake_snooper \
interface=wlan0mon target_bssid=AA:BB:CC:DD:EE:FF
```
## 模块参考
### Wi-Fi / 802.11 (generic/wifi_lab)
| 模块 | 描述 |
|--------|-------------|
| `fragattacks` | FragAttacks (CVE-2020-26140+) — 帧注入 + 802.11ax 检测 |
| `handshake_snooper` | PMKID 优先 + deauth 握手抓包管道 |
| `wpa3_attack_suite` | Dragonblood SAE 泛洪,CSA+收割,双重 SSID,降级 |
| `auth_flood` | Auth/EAPOL 泛洪,amok 模式,Mesh 泛洪 (mdk4 后端) |
| `beacon_flood` | 带有自定义 SSID 的 Beacon 垃圾信息 |
| `evil_twin_workflow` | 带有抓包验证的完整 evil-twin (aircrack-ng) |
| `captive_portal_modern_lab` | 带有 HTML/JS 凭据收集器的现代强制门户 |
| `mitm_wifi_bridge` | ARP/DNS 欺骗 + Ghost 组合 (bettercap) |
| `adaptive_harvest` | 得分驱动的频道/PMKID 自适应收割 |
| `wardriving_deauth_loop` | 自动化 wardriving 扫描/deauth/抓包循环 |
| `wireless_ids` | 轻量级 IDS:BSSID 基线 + Rogue AP 检测 |
| `awdl_attack` | AWDL/AirDrop (opendrop + owl) — 发现、发送、DoS |
| `momo_integrated_attack` | KARMA + PMKID 优先 + 降级编排 |
| `research_ecosystem_status` | 所有研究子模块的集成状态 |
| `gps_wardriving_ndjson` | GPS NMEA → NDJSON wardriving 日志 |
| `wifi_sniffer` | 多后端嗅探器 (tcpdump/scapy/tshark) |
### PCAP 分析 (generic/pcap)
| 模块 | 描述 |
|--------|-------------|
| `pcap_handshake_extractor` | 从抓包中提取 WPA2 握手 |
| `pcap_eapol_survey` | EAPOL 4 次握手调查和分析 |
| `pcap_pmkid_extractor` | 提取 PMKID 用于离线破解 |
| `pcap_dragonblood` | WPA3 Dragonblood SAE PCAP 模式 |
| `pcap_sql_workspace` | 用于 PCAP 提取和分析师记录的 SQLite 工作区 |
### 蓝牙 / BLE / Zigbee (generic/bluetooth)
| 模块 | 描述 |
|--------|-------------|
| `bt_hid_injection` | 蓝牙 HID 键盘注入 (Broadcom 回退) |
| `bt_baseband_attack` | 通过 ESP32 串口进行 BrakTooth / SweynTooth |
| `bt_session_attack` | KNOB, BIAS, BLUFFS 会话层攻击 |
| `blueborne_attack` | BlueBorne L2CAP 溢出 (内核偏移配置文件) |
| `ble_btlejack` | BTLEJack BLE 嗅探/干扰/劫持 |
| `ble_crackle` | BLE 传统配对密钥恢复 |
| `knob_native_cve_2019_9506` | **CVE-2019-9506** — BT BR/EDR 密钥熵降级至 1 字节 |
| `zigbee_touchlink_factory_reset` | 无身份验证的 Zigbee ZLL Touchlink 恢复出厂设置 (Hue, TRADFRI) |
| `zigbee_network_key_extract` | **novo v1.7.0** — 使用公共 TC Link Key 解密 Transport Key 提取 Zigbee Network Key |
| `zigbee_rejoin_hijack` | **novo v1.7.0** — Zigbee Rejoin 劫持:beacon 欺骗 → 取消关联 → 捕获 Transport Key |
| `ble_gatt_enum_unauth` | **novo v1.7.0** — 无身份验证的 BLE GATT 枚举(服务、特征、可写句柄) |
| `ble_spoofing_impersonation` | **novo v1.7.0** — 通过广播数据重放(名称、UUIDs、制造商数据)进行 BLE 设备克隆 |
### IoT 协议 (generic/iot_proto) — *novo v1.3.0+*
| 模块 | 描述 |
|--------|-------------|
| `mqtt_broker_enum_inject` | MQTT — 匿名访问、主题枚举和 payload 注入 |
| `mqtt_lateral_pivot` | MQTT — 通过 broker 枢轴转发以触达内部 IoT 设备 |
| `mqtt_broker_dos` | **novo v1.7.0** — **CVE-2017-7651** 通过超大 LWT 进行 CONNECT/DISCONNECT 循环引发的 DoS |
| `mqtt_sys_acl_bypass_cve_2020_13849` | **novo v1.7.0** — **CVE-2020-13849** 通过 $SYS/# 订阅绕过 Mosquitto ACL |
| `coap_resource_enum` | CoAP — 发现 `.well-known/core` + UDP 放大因子 |
| `coap_block_overflow` | **novo v1.7.0** — **CVE-2019-9750** 嵌入式协议栈中的 CoAP Block2 选项堆溢出 |
| `upnp_ssdp_attack` | UPnP/SSDP — 设备发现 + **CVE-2020-12695** CallStranger SSRF |
| `upnp_ssdp_rce_inject` | **novo v1.7.0** — **CVE-2013-0229** SOAP action 注入 + 无验证的 AddPortMapping |
| `upnp_ssdp_amplification` | **novo v1.7.0** — 通过欺骗性 M-SEARCH 进行 20-50 倍的 SSDP 放大/反射 |
| `mdns_poisoning` | mDNS — 被动服务枚举 + 响应中毒 |
| `mdns_amplification` | **novo v1.7.0** — 通过 QTYPE=ANY 查询进行 5-30 倍的 mDNS 放大 (Bonjour/Avahi) |
| `dds_rtps_attack` | DDS/RTPS — ROS2/汽车参与者枚举(无身份验证的读/写) |
| `tftp_firmware_attack` | TFTP — 嵌入式设备上无身份验证的固件下载/上传 |
### LoRaWAN (generic/lorawan) — *novo v1.3.0*
| 模块 | 描述 |
|--------|-------------|
| `lorawan_adr_bitflip_cve_2022_39274` | **CVE-2022-39274** — ADR 位翻转导致终端设备信号降级/DoS |
| `lorawan_join_replay` | Join Accept 重放 — 由于缺乏重放保护导致会话劫持 (LoRaWAN 1.0.x) |
### 汽车 / CAN 总线 (generic/automotive) — *novo v1.3.0+*
| 模块 | 描述 |
|--------|-------------|
| `can_bus_attack` | CAN 总线 — 通过 OBD-II 进行 ECU 枚举、ID 模糊测试、UDS ECU 重置、帧重放 |
| `mercedes_mbux_bt_rce_cve_2023_37462` | **novo v1.7.0** — **CVE-2023-37462** 梅赛德斯 MBUX NTG6 蓝牙 RCE(扫描、信息、探测) |
### Z-Wave (generic/zwave) — *novo v1.7.0*
| 模块 | 描述 |
|--------|-------------|
| `zwave_s0_key_extract` **CVE-2019** — Z-Wave S0 配对嗅探:临时密钥全零 → 网络密钥提取 |
| `zwave_replay_attack` | 通过 SDR 在无 S2 的情况下重放 Z-Wave 命令 (door_unlock, switch, thermostat) |
### 可穿戴设备 BLE (generic/wearables) — *novo v1.7.0*
| 模块 | 描述 |
|--------|-------------|
| `xiaomi_miband_ble_breakmi` | 小米手环 3-7:广播克隆、认证密钥重放、生物识别数据(步数、心率、电池)外发 |
### IoT 横向移动 (generic/lateral_iot) — *novo v1.3.0*
| 模块 | 描述 |
|--------|-------------|
| `arp_spoof_iot_pivot` | ARP 欺骗 — IoT 设备和网关之间的 MitM 拦截 |
| `uart_shell_detect` | UART — 嵌入式串行控制台检测(多波特率:9600→921600) |
| `fake_dhcp_server` | Rogue DHCP — 用于重定向 IoT 流量的恶意 DHCP 服务器(网关/DNS 控制) |
### Wi-Fi 实验室 - SweynTooth BLE (generic/bluetooth/sweyntooth) - 新增 v1.8.0
| 模块 | 描述 |
|--------|-------------|
| `sweyntooth_scanner` | 检测 SweynTooth 易受攻击固件特征的被动 BLE 扫描器 |
| `sweyntooth_cve_2019_16336` | CVE-2019-16336 - BLE Link Layer 长度溢出 (Texas Instruments) |
| `sweyntooth_cve_2019_17517` | CVE-2019-17517 - BLE 数据通道 PDU 溢出 (Microchip) |
| `sweyntooth_cve_2019_17519` | CVE-2019-17519 - BLE 从机连接拒绝绕过 (Dialog Semiconductor) |
| `sweyntooth_cve_2019_17520` | CVE-2019-17520 - 配对时 BLE 公钥崩溃 (Telink) |
### Wi-Fi 实验室 - FragAttacks (generic/wifi_lab/fragattacks) - 新增 v1.8.0
| 模块 | 描述 |
|--------|-------------|
| `fragattacks_scanner` | 通过 beacon 标志检测 FragAttacks 易受攻击 AP 的被动扫描器 |
| `fragattacks_cve_2020_26140` | CVE-2020-26140 - 在非严格 WPA2 AP 中注入明文数据 |
| `fragattacks_cve_2020_26141` | CVE-2020-26141 - 碎片缓存滥用 / 非连续碎片注入 |
| `fragattacks_cve_2020_26143` | CVE-2020-26143 - 接受混合明文/加密碎片 |
### Wi-Fi 实验室 - KRACK (generic/wifi_lab/krack) - 新增 v1.8.0
| 模块 | 描述 |
|--------|-------------|
| `krack_scanner` | 用于检测 KRACK nonce 重用指示器的被动扫描器 (CVE-2017-13077..13088) |
| `krack_4way_retransmit` | CVE-2017-13077 - 通过重传 Msg3 重新安装 PTK |
| `krack_group_key_retransmit` | CVE-2017-13080 - 通过组密钥握手重放重新安装 GTK |
### Wi-Fi 实验室 - Kr00k (generic/wifi_lab)
| 模块 | 描述 |
|--------|-------------|
| `wifi_kr00k_cve_2019_15126` | **CVE-2019-15126** KR00K:deauth + CCMP 零 TK 解密 (Broadcom/Cypress 芯片) |
### CVE / 漏洞利用 (generic/cve)
| 模块 | 描述 |
|--------|-------------|
| `zigbee_attack` | 通过 KillerBee 进行 Zigbee / IEEE 802.15.4 攻击 (Sewio 驱动) |
| `krack_attack` | KRACK(WPA2 4 次握手重放 + 收集 msg3) |
| `ssid_confusion` | SSID 混淆攻击 |
| `pmkid_attack` | 无客户端 PMKID 攻击 |
### Sub-GHz 攻击套件 (generic/subghz) - 新增 v1.8.0
#### 支持的协议
| 协议 | 位 | 频率 | 安全性 | 模块 | 所需硬件 |
|----------|------|-----------|----------|--------|-------------|
| EV1527 | 24 | 433 MHz | 无 | `subghz/static_code_replay` | HackRF / CC1101 |
| Princeton/PT2262 | 24 | 315/433 MHz | 无 | `subghz/static_code_replay` | HackRF / CC1101 |
| CAME | 12 | 303-868 MHz | 无 | `subghz/debruijn_bruteforce` | HackRF |
| NICE Flo | 12 | 433/868 MHz | 无 | `subghz/debruijn_bruteforce` | HackRF |
| KeeLoq | 64 | 433/868 MHz | 滚动代码 | `subghz/keeloq_*` | HackRF |
| TPMS | 变量 | 315/433 MHz | 仅 CRC | `subghz/tpms/*` | RTL-SDR |
#### 模块参考
| 模块 | 描述 |
|--------|-------------|
| `static_code_replay` | EV1527/Princeton/CAME/NICE/Holtek/Chamberlain 静态代码重放 |
| `debruijn_bruteforce` | 针对 12 位车库门协议的 DeBruijn 序列暴力破解 |
| `keeloq_decoder` | KeeLoq 滚动代码帧解码器和分析器 |
| `keeloq_replay` | 在计数器窗口内重放 KeeLoq 滚动代码 |
| `ev1527_vehicle_cve_2025_70994` | CVE-2025-70994 - EV1527 车辆遥控无钥匙进入重放 |
| `subghz_jammer` | Sub-GHz 选择性干扰器(仅限授权测试) |
| `br_gate_scanner` | 巴西大门/车库协议扫描器和记录器 |
| `tpms/tpms_decoder` | TPMS 胎压传感器被动解码器 |
| `tpms/tpms_spoof` | TPMS 欺骗性胎压警报注入 |
| `tools/ook_analyzer` | OOK 信号分析器:前导码、位定时、协议识别 |
#### 使用示例 - DeBruijn 暴力破解(CAME 车库门)
```
wxf > use generic/subghz/debruijn_bruteforce
wxf (DeBruijn) > set protocol CAME
wxf (DeBruijn) > set frequency 433.92
wxf (DeBruijn) > set output_sub /tmp/came_brute.sub
wxf (DeBruijn) > run
[*] Generating DeBruijn sequence for CAME 12-bit at 433.92 MHz
[*] Total codes to test: 4096
[*] Estimated time at 287ms/code: ~4.8 minutes
[+] Generated: /tmp/came_brute.sub (Flipper Zero compatible)
[*] Load on Flipper: Sub-GHz -> Saved -> came_brute.sub -> Send
```
#### 使用示例 - EV1527 静态重放
```
wxf > use generic/subghz/static_code_replay
wxf (StaticCodeReplay) > set protocol EV1527
wxf (StaticCodeReplay) > set code 0xA3F21B
wxf (StaticCodeReplay) > set frequency 433.92
wxf (StaticCodeReplay) > set interface hackrf
wxf (StaticCodeReplay) > set simulate true
wxf (StaticCodeReplay) > run
[SIMULATE] Would transmit EV1527 code 0xA3F21B at 433.92 MHz
[SIMULATE] OOK pulse sequence: 24 bits, 350us/bit
[!] Set simulate=false and interface=hackrf to transmit live
```
### 无人机/UAV 安全 (generic/drones) - 新增 v1.8.0
| 模块 | 描述 |
|--------|-------------|
| `drone_scanner` | 通过 WiFi SSID 指纹进行无人机发现 (DJI, Parrot, Holy Stone, FPV) |
| `mavlink/mavlink_scanner` | 在 UDP 14550 / TCP 5760 上的 MAVLink 设备扫描器 |
| `mavlink/mavlink_force_disarm` | 通过 MAV_CMD_COMPONENT_ARM_DISARM 强制解除武装指令 |
| `mavlink/mavlink_gps_spoof` | 向地面站 / GCS 注入欺骗性 GPS NMEA |
| `mavlink/mavlink_waypoint_inject` | 覆盖当前任务的航点 |
| `mavlink/mavlink_geofence_disable` | 通过 PARAM_SET 禁用地理围栏参数 |
| `mavlink/mavlink_param_dump` | 转储所有自动驾驶仪参数(只读审计) |
| `mavlink/mavlink_flood_dos` | MAVLink 消息泛洪 DoS |
| `dji/dji_wifi_scan` | DJI 无人机 SSID 扫描器和版本提取器 |
| `dji/dji_deauth` | DJI WiFi 取消身份验证(中断降落) |
| `dji/dji_quicktransfer_exfil_cve_2023_6951` | CVE-2023-6951 - DJI QuickTransfer 无身份验证文件外发 |
| `parrot/parrot_anafi_deauth_cve_2019_3944` | CVE-2019-3944 - Parrot ANAFI WiFi 取消身份验证 |
| `parrot/parrot_anafi_webcrash_cve_2019_3945` | CVE-2019-3945 - Parrot ANAFI REST API 崩溃 |
| `parrot/parrot_anafi_udp_cmd_inject` | Parrot ANAFI UDP 命令注入 |
| `parrot/parrot_bebop_dhcp_exhaust_cve_2022_46416` | CVE-2022-46416 - Parrot Bebop DHCP 地址池耗尽 |
| `holystone/hsrid01_ble_dos_cve_2024_52876` | CVE-2024-52876 - Holy Stone HSRID01 BLE DoS |
| `fpv/eachine_e52_tcp_takeover` | Eachine E52 TCP 重放接管 |
#### 使用示例 - MAVLink 强制解除武装
```
wxf > use generic/drones/mavlink/mavlink_force_disarm
wxf (MAVForceDisarm) > set rhost 192.168.1.100
wxf (MAVForceDisarm) > set rport 14550
wxf (MAVForceDisarm) > set simulate true
wxf (MAVForceDisarm) > run
[SIMULATE] Would send MAV_CMD_COMPONENT_ARM_DISARM (param1=0, param2=21196)
[SIMULATE] To: udp://192.168.1.100:14550 sysid=1 compid=1
[!] Set simulate=false to send live command
[!] PREREQ: Network access to drone on UDP 14550
[!] WARNING: Force disarm on airborne drone causes crash
```
#### 使用示例 - DJI QuickTransfer 文件外发 (CVE-2023-6951)
```
wxf > use generic/drones/dji/dji_quicktransfer_exfil_cve_2023_6951
wxf (DJIQuickTransferExfil) > set rhost 192.168.2.1
wxf (DJIQuickTransferExfil) > set output_dir /tmp/dji_exfil
wxf (DJIQuickTransferExfil) > set simulate true
wxf (DJIQuickTransferExfil) > run
[SIMULATE] CVE-2023-6951: DJI QuickTransfer unauthenticated file access
[SIMULATE] Target: http://192.168.2.1:80
[SIMULATE] Would enumerate /DCIM/ and download media files
[!] Set simulate=false for live exfil - requires WiFi association to DJI drone
```
### 海事安全 (generic/maritime) - 新增 v1.8.0
| 模块 | 描述 |
|--------|-------------|
| `nmea_spoof` | NMEA 0183 GPS/导航语句注入(TCP 多路复用器) |
| `ais_spoof` | 带有 Type 1 位编码的 AIS 船舶位置报告欺骗 |
#### 使用示例 - AIS 船舶欺骗
```
wxf > use generic/maritime/ais_spoof
wxf (AISSpoofAttack) > set target_host 192.168.1.100
wxf (AISSpoofAttack) > set target_port 10110
wxf (AISSpoofAttack) > set simulate true
wxf (AISSpoofAttack) > run
[SIMULATE] AIS Type 1 sentence for MMSI 123456789 (PHANTOM)
[SIMULATE] Position: 1.264N / 103.826E at 12.0kn COG 90
[SIMULATE] Sentence: !AIVDM,1,1,,A,15NN...
[!] Set simulate=false + network access to AIS multiplexer (TCP 10110) to inject
[!] WARNING: AIS spoofing is a maritime criminal offense
```
### 车载雷达 (generic/vehicular_radar) - 新增 v1.8.0
| 模块 | 描述 |
|--------|-------------|
| `traffic_enforcement_scanner` | Kapsch RSU / Motorola Vigilant / Selea ANPR 指纹扫描器 |
| `fmcw_radar_attack` | FMCW 汽车雷达信号参数计算器 (MadRadar/mmSpoof) |
#### 使用示例 - 交通执法扫描器
```
wxf > use generic/vehicular_radar/traffic_enforcement_scanner
wxf (TrafficEnforcementScanner) > set target_cidr 10.0.1.0/24
wxf (TrafficEnforcementScanner) > run
[*] Scanning 10.0.1.0/24 for traffic enforcement devices...
[+] 10.0.1.42: Kapsch TrafficCom RSU | ports: 443,8443
CVEs: CVE-2025-25734, CVE-2025-25735, CVE-2025-25736
[+] 10.0.1.67: Motorola Vigilant LPR | ports: 80,443
CVEs: CVE-2024-51023, CVE-2024-51024
[*] Scan complete: 2 devices found
```
### 取证、Wardriving 与会话管理 (generic) - v1.8.0
| 模块 | 描述 |
|--------|-------------|
| `evidence_vault/evidence_vault` | 哈希链式防篡改审计分类账(ISO/IEC 27037 证据保管链) |
| `wardrive/wardrive_logger` | 带有 GPS 标记的 WiFi 发现记录器,支持 CSV/JSON/KML 导出 |
| `wids/wifi_ids` | 原生 Python WIDS:deauth 泛洪、evil twin、rogue AP、beacon 泛洪检测 |
| `session_manager/session_manager` | 支持 SQLite 的渗透测试会话管理器,带有 JSON 导出功能 |
| `bluetooth/bt_hid_keyboard_inject` | 蓝牙 HID 键盘注入 (Broadcom/BlueZ) |
#### 使用示例 - Evidence Vault
```
wxf > use generic/evidence_vault/evidence_vault
wxf (EvidenceVault) > set session_id pentest_office_2026
wxf (EvidenceVault) > set vault_dir /evidence
wxf (EvidenceVault) > run scan --ssid "OfficeWiFi" --bssid AA:BB:CC:DD:EE:FF --channel 6 --rssi -65 --security WPA2
[+] Evidence recorded: #0001 type=scan sha256=abc123...
[+] Chain head: abc123...
wxf (EvidenceVault) > verify
[+] Chain VALID (3 records)
[+] ISO/IEC 27037 chain-of-custody maintained
```
#### 使用示例 - WIDS
```
wxf > use generic/wids/wifi_ids
wxf (WirelessIDS) > set interface wlan0mon
wxf (WirelessIDS) > set simulate true
wxf (WirelessIDS) > run
[SIMULATE] WIDS scenario: DEAUTH_FLOOD detected
BSSID: AA:BB:CC:DD:EE:FF | client: 11:22:33:44:55:66 | frames: 45/10s
Alert: DEAUTH_FLOOD severity=HIGH
[SIMULATE] EVIL_TWIN detected - SSID 'OfficeWiFi' on new BSSID
[*] To start live monitoring: set simulate false
```
### 外部桥接 (generic/external)
| 模块 | 描述 |
|--------|-------------|
| `bruce_serial_bridge` | ESP32 Bruce 固件串行流引擎(15+ 配置文件) |
| `bruce_esp32_lab_notes` | Bruce/Marauder 实验室操作参考 |
| `bruce_upstream_tracker` | Bruce 固件 issues/PRs 目录查看器 |
| `airgeddon_bridge` | Airgeddon 多模式子进程桥接 |
| `wifiphisher_bridge` | 带有内联嗅探器的 Wifiphisher 桥接 |
| `eaphammer_bridge` | EAPHammer 桥接(Win11 PEAP + HTTP 强制) |
| `mdk4_bridge` | mdk4 桥接(包含 Mesh 在内的所有模式) |
| `wifipumpkin3_bridge` | WifiPumpkin3 桥接(URL 过滤清理) |
| `wireless_tool_prereq_audit` | 所有系统工具的依赖项检查 |
## Bruce / ESP32 Marauder 集成
WXF 包含一个用于 [BruceDevices/firmware](https://github.com/BruceDevices/firmware) 的完整串行流引擎:
```
wxf > use generic/external/bruce_serial_bridge
wxf (BruceSerialBridge) > set serial_port /dev/ttyACM0
wxf (BruceSerialBridge) > set flow_profile capture_handshake_flow
wxf (BruceSerialBridge) > run
# 可用的 flow profiles:
# baseline_status_flow capture_handshake_flow
# wifi_menu_navigation_flow deauth_clone_verify_flow
# sniffer_capture_flow evil_portal_karma_flow
# wifi_attack_lab_flow raw_sniffer_probe_flow
# wifi_bruteforce_recon_flow navigation_recovery_flow
# captive_portal_endpoint_config_flow
# repeater_wisp_setup_flow external_adapter_probe_flow
# webui_password_flow target_attack_stability_flow
# ble_recon_spam_flow ble_badble_recovery_flow
# rf_spectrum_scan_flow rf_jammer_stability_flow
```
通过 `_json` 实现的自定义声明式流程:
```
wxf (BruceSerialBridge) > set flow_json [{"command":"wifi scan","expect":"#","wait_ms":1200},{"command":"nav back","repeat":2,"expect":"#"}]
wxf (BruceSerialBridge) > run
```
## 文档与 Wiki
完整的语法参考、模块使用示例和配置指南:
- **[GitHub Wiki](https://github.com/mrhenrike/WirelessXPL-Forge/wiki)** — 完整文档
- [快速开始](https://github.com/mrhenrike/WirelessXPL-Forge/wiki/Quick-Start)
- [CLI 参考](https://github.com/mrhenrike/WirelessXPL-Forge/wiki/CLI-Reference)
- [Sub-GHz 攻击](https://github.com/mrhenrike/WirelessXPL-Forge/wiki/SubGHz-Attacks)
- [无人机安全](https://github.com/mrhenrike/WirelessXPL-Forge/wiki/Drone-Security)
- [FragAttacks](https://github.com/mrhenrike/WirelessXPL-Forge/wiki/FragAttacks)
- [KRACK](https://github.com/mrhenrike/WirelessXPL-Forge/wiki/KRACK)
- [证据与取证](https://github.com/mrhenrike/WirelessXPL-Forge/wiki/Evidence-Forensics)
- **[docs/FULL_CATALOG.md](docs/FULL_CATALOG.md)** — 完整模块目录
- **[docs/COVERAGE_MATRIX.md](docs/COVERAGE_MATRIX.md)** — 设备覆盖矩阵
## 贡献
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 和 [CONTRIBUTORS.md](CONTRIBUTORS.md)。
请阅读我们的[行为准则](CODE_OF_CONDUCT.md)和[安全政策](SECURITY.md)。
## 许可证
BSD 3-Clause 许可证 — 详情请参阅 [LICENSE](LICENSE)。
**WirelessXPL-Forge 仅旨在用于授权的安全研究和教育。**
对您不拥有或未获得明确书面许可进行测试的系统使用本工具是非法的。
**作者:** André Henrique ([@mrhenrike](https://github.com/mrhenrike)) | [União Geek](https://github.com/Uniao-Geek)
**血统:** [threat9/routersploit](https://github.com/threat9/routersploit) → RouterXPL-Forge → WirelessXPL-Forge
标签:Python, Wi-Fi安全, 无后门, 蓝牙安全, 逆向工具