使用 Reaver 执行 WPS Pixie-Dust 攻击

Beginner
立即练习

引言

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 LockedNo 的网络。在我们的例子中,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
...

以下是发生的情况:

  1. WPS 握手: 客户端(Reaver)和 AP 交换一系列消息(M1、M2 等)进行身份验证。
  2. Nonce 交换: 在此握手中,它们交换“nonces”(E-S1E-S2),这些 nonces 本应是仅使用一次的大型随机数。
  3. 漏洞: Pixie-Dust 漏洞存在于使用弱或可预测算法生成这些 nonces 的 AP 中。nonce 不是真正随机的,而是源自或与可用于破解 PIN 的密钥密切相关。
  4. 离线破解: Reaver 从 AP 捕获两个 nonces(E-S1E-S2)以及两个 hashes(E-Hash1E-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 功能。