引言
Wi-Fi Protected Setup (WPS) 是一项旨在简化设备连接到安全无线网络的功能。然而,某些 WPS 的实现存在一个关键漏洞,可以被利用。Pixie-Dust 攻击针对的是一些无线接入点 (access points) 在 WPS 握手过程中生成随机数 (nonces) 的方式中的一个缺陷。与需要数小时的标准暴力破解攻击不同,成功的 Pixie-Dust 攻击可以在几秒钟内恢复 WPS PIN 和 WPA/WPA2 密码。
在本实验 (lab) 中,你将扮演一名渗透测试人员,学习此攻击的工作原理。你将使用 aircrack-ng 套件和 Reaver 中的工具,在模拟环境中识别易受攻击的目标并执行 Pixie-Dust 攻击。这将让你对这种强大的 Wi-Fi 黑客技术有实际的理解。
从 wash 扫描中识别易受 Pixie-Dust 攻击的目标
在此步骤中,你将首先扫描附近启用了 WPS 的 Wi-Fi 网络。为此,你首先需要将无线接口置于“监控模式”(monitor mode),这允许它捕获空中所有的 Wi-Fi 流量,而不仅仅是发往你设备的流量。airmon-ng 工具用于此目的。
让我们开始在 wlan0 接口上启用监控模式。在实际场景中,这会创建一个新的虚拟接口,通常命名为 wlan0mon。
sudo airmon-ng start wlan0
你应该会看到输出确认监控模式已在名为 wlan0mon 的新接口上启用。
PHY Interface Driver Chipset
phy0 wlan0 ath9k Atheros Communications Inc. AR9271 802.11n
(mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
(mac80211 station mode vif disabled for [phy0]wlan0)
现在你已经有了一个处于监控模式的接口,你可以使用 wash 工具扫描启用了 WPS 的接入点 (APs)。wash 将列出它检测到的所有 WPS 网络,以及关于它们的重要信息。
运行以下命令在你的监控接口上开始扫描:
sudo wash -i wlan0mon
片刻之后,wash 将显示一个网络列表。
Wash v1.6.5 WiFi Protected Setup Scan Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>
BSSID Ch WPS Version WPS Locked ESSID
----------------------------------------------------------------
00:11:22:33:44:55 6 1.0 No VulnerableAP
AA:BB:CC:DD:EE:FF 1 1.0 Yes SecuredAP
从这个输出中,寻找一个目标。Pixie-Dust 攻击的理想目标是 WPS Locked 为 No 的网络。在我们的例子中,ESSID 为 VulnerableAP、BSSID 为 00:11:22:33:44:55 的网络就是我们的目标。记下它的 BSSID,因为你将在下一步中使用它。
使用 -K 或 --pixie-dust 参数启动 Reaver
在此步骤中,我们将准备使用 Reaver 发起攻击。Reaver 是一个专门设计用于针对 WPS 注册器 PIN 进行暴力破解攻击以恢复 WPA/WPA2 密码短语的工具。
然而,Reaver 也为速度快得多的 Pixie-Dust 攻击提供了一个特殊模式。要启用此模式,你必须使用 -K 或 --pixie-dust 命令行参数。当使用此参数时,Reaver 将首先尝试 Pixie-Dust 攻击。如果目标 AP 不易受攻击,Reaver 可以回退到传统的、较慢的暴力破解方法。
用于 Pixie-Dust 攻击的 Reaver 命令的基本结构如下所示:
sudo reaver -i <monitor_interface> -b <target_bssid> -K
sudo reaver: 以 root 权限执行 Reaver 工具。-i <monitor_interface>: 指定处于监控模式的网络接口(例如wlan0mon)。-b <target_bssid>: 指定目标接入点的 BSSID(MAC 地址)。-K: 这是告诉 Reaver 执行 Pixie-Dust 攻击的关键开关。
此步骤是关于理解命令的结构。在下一步中,你将把这些知识与从 wash 扫描中收集到的信息结合起来执行完整的命令。
指定目标 BSSID 和监控接口
现在是时候将所有内容整合起来并启动攻击了。你已经确定了目标 BSSID,并且知道 Reaver 进行 Pixie-Dust 攻击的命令结构。
回顾步骤 1:
- 监控接口:
wlan0mon - 目标 BSSID:
00:11:22:33:44:55
你现在将构建完整的 Reaver 命令。我们还将添加 -vv(非常详细)选项。强烈推荐使用此选项,因为它会显示 WPS 交换的详细信息,包括对于 Pixie-Dust 攻击至关重要的 nonces 和 hashes。这些输出对于理解攻击如何工作至关重要。
在你的终端中执行以下命令来启动攻击:
sudo reaver -i wlan0mon -b 00:11:22:33:44:55 -K -vv
Reaver 现在将开始与目标接入点通信。你将看到一系列消息,指示 WPS 握手的进度。由于在我们的模拟环境中目标易受攻击,攻击将非常迅速。
理解 Pixie-Dust 如何利用弱 Nonce 生成
在此步骤中,你将分析 Reaver 命令的输出,以理解 Pixie-Dust 攻击的机制。这是一个概念性步骤,无需运行新命令。
查看 Reaver 在上一步生成的详细输出。你应该会看到以 [P] 开头的行,这些行显示了在 WPS 交换期间捕获的值:
...
[+] Sending M1 message
[+] Received M2 message
[P] E-S1: d3b25a26a713c1b2
[P] E-S2: 1a84a5e22236aebd
[P] PKE: c1...e2
[P] PKR: 3a...b1
[P] E-Hash1: 7d...c3
[P] E-Hash2: 9f...a5
[P] AuthKey: 8c...99
...
以下是发生的情况:
- WPS 握手: 客户端(Reaver)和 AP 交换一系列消息(M1、M2 等)进行身份验证。
- Nonce 交换: 在此握手中,它们交换“nonces”(
E-S1和E-S2),这些 nonces 本应是仅使用一次的大型随机数。 - 漏洞: Pixie-Dust 漏洞存在于使用弱或可预测算法生成这些 nonces 的 AP 中。nonce 不是真正随机的,而是源自或与可用于破解 PIN 的密钥密切相关。
- 离线破解: Reaver 从 AP 捕获两个 nonces(
E-S1和E-S2)以及两个 hashes(E-Hash1和E-Hash2)。有了这四个值,它就有了足够的信息在本地机器上执行 离线 计算。它在你的本地机器上暴力破解 PIN,而无需向 AP 发送任何更多请求。
由于破解过程是离线进行的,并且利用了 nonce 生成中的数学弱点,因此它绕过了 AP 的速率限制防御,几乎立即找到了正确的 PIN。
观察 PIN 和密钥的近乎即时恢复
在最后一步中,你将观察到攻击的成功结果。在 Reaver 执行离线计算后,它将显示恢复的凭据。
来自步骤 3 的 Reaver 输出的最后一部分应如下所示:
...
[+] Pixie-Dust attack...
[+] 100.00% complete @ 2023-10-27 10:30:00 (0 seconds remaining)
[+] WPS PIN: '12345670'
[+] WPA PSK: 'SuperSecretPassword'
[+] AP SSID: 'VulnerableAP'
让我们分解一下恢复的信息:
WPS PIN: '12345670': 这是路由器 WPS 功能的 8 位 PIN 码。你可以使用此 PIN 码将其他支持 WPS 的设备连接到网络。WPA PSK: 'SuperSecretPassword': 这是 WPA/WPA2 预共享密钥,也就是网络的实际 Wi-Fi 密码。这是攻击的最终目标。AP SSID: 'VulnerableAP': 这确认了你已成功攻破的网络名称。
最值得注意的是速度。请注意输出中的“0 seconds remaining”。整个过程,从发起握手到恢复密钥,仅用了几秒钟。这与传统的 WPS 暴力破解攻击形成了鲜明对比,后者可能需要数小时,甚至在 AP 在几次失败尝试后锁定 WPS 的情况下是不可能的。你现在已经成功展示了 WPS Pixie-Dust 攻击的有效性。
总结
在此实验中,你成功地在模拟环境中执行了 WPS Pixie-Dust 攻击。你获得了 Wi-Fi 安全评估工具和概念的实践经验。
你学会了:
- 使用
airmon-ng为无线接口启用监控模式(monitor mode)。 - 使用
wash扫描并识别启用了 WPS 的接入点(access points)。 - 理解 Reaver 中
-K(--pixie-dust) 标志的作用。 - 使用
reaver执行有针对性的 Pixie-Dust 攻击,指定目标的 BSSID。 - 解析输出以理解攻击如何利用弱 Nonce 生成。
- 观察 WPS PIN 和 WPA PSK 的近乎即时恢复。
此实验突显了一个重大的现实世界漏洞。对此类以及其他与 WPS 相关的攻击最有效的防御措施是,在路由器的管理设置中完全禁用 WPS 功能。
