Reaver 实现了一种针对 Wifi Protected Setup (WPS) 注册器 PIN 的 暴力破解攻击,以恢复 WPA/WPA2 密码,正如 Stefan Viehböck 在 《当糟糕的设计遇上糟糕的实现:暴力破解 Wi-Fi Protected Setup》 中所描述。 Reaver 被设计为一种针对 Wi-Fi Protected Setup (WPS) 注册器 PIN 的稳健且实用的攻击工具,用于 恢复 WPA/WPA2 密码,并已针对多种接入点和 WPS 实现进行了测试。 根据目标接入点 (AP) 的不同,传统的 在线暴力破解 方法恢复明文 WPA/WPA2 密码的 平均 时间约为 4-10 小时。实际上,通常只需要一半的时间就能猜出正确的 WPS PIN 并恢复密码。 使用 离线攻击 时,如果 AP 存在漏洞,可能仅需 几秒到几分钟。
reaver-wps 的第一个版本(reaver 1.0)由 Craig Heffner 于 2011 年创建。 reaver-wps-fork-t6x 版本 1.6.x 是一个 社区分支版本,包含 各种错误修复、新功能 以及额外的攻击方法(如 离线 Pixie Dust 攻击)。
如果你的内核不支持 wext 扩展(不幸的是,大多数现代发行版都是这种情况),则包含的切换无线信道代码将无法工作。你仍然可以手动切换信道,然后在运行 reaver/wash 时不使用信道选项,或者使用以下两种 libnl 实现之一进行构建。
然后使用 ./configure --enable-libnl3 或 --enable-libnl-tiny。
sudo apt -y install build-essential libpcap-dev aircrack-ng pixiewps
该示例使用 Kali Linux 作为操作系统,因为其中已包含 pixiewps。
要执行 pixie dust 攻击,你必须已安装 Wiire 的 Pixiewps,最新版本可在其 官方 GitHub 仓库 中找到。
下载
git clone https://github.com/t6x/reaver-wps-fork-t6x
或
wget https://github.com/t6x/reaver-wps-fork-t6x/archive/master.zip && unzip master.zip
进入目录
cd reaver-wps-fork-t6x*
cd src
编译
./configure
make
安装
sudo make install
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <[email protected]>
必需参数:
-i, --interface=<wlan> 要使用的监听模式接口名称
-b, --bssid=<mac> 目标 AP 的 BSSID
可选参数:
-m, --mac=<mac> 主机系统的 MAC 地址
-e, --essid=<ssid> 目标 AP 的 ESSID
-c, --channel=<channel> 设置接口的 802.11 信道(隐含 -f)
-s, --session=<file> 恢复之前的会话文件
-C, --exec=<command> 成功恢复 PIN 后执行指定的命令
-f, --fixed 禁用信道跳转
-5, --5ghz 使用 5GHz 802.11 信道
-v, --verbose 显示非关键性警告(-vv 或 -vvv 查看更多信息)
-q, --quiet 仅显示关键信息
-h, --help 显示帮助
高级选项:
-p, --pin=<wps pin> 使用指定的 PIN(可以是任意字符串或 4/8 位 WPS PIN)
-d, --delay=<seconds> 设置 PIN 尝试之间的延迟 [1]
-l, --lock-delay=<seconds> 如果 AP 锁定 WPS PIN 尝试,则设置等待时间 [60]
-g, --max-attempts=<num> 在尝试 num 次 PIN 后退出
-x, --fail-wait=<seconds> 在 10 次意外失败后设置休眠时间 [0]
-r, --recurring-delay=<x:y> 每 x 次 PIN 尝试休眠 y 秒
-t, --timeout=<seconds> 设置接收超时时间 [10]
-T, --m57-timeout=<seconds> 设置 M5/M7 超时时间 [0.40]
-A, --no-associate 不与 AP 关联(关联必须由其他应用程序完成)
-N, --no-nacks 收到乱序数据包时不发送 NACK 消息
-S, --dh-small 使用小 DH 密钥以提高破解速度
-L, --ignore-locks 忽略目标 AP 报告的锁定状态
-E, --eap-terminate 以 EAP FAIL 数据包结束每个 WPS 会话
-J, --timeout-is-nack 将超时视为 NACK(DIR-300/320)
-F, --ignore-fcs 忽略帧校验和错误
-w, --win7 模拟 Windows 7 注册器 [False]
-K, --pixie-dust 运行 pixiedust 攻击
-Z 运行 pixiedust 攻击
-O, --output-file=<filename> 将感兴趣的数据包写入 pcap 文件
-M, --mac-changer 每次 PIN 尝试时更改 MAC 地址的最后一位 [False]
示例:
reaver -i wlan0mon -b 00:90:4C:C1:AC:21 -vv
选项说明和使用示例可在 Craig Heffner 的 Readme 中找到。以下是对此后引入的新选项的描述:
-K 和 -Z 选项通过自动传递 PKE、PKR、E-Hash1、E-Hash2、E-Nonce 和 Authkey 变量来执行离线攻击 Pixie Dust (pixiewps)。pixiewps 随后将尝试攻击检测到的 Ralink、Broadcom 和 Realtek 芯片组。
特别提示:如果你正在攻击 Realtek AP,不要使用小 DH 密钥(-S)选项。
用户必须使用破解出的 PIN(-p 选项)再次运行 reaver 以获取 WPA 密码。
这是一个临时解决方案,未来将实现完整攻击的选项。
查看我们的 wiki:引入破解 WPS 的新方法:选项 p 与任意字符串
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner
必需参数:
-i, --interface=<iface> 用于捕获数据包的接口
-f, --file [FILE1 FILE2 FILE3 ...] 从捕获文件中读取数据包
可选参数:
-c, --channel=<num> 监听的信道 [auto]
-n, --probes=<num> 扫描模式下发送给每个 AP 的最大探测数 [15]
-O, --output-file=<filename> 将感兴趣的数据包写入 pcap 文件
-F, --ignore-fcs 忽略帧校验和错误
-2, --2ghz 使用 2.4GHz 802.11 信道
-5, --5ghz 使用 5GHz 802.11 信道
-s, --scan 使用扫描模式
-u, --survey 使用调查模式 [default]
-a, --all 显示所有 AP,包括未启用 WPS 的
-j, --json 以 JSON 格式打印扩展 WPS 信息
-U, --utf8 显示 UTF8 ESSID(不清理 ESSID,危险)
-p, --progress 显示破解进度百分比
-h, --help 显示帮助
示例:
wash -i wlan0mon
具体语法的详细选项说明可在 Craig Heffner 的 wash 说明 中找到。
关于新选项和功能:
Wash 的 -a 选项将列出所有接入点,包括未启用 WPS 的。
AP 探测响应中的扩展 WPS 信息(序列号、型号等)将以 JSON 格式打印在终端中。
Wash 现在显示接入点中 WiFi 芯片组的制造商,以便了解它们是否容易受到 pixie dust 攻击。
注意 wash 的输出可以管道传输到其他命令。更多信息请参见 wiki 文章 关于 wash 新选项的一切
reaver-wps-fork-t6x "社区版" 的创建者:
t6x
自 1.6b 版本以来的主要开发者:
rofl0r
修改贡献者:
t6_x, DataHead, Soxrok2212, Wiire, AAnarchYY, kib0rg, KokoSoft, rofl0r, horrorho, binarymaster, Ǹotaz, Adde88, feitoi
提出想法的贡献者:
nuroo, kcdtv
错误修复贡献者:
alxchk, USUARIONUEVO, ldm314, vk496, falsovsky, rofl0r, xhebox
Soxrok2212 为工具开发所做的所有工作Wiire 开发了 PixiewpsCraig Heffner 创建了 Reaver 并创建了默认 PIN 生成器(D-Link, Belkin) - http://www.devttys0.com/Dominique Bongard 发现了 Pixie Dust 攻击。