GTK4 无线安全工具包,包含 57 个独立 shell 模块,用于 Wi-Fi、蓝牙、RF、Zigbee、NFC 和路由器端攻击,以及 MITM、侦察、捕获分析和 killchain 自动化。
一个面向 Linux 的 GTK4 无线安全工具包。57 个模块,涵盖 Wi-Fi、蓝牙、RF、路由器侧以及网络 MITM 工作,全部集成在一个界面之后。
每个模块都是一个独立的 shell 脚本。GUI 只是它们之上的一个视图,而不是一个容器——没有任何东西被锁在界面之后。
早期开发阶段。 仅在一台机器、一个网卡上进行了充分测试。 实际可用功能一节如实说明了这意味着什么, 在提交 bug 之前值得一读。
大多数无线工具都深耕于单一领域。aircrack-ng 专注 Wi-Fi。bettercap
专注网络 MITM。BlueZ 工具专注蓝牙。一次评估意味着五个工具、五种配置格式,
而且对目标没有统一的视图。
wifisting 有意做得宽泛——跨越多个层次和协议,集中在一处。它还封装了 Responder、mitm6、ntlmrelayx、mdk4 和 hcxdumptool,而不是重新实现它们, 因此这些专业工具仍然位于底层,待在它们该待的地方。
它另一个不同之处在于:大多数工具会告诉你它们成功了。 而这个工具
是为了在它们没成功时告诉你而构建的。一个报告 OK 但目标毫发无损的模块,
比一个大声失败的模块更糟糕,因此每个模块都有 --selftest,而那些依赖
硬件的模块会说明缺少什么,而不是返回一个空结果。
| 模块 | 描述 |
|---|---|
00_deps | 检查已安装的工具并安装缺失的软件包 |
01_iface | 发现无线网卡并控制监听模式 |
| 模块 | 描述 |
|---|---|
02_recon | 实时扫描、目标选择、CSV 解析 |
03_attack | Deauth、WPA/WPA2 握手捕获和 PMKID |
04_eviltwin | 带强制门户和凭据捕获的流氓 AP |
08_pmkid_offline | 离线 PMKID 提取和 hashcat 转换 |
09_wardrive | 带 GPS 标记的扫描,用于覆盖范围测绘 |
10_rogue_dhcp | 用于拦截的恶意 DHCP 服务器 |
11_krack_kr00k | KRACK 和 Kr00k 密钥重装 |
17_wps_attack | Pixie Dust 和 WPS PIN |
20_karma | 应答每一个探测请求以诱捕客户端 |
21_beacon_flood | Beacon 和认证洪泛、WIDS 混淆、Michael 对策 |
22_wifi_direct | P2P 设备、服务和组所有者协商 |
23_captive_portal_builder | 从模板渲染强制门户 HTML |
34_pmf_bypass | 每个 AP 的 802.11w 管理帧保护态势 |
35_wifi6_attacks | HE 元素、BSS 颜色冲突、TWT、空间复用 |
47_wpa3_attack | 过渡降级、Dragonblood、SAE 捕获和字典 |
48_wep_attack | 伪造认证、ARP 重放、ChopChop、分片、密钥恢复 |
53_jamming | 通过 modwifi 驱动进行帧级干扰 |
54_client_isolation | 网关反弹、端口窃取、广播反射、网卡间中继 |
55_ssid_overflow | 超出 32 字节限制的超大 SSID,并在相同字节中注入 |
| 模块 | 描述 |
|---|---|
07_arp | ARP 欺骗和 MITM 捕获 |
13_802.1x_relay | 用于 802.1X 的 RADIUS 中继 |
32_resolver_poison | LLMNR/NBT-NS/mDNS 投毒、NTLM 中继、mitm6、路由器通告 |
49_usb_mitm | 基于 RNDIS 的 USB 以太网 MITM |
50_router_lan | TR-064、HNAP、UPnP/SSDP、SNMP、DNS 重绑定、CSRF |
51_router_web | 诊断页面注入、rom-0 泄露、默认凭据 |
52_router_console | 恢复模式 TFTP、UART/U-Boot 指导、离线固件解析 |
| 模块 | 描述 |
|---|---|
05_bt_recon | 设备枚举和指纹识别 |
06_bt_attack | BLE 欺骗和蓝牙攻击原语 |
12_hid_injection | 蓝牙 HID 按键注入 |
24_bt_mesh | BLE Mesh 嗅探和攻击 |
36_ble_tracker_hunt | AirTag/SmartTag/Tile 检测和跟踪检测 |
37_bt_classic_ssp | 安全简单配对模型和 HCI 日志重建 |
38_ble_adv_forge | iBeacon、Eddystone 和 Fast Pair 载荷构建 |
39_ble_fuzz | 畸形 BLE 载荷语料生成 |
| 模块 | 描述 |
|---|---|
26_zigbee | Zigbee 嗅探和攻击(CC2531 / nRF52840) |
57_thread | Thread mesh 分析和边界路由器发现 |
| 模块 | 描述 |
|---|---|
25_rf_spectrum | SDR 频谱扫描、IQ 捕获、信道占用 |
40_wifi_csi | 信道状态信息解析和运动分析 |
42_subghz | Sub-GHz OOK 脉冲串解码和频段参考 |
43_nfc_rfid | NDEF 编解码器和 MIFARE 标签结构分析 |
44_lora_loraWAN | LoRa 和 LoRaWAN |
45_drone_remote_id | ASTM F3411 Remote ID 解码和构建 |
| 模块 | 描述 |
|---|---|
14_wifi_ids | 被动监控和无线入侵检测 |
15_wifi_cve_scan | 探测网络是否存在已知 Wi-Fi CVE 暴露 |
16_bt_cve_scan | 探测蓝牙设备是否存在已知 CVE 暴露 |
18_capture_analysis | pcap 浏览、哈希提取、hashcat 驱动 |
19_wordlist_manager | 下载、组合和管理字典和规则 |
27_firmware_iot | 固件提取、凭据收集、CVE 扫描 |
27b_fw_update_audit | 固件更新审计 |
28_live_traffic | 实时流量视图 |
30_fingerprint | 客户端识别、随机 MAC 检测、关联 |
41_wifi_geolocate | 基于 BSSID 和 RSSI 的位置估计 |
46_public_wifi_audit | 对 AP 的开放、WEP、降级和邪恶双胞胎风险进行评级 |
| 模块 | 描述 |
|---|---|
29_killchain | 将多步攻击串联为可复用的运行流程 |
31_remote_node | 管理一组远程节点(Pi / VM / PC) |
你需要一个能够注入的网卡。
iwlwifi 驱动接受每一条命令
却不发送任何东西。应用会检测到这一点并附带说明拒绝执行。仅监听模式是不够的。使用 Intel 网卡你可以浏览界面并读取捕获, 但大多数模块会拒绝运行。
有些模块需要更多:用于 RF 工作的 SDR、蓝牙网卡、NFC 硬件、 用于 Zigbee 和 Thread 的 CC2531 或 nRF52840。GUI 会标记出哪些需要。
解压归档后,在你的终端中:
cd native
meson setup builddir && meson compile -C builddir
这会构建 GUI。然后,从项目根目录:
./wifisting.sh
当模块需要 root 时,应用会要求输入密码——那是 pkexec,
它按操作提示,而不是在启动时提示一次。
或者直接启动构建好的二进制文件:
./native/builddir/wifisting-gui
操作系统: Linux。在 Arch 系和 Ubuntu 衍生版上开发。 它无法在 Windows 上原生运行——见下方 Windows。
必需: GTK4(4.14+)、meson、ninja、C 编译器、带 scapy 的 python3。
# Debian / Ubuntu
sudo apt install build-essential meson ninja-build libgtk-4-dev python3-scapy
# Arch
sudo pacman -S base-devel meson ninja gtk4 python-scapy
如果构建失败,错误信息会指出缺失的依赖。安装它并
重新运行 meson compile -C builddir。
1 — 检查依赖。 打开 Dependencies 并运行检查。它会列出 已安装的内容、缺失的内容,并提供安装缺失软件包的选项。 先做这一步:之后一半令人困惑的失败都是因为缺少某个工具。
2 — 设置你的网卡。 打开 Interface Manager。它会列出你的无线
网卡及其能力。在这里将你支持注入的网卡置于监听模式,并确认它报告
injection yes。如果它显示 no,重试也无济于事。
3 — 扫描一些东西。 打开 Wi-Fi Recon 并开始扫描。如果你什么 都看不到,说明网卡处于错误的模式,或者处于它不支持的频段。
针对真实硬件测试过:
已编写但未针对真实硬件测试:
代码已编写并经过审查。“已编写”和“可用”不是同一种说法。
GUI 是 modules/ 中 57 个独立 shell 脚本之上的一个视图。没有任何东西
被锁在界面之后:
./modules/02_recon.sh --help
./modules/57_thread.sh --analyze capture.pcap
每个模块都有一个 --selftest。如果某个东西行为异常,先运行它——它
通常能在不连接任何硬件的情况下识别出问题。
tools/ 中的实用工具:
./tools/check-paths.sh # every script path and module entry resolves
./tools/check-verbs.sh # find verbs no GUI control can reach
首次运行时它会自动创建 tmp/、loot/、logs/ 和 captures/。
无需预先存在任何东西。
loot/ 是结果落地的位置——每个模块一个子目录。其中的所有内容
都来自空中或目标设备,未经脱敏。它包含真实的网络名称和捕获的凭据。
对待 loot/ 的副本要像对待它所来自的设备一样。
不要提交它、同步它或通过电子邮件发送它。
“模块显示 OK 但什么都没发生。” 这是值得报告的失败。告诉我们哪个模块、你期望什么,以及 目标实际做了什么。
“它说没有网卡,或者 injection no。” 你的网卡无法注入。见硬件。
“某个模块拒绝运行。” 它通常正是在告诉你原因。阅读错误信息而不是重试—— 依赖硬件的模块是有意拒绝的。
“GUI 无法启动。” 检查 GTK4 是否已安装且至少为 4.14。
它无法在 Windows 上原生运行,任何封装都无法改变这一点:Windows 不向用户空间暴露原始 802.11 帧,因此任何工具都无法使用监听模式和注入。
可行的路径是 WSL2,它运行真正的 Linux 内核并透传 USB 网卡:
wsl --install
winget install usbipd
usbipd list
usbipd bind --busid <your-AR9271>
usbipd attach --wsl --busid <your-AR9271>
然后网卡会带着真正的 ath9k_htc 驱动出现在 WSL 内部,GUI 通过
Windows 11 上的 WSLg 运行。
添加一个模块: