使用 aircrack-ng 从捕获文件中破解 WEP 密钥

Beginner
立即练习

引言

欢迎来到本实验,我们将使用 aircrack-ng 来破解 WEP 密钥。WEP (Wired Equivalent Privacy) 是一种过时且不安全的 Wi-Fi 安全协议。其加密弱点允许攻击者通过分析相对少量的网络流量来恢复密钥。

在本实验中,你将使用 aircrack-ng,这是一个用于审计无线网络的流行工具集。具体来说,你将使用 aircrack-ng 工具来分析一个预先存在的捕获文件 (.cap),该文件包含捕获的网络数据包,包括破解 WEP 密钥所需的初始化向量 (IVs)。这个实践练习将展示破解 WEP 加密是多么直接,从而凸显使用 WPA3 等现代安全协议的重要性。

所有操作将在你的 ~/project 目录内的终端中进行。

选择包含捕获的 WEP IVs 的 .cap 文件

在此步骤中,你将首先检查工作目录的内容以找到捕获文件。实验环境已在你的 ~/project 目录中预先配置了名为 wep.cap 的捕获文件。此文件包含攻击所需的网络流量。

首先,让我们列出当前目录中的文件,以确认 wep.cap 存在。使用 ls -l 命令,该命令提供详细的列表。

ls -l

你应该在输出中看到 wep.cap 文件,类似如下:

total 68
-rw-r--r-- 1 labex labex 68884 Dec 12 12:00 wep.cap

这确认了文件已准备好进行下一步。

直接在捕获文件上运行 aircrack-ng

在此步骤中,你将对捕获文件运行 aircrack-ng 命令以启动破解过程。此操作的基本语法是 aircrack-ng <capture_file>

在终端中执行以下命令:

aircrack-ng wep.cap

运行命令后,aircrack-ng 将读取文件并显示它在捕获中找到的无线网络列表。然后,它会提示你选择要攻击的网络。

输出将类似如下:

Opening wep.cap
Read 11117 packets.

   ##  BSSID              ESSID                 Encryption

   1  00:14:6C:7E:40:80  <length: 6>          WEP (10408 IVs)

Choosing first network as target.

aircrack-ng 会自动选择第一个网络作为目标。攻击将在该消息之后立即开始。

分析攻击进度和 PTW 方法

在此步骤中,你将观察 aircrack-ng 开始攻击时的输出。在你选择目标网络后,aircrack-ng 会立即使用收集到的 IVs 开始破解过程。

该工具将显示实时进度信息。请注意以下细节:

  • IVs read: 显示从文件中读取的包和 IVs 的数量。
  • Attack Method: 使用的主要攻击是 PTW (Pyshkin, Tews, Weinmann) 攻击。这是一种高效的统计攻击,可以用相对较少的 IVs 破解 WEP 密钥。

屏幕将随着攻击的进行而更新,显示测试的 IVs 数量:

Opening wep.cap
Read 11117 packets.

   ##  BSSID              ESSID                 Encryption

   1  00:14:6C:7E:40:80  <length: 6>          WEP (10408 IVs)

Choosing first network as target.
Attack will be restarted every 5000 IVs.
Starting PTW attack with 10408 IVs.

此输出确认 PTW 攻击已开始。你只需等待其完成。

等待“KEY FOUND”消息出现

在此步骤中,你将等待 aircrack-ng 完成其过程并找到 WEP 密钥。当有足够数量的 IVs 时,PTW 攻击速度非常快。此实验中提供的 wep.cap 文件包含的 IVs 绰绰有余,因此破解过程应该只需要几秒钟。

一旦 aircrack-ng 成功确定密钥,它将停止攻击并显示清晰的成功消息。

在终端中查找以下输出:

                                 Aircrack-ng 1.6

      [00:00:00] Tested 1 keys (got 10408 IVs)

      KB    PTW   Key
       1   1036  00:14:6C:7E:40:80         KEY FOUND! [ 1F:1F:1F:1F:1F ]
       Decrypted correctly: 100%

KEY FOUND! 消息表示攻击成功。Decrypted correctly: 100% 行进一步确认找到的密钥是正确的。

解释十六进制格式的 WEP 密钥

在此步骤中,你将解释 aircrack-ng 的最终结果并记录密钥。上一步中最重要信息是密钥本身。

从输出 KEY FOUND! [ 1F:1F:1F:1F:1F ] 中,方括号内的值就是 WEP 密钥。它以十六进制格式显示。冒号 (:) 用作分隔符以提高可读性,并非实际密钥的一部分。密钥是 1F1F1F1F1F

为了完成此实验,让我们将恢复的密钥保存到一个名为 wep_key.txt 的文件中。这模拟了记录密钥以供将来使用。

执行以下命令将密钥(不带冒号)写入文件:

echo "1F1F1F1F1F" > wep_key.txt

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

cat wep_key.txt

输出应为:

1F1F1F1F1F

你现在已成功破解 WEP 密钥并将其保存。

总结

恭喜你!你已成功完成此实验。

在此实验中,你学习了如何使用 aircrack-ng,这是一个强大的无线网络审计工具。你首先识别了一个捕获文件,然后启动 aircrack-ng 对其进行分析。你观察了 PTW 攻击的实际过程,并成功从捕获的数据中恢复了一个 WEP 密钥。

这个练习展示了 WEP 协议的基本弱点,并强调了使用更强大、更现代的加密标准(如 WPA2 或 WPA3)来保护无线网络的重要性。