引言
欢迎来到本实验,我们将学习如何解密 WPA 捕获文件。airdecap-ng 是 Aircrack-ng 套件中一个强大的工具,用于解密无线流量。在捕获无线数据包并成功破解 WPA/WPA2 密码后,下一步就是解密捕获的数据以分析其内容。这时就需要用到 airdecap-ng。
在本实验中,你将通过使用已知的网络 SSID 和密码,一步步学习如何使用 airdecap-ng 来解密一个已存在的捕获文件 (.cap)。这将帮助你理解将加密的、不可读的网络数据转换为清晰、可分析格式的工作流程。
获取破解的 WPA 密码
在本步骤中,我们将开始获取解密所需的最关键信息:WPA 密码。在实际场景中,你将通过使用 aircrack-ng 等工具,对捕获的 WPA 4 握手包执行字典攻击或暴力破解攻击来获得此密码。
为了本实验的目的,我们将假设此过程已成功完成。破解出的密码已保存在你当前目录 ~/project 下名为 cracked_password.txt 的文件中。
让我们查看此文件的内容以获取密码。使用 cat 命令在终端显示文件内容。
cat cracked_password.txt
你应该会看到以下输出,这就是我们将在解密过程中使用的密码:
password123
请记住这个密码,因为在后续步骤运行 airdecap-ng 命令时会用到它。
定位包含 WPA 握手的 .cap 文件
在本步骤中,我们需要找到包含加密无线流量的捕获文件。这些文件通常具有 .cap 或 .pcap 扩展名,并由 airodump-ng 或 Wireshark 等数据包嗅探工具生成。
在本实验中,一个名为 wpa_handshake.cap 的示例捕获文件已放置在你的 ~/project 目录中。要确认文件存在,你可以使用 ls -l 命令列出当前目录的内容。此命令提供文件的详细列表。
在你的终端中执行以下命令:
ls -l
你的输出应该与此类似,确认 wpa_handshake.cap 的存在:
total 12
-rw-r--r-- 1 labex labex 12 Mar 18 10:00 cracked_password.txt
-rw-r--r-- 1 labex labex 9 Mar 18 10:00 ssid.txt
-rw-r--r-- 1 labex labex 0 Mar 18 10:00 wpa_handshake.cap
现在我们已经确认了密码和捕获文件的位置,可以准备解密命令了。
使用 airdecap-ng 的 -e SSID 和 -p Passphrase 参数
在本步骤中,我们将构建 airdecap-ng 命令。要解密 WPA/WPA2 捕获文件,airdecap-ng 需要两个关键信息:网络的名称(SSID)及其密码。
该命令使用特定的标志(选项)来接受这些信息:
-e <essid>:此标志用于指定目标网络的 ESSID(Extended Service Set Identifier)。-p <passphrase>:此标志用于提供 WPA/WPA2 密码。
对于本实验,SSID 已存储在 ssid.txt 文件中。我们先查看一下:
cat ssid.txt
输出将是:
MyTestAP
结合第一步中的密码 "password123",我们命令的第一部分将是:airdecap-ng -e MyTestAP -p password123。
此命令结构告诉 airdecap-ng 要查找哪个网络的流量以及使用什么密钥进行解密。在下一步中,我们将添加输入捕获文件来完成命令。
指定要解密的输入捕获文件
在本步骤中,我们将完成并执行 airdecap-ng 命令。我们已经有了 SSID(MyTestAP)、密码(password123)和输入文件(wpa_handshake.cap)。现在,我们只需要将它们组合成一个命令。
airdecap-ng 命令的最后一个参数是你想要解密的捕获文件的路径。
在你的终端中运行以下完整命令。这将指示 airdecap-ng 读取 wpa_handshake.cap,查找与 "MyTestAP" SSID 匹配的数据包,并尝试使用 "password123" 对其进行解密。
airdecap-ng -e MyTestAP -p password123 wpa_handshake.cap
运行命令后,你将看到类似以下的输出。请注意,由于我们的示例 .cap 文件是空的,数据包计数将为零。最重要的一行是最后一行,它确认了一个新的、已解密文件的创建。
Total number of packets read 1
Total number of WPA packets 0
Total number of WPA handshakes 0
Number of plaintext data packets 0
Number of decrypted WPA packets 0
Number of decrypted WEP packets 0
File wpa_handshake-dec.cap created.
"File wpa_handshake-dec.cap created." 的消息表明操作成功。airdecap-ng 已生成一个新文件,其中包含流量的解密版本。
检查新创建的已解密捕获文件
在最后一步中,我们将验证已解密文件是否已创建,并学习如何检查它。airdecap-ng 不会修改原始捕获文件。相反,它会创建一个包含已解密数据包的新文件,通常是通过在原始文件名后附加 -dec.cap 来实现的。
首先,再次使用 ls -l 命令查看目录中的新文件。
ls -l
你现在将看到已解密文件 wpa_handshake-dec.cap 与原始文件一起列出:
total 16
-rw-r--r-- 1 labex labex 12 Mar 18 10:00 cracked_password.txt
-rw-r--r-- 1 labex labex 9 Mar 18 10:00 ssid.txt
-rw-r--r-- 1 labex labex 0 Mar 18 10:00 wpa_handshake-dec.cap
-rw-r--r-- 1 labex labex 0 Mar 18 10:00 wpa_handshake.cap
这个新文件 wpa_handshake-dec.cap 包含了捕获数据的明文版本。你现在可以使用 Wireshark 或 tcpdump 等网络分析工具对其进行分析。为了演示,让我们使用 tcpdump 和 -r 标志从新文件中读取。
tcpdump -r wpa_handshake-dec.cap
由于我们的源文件是空的,tcpdump 不会显示任何数据包。但是,它会确认它可以读取该文件,这就是本步骤的目标。
reading from file wpa_handshake-dec.cap, link-type EN10MB (Ethernet)
在包含实际数据包的真实场景中,此命令将显示已解密的数据包内容,例如 HTTP 请求、DNS 查询和其他明文流量。
总结
在本实验中,你已成功学会如何使用 airdecap-ng 来解密 WPA 加密的捕获文件。
你实践了完整的流程:
- 识别所需的密码和 SSID。
- 定位目标
.cap文件。 - 使用
-e(SSID) 和-p(密码) 标志构建airdecap-ng命令。 - 执行命令以生成一个新的、已解密的捕获文件(
-dec.cap)。 - 验证已解密文件的创建,并了解如何使用
tcpdump等工具对其进行分析。
这项技能在网络安全分析中至关重要,因为它弥合了破解网络密码与实际理解其中流量之间的差距。
