Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/wiire-a/pixiewps
Wi-Fi审计密码攻击漏洞利用无线安全学习与教育
GitHubwiire-a/pixiewps

pixiewps

一个离线的 Wi-Fi 保护设置暴力破解工具

查看仓库
1.7k324224个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

概述 License

Pixiewps 是一款用 C 语言编写的工具,用于离线暴力破解 WPS PIN,利用某些软件实现中低或不存在熵的漏洞,即 Dominique Bongard 在 2014 年夏季发现的所谓“精灵粉尘攻击”。此工具仅供教育用途。

与传统的在线暴力破解攻击(如 Reaver 或 Bully 等工具实现的方法)需要数小时才能恢复 PIN 不同,该方法仅在数秒或数分钟内就能获得 PIN(具体取决于目标),前提是目标存在漏洞。

pixiewps_screenshot_1

自 1.4 版本起,它还可以通过完整的被动捕获(M1 到 M7)为某些设备恢复 WPA-PSK(目前仅适用于某些支持 --mode 3 的设备)。

pixiewps_screenshot_2

这一切始于一个社区项目,更多详情可在此处找到:

  • https://forums.kali.org/showthread.php?25018-Pixiewps-wps-pixie-dust-attack-tool
  • https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)

您也可以访问 wiki。

依赖

root@kitploit:~
apt-get -y install build-essential
  • 1.2 之前的版本需要 libssl-dev
  • 1.4 及更高版本使用多线程,需要 libpthread(POSIX 线程)

OpenSSL 也作为可选依赖重新引入,以实现更快的速度。请参阅 构建 部分。

安装

下载

git clone https://github.com/wiire/pixiewps

或

wget https://github.com/wiire/pixiewps/archive/master.zip && unzip master.zip

构建

root@kitploit:~
cd pixiewps*/
make

可选地,可以运行 make OPENSSL=1 以使用更快的 OpenSSL SHA-256 函数。

安装

root@kitploit:~
sudo make install

用法

root@kitploit:~
用法: pixiewps <参数>

必需参数:

  -e, --pke         : 注册者公钥
  -r, --pkr         : 注册器公钥
  -s, --e-hash1     : 注册者哈希1
  -z, --e-hash2     : 注册者哈希2
  -a, --authkey     : 认证会话密钥
  -n, --e-nonce     : 注册者随机数

可选参数:

  -m, --r-nonce     : 注册器随机数
  -b, --e-bssid     : 注册者 BSSID
  -v, --verbosity   : 详细程度 1-3,1 最安静           [3]
  -o, --output      : 将输出写入文件
  -j, --jobs        : 使用的并行线程数         [自动]

  -h                : 显示此用法屏幕
  --help            : 详细帮助及更多用法示例
  -V, --version     : 显示版本

  --mode N[,... N]  : 模式选择,逗号分隔           [自动]
  --start [mm/]yyyy : 起始日期             (仅模式 3) [+1 天]
  --end   [mm/]yyyy : 结束日期               (仅模式 3) [-1 天]
  -f, --force       : 暴力破解全范围     (仅模式 3)

杂项参数:

  -7, --m7-enc      : 从 M7 恢复加密设置 (仅模式 3)
  -5, --m5-enc      : 从 M5 恢复秘密随机数       (仅模式 3)

用法示例

最常见的用法示例是:

root@kitploit:~
pixiewps --pke ... --pkr ... --e-hash1 ... --e-hash2 ... --authkey ... --e-nonce ...

这需要修改版的 Reaver 或 Bully,能够打印 认证会话密钥(--authkey,-a)。推荐使用 reaver-wps-fork-t6x。

该程序还提供了 man 页面和一个详细帮助屏幕(--help),其中包含更多示例。

-S, --dh-small

此功能最初在 Reaver 1.3 中引入。其原理是将私钥选择为 1,从而使得公钥 --pkr 始终为 2。这加快了破解过程,因为 AP 需要更少的计算量来计算 Diffie-Hellman 共享密钥,该密钥后续用于派生加密当前交易的会话密钥。Pixiewps 可以利用此功能,使用户无需输入 --pkr(始终为 2),并且如果指定了额外的参数 --r-nonce 和 --bssid,还可以可选地计算会话密钥(如 --authkey)。

事实证明,某些路由器存在缺陷,无法正确使用此功能。有些甚至无法验证正确的 PIN,导致交易在 M4 后失败。因此,此功能在 Reaver 中已弃用,且不应再使用。

-7, --m7-enc

此选项需要 M7 中的 加密设置 属性,该属性在注册器证明知道 PIN 后由接入点(注册者)发送其当前网络配置。

此功能可用于从被动数据包捕获(例如嗅探 PBC 会话)中破解 WPA-PSK(和 WPS PIN)。

-f, --force

此选项仅用于模式 3。使用后,pixiewps 将从当前时间开始暴力破解,一直回溯到 0。概念上与仅使用 --end 01/1970(或 --start 01/1970,因为它们可互换)相同。

空 PIN

空 PIN 以 <empty> 表示,可以在 Reaver 1.6.1 及更高版本中使用 -p "" 进行测试。这源于某些接入点 PIN 方法配置错误,导致 PIN 变量设置为 NULL(或空字符串)。

pixiewps_screenshot_3

支持平台

Pixiewps 可以针对多种平台编译。在 Windows 上,可以使用 MinGW 编译。请确保已安装 pthread 支持。

自 1.4.1 版本起,它已被纳入 OpenWrt 和 LEDE 的官方仓库。

版本命名规则

版本号格式为 1.x.y,其中 x 通常表示主要版本,y 表示次要版本(通常用于修复错误或其他小改动)。每个主要版本以 y = 0 开始,即使未明确标记,在发布后的最初几小时内也应视为不稳定版本。

有关版本之间的变更列表,请参阅 CHANGELOG。

对封装程序和脚本的说明

  • 输入数据可以使用以下字节分隔符之一格式化:':'、'-'、' ',或不使用分隔符
  • 最实用的标签(如 WPS pin 和 WPA-PSK)在成功时以 [+] 标记,失败时以 [-] 标记
  • Pixiewps 在成功尝试时返回 0
  • 一个_已弃用_的选项意味着不应再使用,并可能在后续版本中被移除

贡献

自第一个版本发布以来,Pixiewps 已经改进很多,但很难跟踪市场上的每一款设备。我们决定添加一条自动消息,表明我们对用户测试设备的参数感兴趣。

致谢

  • 部分代码受 Brian Purcell 的 Bully 启发
  • 加密和大数库取自 LibTomCrypt 和 TomsFastMath
  • 字节序检测和转换来自 rofl0r/endianness.h
  • 参见 贡献者列表 了解所有贡献者
  • 非常感谢 kcdtv、rofl0r 和 binarymaster 的帮助和测试
  • 特别感谢 soxrok2212、datahead、t6_x、aanarchyy 以及 Kali Linux 社区

参考文献

Pixiewps 基于 Dominique Bongard(@Reversity)的工作:

  • Offline bruteforce attack on WiFi Protected Setup(幻灯片)
  • WPS Insecurity(NTNU 视频演示)
下载工具