引言
Caffe-Latte 攻击是一种针对 WEP 协议的客户端攻击。与其他许多针对接入点 (AP) 的 Wi-Fi 攻击不同,此攻击侧重于网络中的客户端设备。它通过欺骗客户端发送数据包来工作,这些数据包可用于重建 WEP 密钥流,最终恢复 WEP 密钥。此方法特别有效,因为它不需要你在合法 AP 附近;你只需要在客户端的通信范围内即可。
在本实验中,你将使用 Aircrack-ng 套件执行 Caffe-Latte 攻击。你将学习如何识别目标,设置一个假的 AP 来引诱客户端,强制客户端连接,并捕获生成 WEP 密钥流所需的数据。
本实验仅用于教育目的。
识别连接到 WEP 网络中的客户端
在此步骤中,你将学习如何识别目标 WEP 网络和已连接的客户端。此侦察阶段的主要工具是 airodump-ng,它会扫描无线网络并列出已连接的设备。
首先,你需要将无线接口置于监听模式 (monitor mode)。此模式允许网卡监听空中所有的 Wi-Fi 流量,而不仅仅是发往它的流量。我们将假设你的无线接口名为 wlan0。
执行以下命令以启动监听模式:
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]wlan0mon on [phy0]wlan0)
现在,使用新创建的监听接口 (wlan0mon) 扫描网络。运行 airodump-ng 并让它扫描大约 15-20 秒,然后按 Ctrl+C 停止。
sudo airodump-ng wlan0mon
在真实环境中,airodump-ng 会显示附近网络和客户端的列表。在本实验中,我们将使用模拟场景。输出将类似于:
CH 6 ][ Elapsed: 15 s ][ 2023-10-27 10:30
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:11:22:33:44:55 -30 10 15 0 6 54e WEP WEP TestWEP
BSSID STATION PWR Rate Lost Frames Probe
00:11:22:33:44:55 AA:BB:CC:DD:EE:FF -45 0 - 1 0 18
从此输出中,你需要识别:
- BSSID: 接入点 (AP) 的 MAC 地址 (
00:11:22:33:44:55)。 - STATION: 连接到它的客户端的 MAC 地址 (
AA:BB:CC:DD:EE:FF)。 - CH: AP 运行的信道 (
6)。
在本次实验的其余部分,我们将使用这些模拟值。
使用 aireplay-ng -6 启动 Caffe-Latte 攻击监听器
在此步骤中,你将使用 aireplay-ng 启动 Caffe-Latte 攻击监听器。此命令会设置一个模仿合法网络的假接入点 (AP)。然后它将等待我们的目标客户端连接到它。
此监听器需要持续在后台运行以等待客户端。因此,你应该为该命令打开一个新终端。你可以通过点击控制台窗口顶部的终端标签栏中的 + 图标来打开新终端。
在新终端中,执行以下命令。请记住替换我们在上一步中确定的 BSSID 和客户端 MAC 地址。
sudo aireplay-ng -6 -b 00:11:22:33:44:55 -h AA:BB:CC:DD:EE:FF wlan0mon
让我们分解一下命令:
aireplay-ng: 我们用于攻击的工具。-6: 指定 Caffe-Latte 攻击模式。-b 00:11:22:33:44:55: 合法 AP 的 BSSID (MAC 地址)。-h AA:BB:CC:DD:EE:FF: 目标客户端的 MAC 地址。wlan0mon: 你处于监听模式的接口。
运行命令后,aireplay-ng 将开始监听。输出将如下所示,并且它将在此阶段等待:
Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
Listening for probes...
保持此终端运行,然后切换回你的原始(第一个)终端以进行下一步。
强制客户端断开连接以探测
在此步骤中,你将强制客户端断开与当前网络的连接。客户端很可能仍然连接到合法的 AP。通过发送解除认证 (deauthentication) 数据包,我们可以切断此连接。一旦断开连接,客户端将自动尝试通过探测已知网络来重新连接,这将引导它发现并连接到我们的假 AP。
切换回你的第一个终端。我们将再次使用 aireplay-ng,但这次是在解除认证模式 (-0) 下。
运行以下命令向客户端发送 5 个解除认证数据包:
sudo aireplay-ng -0 5 -a 00:11:22:33:44:55 -c AA:BB:CC:DD:EE:FF wlan0mon
以下是参数的含义:
-0: 将攻击模式设置为解除认证。5: 要发送的解除认证数据包的数量。通常少量数据包就足够了。-a 00:11:22:33:44:55: 客户端连接到的接入点 (AP) 的 BSSID。-c AA:BB:CC:DD:EE:FF: 你想要断开连接的客户端的 MAC 地址。wlan0mon: 你的监听模式接口。
你将看到确认数据包正在发送的输出:
10:35:10 Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
10:35:10 Sending 64 directed DeAuths to AA:BB:CC:DD:EE:FF (code 7).
此操作应该足以让客户端开始搜索要加入的网络。
等待客户端连接到你的假 AP
在此步骤中,你将观察客户端连接到你的假 AP。在你发送解除认证数据包后,断开连接的客户端开始扫描其网络。你的 aireplay-ng -6 监听器(在第二个终端中运行)将响应这些扫描,冒充合法的网络。
将你的视图切换回运行 Caffe-Latte 攻击的第二个终端。如果解除认证成功,你应该会看到新的输出,表明客户端已连接到你的假 AP。
输出将变为类似以下内容:
Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
Listening for probes...
Client AA:BB:CC:DD:EE:FF associated to fake AP (00:11:22:33:44:55)
消息 Client AA:BB:CC:DD:EE:FF associated to fake AP 确认了攻击正在按计划进行。客户端现在认为它已连接到其网络,但实际上它正在与你的机器通信。
攻击将自动开始将捕获的密钥流 (keystream) 保存到文件中。为了模拟此过程以进行验证,让我们创建 aireplay-ng 会生成的输出文件。在你的第一个终端中运行此命令:
touch ~/project/caffe-latte.xor
捕获 ARP 请求并生成 WEP 密钥流
在这个最后一步中,你将观察 Caffe-Latte 攻击的核心运作。既然客户端已连接到你的假 AP,它将尝试通过发送 ARP 请求等数据包在网络上进行通信。你的 aireplay-ng 监听器将捕获这些数据包,进行处理,然后将它们发送回客户端。客户端对这些被处理过的数据包的加密响应是我们收集 WEP 密钥流的关键。
继续观察运行 aireplay-ng -6 的第二个终端。你将看到输出表明 ARP 数据包正在被捕获和处理,并且密钥流正在保存到名为 caffe-latte.xor 的文件中。
输出将类似于:
Read 15 packets...
Got an ARP request from AA:BB:CC:DD:EE:FF.
Trying to get a PRGA ...
Got keystream: 1F:5A:B3...
Saving keystream in caffe-latte.xor
这个过程将继续进行,收集越来越多的数据。来自客户端的每个新数据包都提供了关于密钥流的更多信息。一旦在 caffe-latte.xor 文件中收集了足够的数据,就可以使用 packetforge-ng 和 aircrack-ng 等其他工具来伪造数据包并最终破解 WEP 密钥。
对于本次实验,成功生成 caffe-latte.xor 文件并看到密钥流被保存,就表明 Caffe-Latte 攻击成功了。
你现在可以通过在第二个终端中按 Ctrl+C 来停止攻击。你也可以关闭额外的终端。
总结
在本次实验中,你成功地对一个 WEP 客户端执行了 Caffe-Latte 攻击。你学习了一种强大的客户端攻击技术,并获得了 Aircrack-ng 套件的实践经验。
具体来说,你学会了:
- 使用
airmon-ng将无线网卡置于监听模式 (monitor mode)。 - 使用
airodump-ng来识别 WEP 网络和已连接的客户端。 - 使用
aireplay-ng -6设置 Caffe-Latte 攻击监听器,以创建一个假 AP。 - 使用
aireplay-ng -0的解除认证攻击 (deauthentication attack) 来强制客户端断开与其网络的连接。 - 观察捕获客户端数据包并生成 WEP 密钥流文件 (keystream file) 的过程。
这些知识是理解无线网络漏洞的关键部分。请始终牢记负责任地使用这些技能,并且仅在你被授权测试的网络上使用。
