引言
欢迎来到本次关于加速 WEP IV 捕获的实验。WEP (Wired Equivalent Privacy) 是一种过时且不安全的 Wi-Fi 安全协议。其主要弱点在于初始化向量 (Initialization Vectors, IVs) 的使用方式。要破解 WEP 密钥,攻击者需要捕获大量数据包,每个数据包都包含一个唯一的 IV。
被动等待网络生成足够的流量来捕获数万个 IV 可能需要数小时甚至数天。为了克服这个问题,我们可以使用一种称为 ARP 重放攻击 (ARP Replay Attack) 的主动技术。此攻击涉及捕获网络中的 ARP 数据包,然后将其重新注入(或“重放”)回去。这会欺骗接入点 (Access Point, AP) 生成大量新数据包,每个数据包都带有一个新的 IV,从而使我们能在几分钟内收集到所需数据。
在本次实验中,你将使用 Aircrack-ng 套件中的 aireplay-ng 工具来执行 ARP 重放攻击。我们将假定你已经将无线网卡置于监听模式 (monitor mode)。
使用 aireplay-ng 执行伪认证 -1
在此步骤中,你将与目标接入点 (AP) 执行“伪认证” (fake authentication)。在我们能够向网络注入任何数据包之前,我们的设备需要与 AP 关联。伪认证攻击建立这种关联,让 AP 认为我们是一个合法的客户端。
在本实验中,我们将使用以下模拟目标信息:
- 接口 (Interface):
wlan0mon - ESSID (网络名称):
labex-wep - BSSID (AP MAC 地址):
00:11:22:33:44:55 - 我们的 MAC 地址:
00:C0:CA:A1:B2:C3
现在,在你的终端中执行以下命令来执行伪认证。-1 指定伪认证攻击,0 将重关联时序设置为自动,-e 指定 ESSID,-a 指定 BSSID,-h 指定我们的源 MAC 地址。
sudo aireplay-ng -1 0 -e labex-wep -a 00:11:22:33:44:55 -h 00:C0:CA:A1:B2:C3 wlan0mon
在真实环境中,你将看到指示进度的输出。成功执行将显示类似“Authentication successful”和“Association successful”的消息。由于实验环境的限制,该命令可能不会产生完整的真实世界输出,但执行它是至关重要的第一步。
12:34:56 Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
12:34:56 Sending Authentication Request (Open System) [ACK]
12:34:57 Authentication successful
12:34:57 Sending Association Request [ACK]
12:34:57 Association successful :-) (AID: 1)
在建立关联后,我们可以继续进行主要攻击。
使用 aireplay-ng 发起 ARP 重放攻击 -3
在此步骤中,你将发起 ARP 重放攻击。此攻击由 aireplay-ng 中的 -3 标志指定,它会监听网络上的 ARP 数据包。一旦捕获到一个数据包,它将开始重放该数据包,以生成大量的新的 IV。
重要的是要在自己的终端窗口中运行此攻击,因为它将持续运行。请为该命令打开一个新的终端。你可以通过点击终端标签栏中的 + 图标来完成此操作。
在新终端中,执行以下命令。-3 标志启动 ARP 重放攻击,-b 指定目标 BSSID(AP),-h 指定我们的源 MAC 地址(我们用于认证的地址)。
sudo aireplay-ng -3 -b 00:11:22:33:44:55 -h 00:C0:CA:A1:B2:C3 wlan0mon
运行命令后,aireplay-ng 将开始监听。输出最初会显示它正在等待 ARP 数据包。
Saving ARP requests in replay_arp-1234-567890.cap
You should also start airodump-ng to capture replies.
Read 0 packets (got 0 ARP requests, 0 ACKs), sent 0 packets...(0 pps)
该工具现在处于被动监听状态。它需要捕获至少一个 ARP 数据包才能开始重放过程。在下一步中,我们将设置一个监控工具来观察我们的进展。保持此终端运行。
使用 airodump-ng 监控 IV 捕获
在此步骤中,你将使用 airodump-ng 来监控网络,更重要的是,查看你的 ARP 重放攻击的结果。airodump-ng 将捕获攻击生成的所有数据包并将其保存到文件中。捕获的数据包 (IVs) 的数量是成功的关键指标。
此命令也需要在自己的终端中持续运行。请通过再次点击 + 图标打开第三个终端窗口。
在此新终端中,运行以下 airodump-ng 命令。
--bssid: 将捕获范围聚焦于我们的目标 AP。-c 6: 将通道设置为 6(假设 AP 在此通道上)。--write wep_capture: 告诉airodump-ng将捕获的数据包保存到以wep_capture为前缀的文件中。wlan0mon: 要使用的监控模式接口。
sudo airodump-ng --bssid 00:11:22:33:44:55 -c 6 --write wep_capture wlan0mon
运行命令后,你将看到 airodump-ng 界面。密切关注我们目标 BSSID 的 #Data 列。这个数字代表捕获的 IVs 的计数。
CH 6 ][ Elapsed: 0 s ][ 2023-10-27 10:10
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:11:22:33:44:55 -30 10 0 0 6 54 WEP WEP labex-wep
BSSID STATION PWR Rate Lost Frames Probe
最初,#Data 计数将为零或非常低。一旦 aireplay-ng 攻击(来自步骤 2)捕获了一个 ARP 数据包并开始注入,你将看到这个数字迅速增加。保持此终端运行,并继续下一步以理解该过程。
理解 ARP 重放如何生成可注入流量
此步骤是概念性的;你无需运行任何新命令。目标是理解你的三个终端窗口正在发生什么。
在实际场景中,你现在会等待网络上的合法客户端发送 ARP 请求(例如,当它首次加入网络或尝试查找其他设备时)。
捕获 (Capture): 你的
aireplay-ng -3进程(在第二个终端中)正在等待这种情况发生。一旦它捕获到一个 ARP 数据包,其输出将会改变。它会指示已读取一个数据包,并正在保存它。Read 147 packets (got 1 ARP request), sent 0 packets...(0 pps)重放 (Replay): 在捕获 ARP 数据包后,
aireplay-ng会立即开始将其重放注入网络。你将看到“sent”计数器快速增加。Read 250 packets (got 1 ARP request), sent 86 packets...(102 pps)生成 (Generate): AP 接收到这些重放的 ARP 数据包。对于它收到的每一个数据包,它都会广播一个回复。每个回复都使用 WEP 加密,并包含一个新颖的、唯一的 IV。
监控 (Monitor): 你的
airodump-ng进程(在第三个终端中)捕获了 AP 发送的所有这些回复。你将看到目标网络的#Data列开始急剧上升,通常每秒增加数百个。
这个反馈循环是攻击的核心。我们使用一个捕获的 ARP 数据包来欺骗 AP 为我们生成数千个新数据包,从而极大地加速了 IV 收集过程。
收集超过 20000 个 IVs 后停止攻击
在此最后一步中,你将在收集到足够数量的 IVs 后停止攻击。要破解 WEP 密钥,通常的目标是 20,000 到 40,000 个 IVs,尽管根据密钥强度可能需要更多。
对于本次实验,我们将计数超过 20,000 后停止。
请在你的 airodump-ng 终端(你打开的第三个终端)中观察 #Data 列。一旦该值大于 20,000,你就可以停止捕获和攻击。
要停止进程,请转到两个正在运行的终端(airodump-ng 和 aireplay-ng)中的每一个,然后按 Ctrl+C。最好先停止 airodump-ng,以确保所有数据包都已写入文件。
停止进程后,airodump-ng 命令将在你的 ~/project 目录中创建几个文件。其中最重要的是捕获文件,其后缀为 .cap。让我们列出文件以确认它已被创建。
ls -l
你应该会看到类似以下的输出,确认 wep_capture-01.cap 的存在。
-rw-r--r-- 1 root root 2450000 Oct 27 10:15 wep_capture-01.cap
-rw-r--r-- 1 root root 78123 Oct 27 10:15 wep_capture-01.csv
...
这个 .cap 文件包含了你收集到的所有 IVs,现在可以与 aircrack-ng 一起使用来破解 WEP 密钥。
总结
在本次实验中,你已成功学会了如何对受 WEP 保护的网络执行最有效的攻击之一。
你首先使用 aireplay-ng -1 执行了伪造身份验证,将你的设备与目标接入点(Access Point)关联。然后,你启动了本次实验的核心——ARP 重放攻击,使用 aireplay-ng -3 来监听和重放 ARP 数据包。你还设置了 airodump-ng 来监控网络并捕获产生的流量。
你了解到此攻击如何创建一个反馈循环,欺骗 AP 每分钟生成数千个新的数据包(IVs)。最后,你在收集到足够数量的 IVs 后停止了攻击,得到一个可用于破解的 .cap 文件。这种主动技术比被动等待网络流量要高效得多。下一步,也是本次实验范围之外的,将是使用 aircrack-ng 对 wep_capture-01.cap 文件进行操作以恢复 WEP 密钥。
