使用 airdecap-ng 解密 WEP 捕获文件

Beginner
立即练习

引言

airdecap-ng 是 Aircrack-ng 套件中一个强大的工具,用于解密无线流量捕获文件。一旦你成功破解了 WEP、WPA 或 WPA2 网络的密码,就可以使用 airdecap-ng 将加密的流量捕获文件(.cap 文件)转换为解密版本。这个新文件允许你使用 Wireshark 或 tshark 等工具以明文形式分析网络通信的内容。

在本实验中,你将模拟无线渗透测试的最后阶段。我们将假设你已经捕获了加密的 WEP 流量并成功破解了密钥。你的任务是使用 airdecap-ng 和已知的密钥来解密捕获文件并验证结果。

获取十六进制格式的破解 WEP 密钥

在此步骤中,你将找到之前“破解”的 WEP 密钥。在实际场景中,此密钥将是 aircrack-ng 等工具的输出。在本实验中,我们模拟了此输出并将其保存到文本文件中。

首先,让我们检查包含密钥的文件。它位于 ~/project/wep_scenario/crack_result.txt。使用 cat 命令显示其内容:

cat ~/project/wep_scenario/crack_result.txt

你将看到以下输出,它模仿了 aircrack-ng 的成功结果:

                        KEY FOUND! [ 1A:2B:3C:4D:5E ]

airdecap-ng 工具要求 WEP 密钥为纯十六进制格式,不带任何冒号或其他分隔符。根据上面的输出,密钥是 1A:2B:3C:4D:5E。在接下来的步骤中,你需要使用 1A2B3C4D5E 作为此密钥。

定位包含加密流量的原始 .cap 文件

在此步骤中,你将定位包含加密 WEP 流量的捕获文件。这是我们将输入到 airdecap-ng 进行解密的文件。

本实验的设置脚本已将必要的文件放置在 ~/project/wep_scenario 目录中。使用 ls -l 命令列出此目录中的文件并识别捕获文件。

ls -l ~/project/wep_scenario

输出将显示目录中的文件:

total 68
-rw-r--r-- 1 labex labex    44 Dec 01 12:00 crack_result.txt
-rw-r--r-- 1 labex labex 65879 Dec 01 12:00 wep_traffic.cap

如你所见,捕获文件名为 wep_traffic.cap。这是我们解密过程的输入文件。

使用 airdecap-ng 的 -w WEP 密钥参数

在此步骤中,你将了解 airdecap-ng 的基本语法及其对 WEP 解密最重要的参数。通用语法是 airdecap-ng [options] <capture file>

对于解密 WEP 加密流量,关键选项是 -w,它代表“WEP key”。此参数用于提供你在第一步中识别的十六进制密钥。

为了方便输入命令,首先导航到工作目录:

cd ~/project/wep_scenario

现在,让我们查看 airdecap-ng 的帮助菜单,以了解 -w 参数的官方描述。

airdecap-ng --help

你将看到所有可用选项的列表。在输出中查找 -w 选项:

...
Common options:
      -l         : don't remove 802.11 header
      -b <bssid> : access point MAC address
      -e <essid> : target network ESSID

WEP specific options:
      -w <key>   : target network WEP key in hex
...

这证实了 -w 是我们 WEP 密钥的正确参数。在下一步中,我们将此参数与我们的密钥和输入文件结合起来执行解密。

指定要解密的输入捕获文件

在此步骤中,你将组合所有要素:airdecap-ng 命令、带 -w 参数的 WEP 密钥以及输入捕获文件。这将执行解密过程。

确保你位于 ~/project/wep_scenario 目录中。现在,使用密钥 1A2B3C4D5E 和输入文件 wep_traffic.cap 运行 airdecap-ng 命令。

airdecap-ng -w 1A2B3C4D5E wep_traffic.cap

该工具将处理文件并显示其操作摘要。输出将类似于:

Total number of packets read          1236
Total number of WEP data packets       254
Total number of WPA data packets         0
Number of plaintext data packets         0
Number of decrypted WEP  packets       254
Number of decrypted WPA  packets         0
Number of packets written to file      254

最重要的结果是 airdecap-ng 已创建一个新文件。默认情况下,它会在原始文件名后附加 -dec.cap。因此,现在应该存在一个名为 wep_traffic-dec.cap 的新文件。

通过再次列出当前目录中的文件来验证这一点:

ls

你现在应该在列表中看到新创建的解密文件:

crack_result.txt  wep_traffic.cap  wep_traffic-dec.cap

这个新文件包含与原始文件相同的数据包,但其数据负载现在是明文的。

在 Wireshark 中分析新的解密 .cap 文件

在此步骤中,你将检查新解密文件的内容,以确认流量现在是可读的。虽然像 Wireshark 这样的图形工具是理想选择,但我们可以使用其命令行等效工具 tshark 在终端中快速检查文件。

首先,让我们使用 tshark 查看原始加密文件的前 10 个数据包。-r 选项告诉 tshark 从文件中读取。

tshark -r wep_traffic.cap | head -n 10

请注意,大多数数据包的协议列为 802.11,信息列显示它们受到保护。

    1   0.000000 00:09:5b:89:a5:e9 -> ff:ff:ff:ff:ff:ff 802.11 60 Beacon frame, SN=3296, FN=0, Flags=........, BI=100, SSID=linksys
    2   0.000013 00:14:a5:8d:fb:c8 -> 00:09:5b:89:a5:e9 802.11 114 Data, SN=2083, FN=0, Flags=...P...., WEP
    3   0.000539 00:09:5b:89:a5:e9 -> 00:14:a5:8d:fb:c8 802.11 60 ACK, SN=2083, FN=0, Flags=........
    4   0.102399 00:09:5b:89:a5:e9 -> ff:ff:ff:ff:ff:ff 802.11 60 Beacon frame, SN=3297, FN=0, Flags=........, BI=100, SSID=linksys
...

现在,让我们对我们的新解密文件 wep_traffic-dec.cap 执行相同的操作。

tshark -r wep_traffic-dec.cap | head -n 10

仔细观察输出。你现在可以看到像 ARPDHCP 这样的更高级别协议。这意味着 WEP 加密层已被成功移除,并且底层数据可见。

    1   0.000013 00:14:a5:8d:fb:c8 -> ff:ff:ff:ff:ff:ff ARP 42 Who has 192.168.1.1? Tell 192.168.1.100
    2   0.102938 00:14:a5:8d:fb:c8 -> ff:ff:ff:ff:ff:ff ARP 42 Who has 192.168.1.1? Tell 192.168.1.100
    3   0.205337 00:14:a5:8d:fb:c8 -> ff:ff:ff:ff:ff:ff DHCP 342 DHCP Request
    4   0.307736 00:14:a5:8d:fb:c8 -> ff:ff:ff:ff:ff:ff DHCP 342 DHCP Request
...

通过比较这两个输出,你已确认解密成功。文件 wep_traffic-dec.cap 现在可用于详细的数据包分析。

总结

恭喜你完成了本次实验!你已成功使用 airdecap-ng 解密了一个 WEP 加密捕获文件。

在本次实验中,你学会了如何:

  • 找到一个预先破解的 WEP 密钥,并将其格式化以供 airdecap-ng 使用。
  • 识别目标加密捕获文件。
  • 使用 airdecap-ng -w <key> <file> 命令执行解密。
  • 验证新解密的 .cap 文件的创建。
  • 使用 tshark 检查和比较加密与解密文件,确认操作成功。

这项技能是无线网络分析和安全审计的基础部分,它能让你将捕获的加密数据流转化为有意义的、可读的信息。