使用 wpaclean 清理 Hashcat 的捕获文件

Beginner
立即练习

引言

在执行 Wi-Fi 安全评估时,你通常会将网络流量捕获到一个文件中,文件扩展名通常是 .cap.pcap。这些原始捕获文件包含了你的网卡看到的所有无线数据包,包括 beacon 帧、probe 请求和数据包。然而,对于密码破解,你只需要构成 WPA/WPA2 四次握手的特定数据包。

保留所有额外的、不必要的数据包会使捕获文件变大,并可能减慢 Hashcat 等工具的处理速度。wpacleanaircrack-ng 套件中的一个实用工具,旨在解决这个问题。它通过移除所有不属于握手的数据包来“清理”捕获文件,从而生成一个更小、更高效的文件。

在本实验中,你将学习如何使用 wpaclean 清理一个示例捕获文件,然后将清理后的文件转换为 Hashcat 的正确格式。

理解清理捕获文件的目的

在本步骤中,你将了解在处理捕获文件之前对其进行清理的重要性。

正如引言中所述,原始捕获文件包含大量对于破解 WPA/WPA2 密码而言不相关的网络流量。唯一需要的信息是客户端和接入点之间交换的 4 次握手。

清理捕获文件的优点包括:

  • 减小文件大小: 移除数千个不必要的数据包可以显著减小文件大小,特别是对于长时间捕获。这可以节省磁盘空间,并使文件更易于管理和传输。
  • 加快处理速度: 像 Hashcat 这样的密码破解工具需要解析捕获文件以查找握手。通过提供一个清理过的文件,你消除了解析无关数据的开销,从而加快了启动时间。
  • 提高可靠性: 清理过的文件可以隔离关键的握手数据,减少因解析错误或与非握手数据包格式错误相关的问题的可能性。

wpaclean 工具通过智能过滤捕获文件并将仅与握手相关的数据包写入新文件来自动化此过程。本实验环境已安装 aircrack-ng 套件,其中包含 wpaclean

定位原始握手 .cap 文件

在本步骤中,你将定位我们将在整个实验中使用的示例捕获文件。

在本实验中,一个名为 wpa.cap 的示例捕获文件已在设置过程中自动下载到你的 ~/project 目录中。在实际场景中,你会使用 airodump-ng 等工具自己生成此文件。

让我们验证文件是否存在。使用 ls -l 命令列出当前目录的内容。

ls -l

你应该在输出中看到 wpa.cap 文件,以及它的权限、所有者、大小和修改日期。

total 4
-rw-r--r-- 1 labex labex 634 Mar 20 10:30 wpa.cap

这个小文件包含一个示例 WPA 握手,非常适合我们的演示。

使用输出和输入文件运行 wpaclean

在本步骤中,你将使用 wpaclean 命令清理原始捕获文件。

wpaclean 的语法很简单。你提供新、已清理的输出文件的名称,然后是原始输入文件的名称。

基本语法是:
wpaclean <output_file.cap> <input_file.cap>

现在,让我们在 wpa.cap 文件上运行此命令。我们将清理后的输出文件命名为 wpa_cleaned.cap

在你的终端中执行以下命令:

wpaclean wpa_cleaned.cap wpa.cap

该工具将处理输入文件并向你显示其工作的摘要。

Reading wpa.cap ...
Writing wpa_cleaned.cap ...

Done.
Total packets read:      6
Total packets written:   4 (handshake)

从输出中可以看到,wpaclean 从原始 wpa.cap 文件读取了 6 个数据包,但仅将 4 个必需的握手数据包写入了新的 wpa_cleaned.cap 文件。

比较原始文件和清理后文件的大小

在本步骤中,你将比较原始捕获文件和清理后捕获文件的大小,以了解 wpaclean 的效果。这将展示清理文件的主要好处。

我们可以使用 ls 命令配合 -lh 标志来获取“长”列表,并以“人类可读”的格式显示,这使得文件大小易于理解。

运行以下命令来显示 wpa.capwpa_cleaned.cap 的大小:

ls -lh wpa.cap wpa_cleaned.cap

你将看到类似以下的输出:

-rw-r--r-- 1 labex labex 424 Mar 20 10:35 wpa_cleaned.cap
-rw-r--r-- 1 labex labex 634 Mar 20 10:30 wpa.cap

注意大小差异。原始文件是 634 字节,而清理后的文件只有 424 字节。虽然对于这个微小的示例文件来说,减小量看起来不大,但减小的百分比却很显著。对于实际捕获中可能达到许多兆字节甚至千兆字节的文件,此清理过程可以节省大量空间并提高性能。

将清理后的 .cap 文件转换为 Hashcat 22000 格式

在本步骤中,你将把清理后的 .cap 文件转换为 Hashcat 可用于破解的格式。

Hashcat 不能直接使用 .cap 文件。它需要提取握手数据并以特定方式进行格式化。对于 WPA/WPA2,这是 Hashcat 模式 22000。我们将使用 hcxtools 套件中的一个工具 hcxpcapngtool 来执行此转换。

命令语法是:
hcxpcapngtool -o <output_hash_file> <input_cleaned.cap>

让我们将 wpa_cleaned.cap 文件转换为一个名为 wpa.hc22000 的 Hashcat 兼容文件。

hcxpcapngtool -o wpa.hc22000 wpa_cleaned.cap

该工具将输出转换摘要:

reading from wpa_cleaned.cap
summary:
file name....................: wpa_cleaned.cap
file type....................: pcap
file hardware information....: 802.11
file network type............: DLT_IEEE802_11 (105)
packets inside...............: 4
skipped packets..............: 0
packets with FCS.............: 0
beacons (with ESSID inside)..: 0
probe requests...............: 0
probe responses..............: 0
association requests.........: 0
association responses........: 0
reassociation requests.......: 0
reassociation responses......: 0
authentications (OPEN SYSTEM): 2
authentications (BROADCOM)...: 0
EAPOL packets................: 2
EAPOL PMKIDs.................: 0
EAPOL M1s....................: 1
EAPOL M2s....................: 1
EAPOL M3s....................: 0
EAPOL M4s....................: 0
best handshakes..............: 1 (ap-less: 0)

1 handshake(s) written to wpa.hc22000

一个新文件 wpa.hc22000 已被创建。让我们使用 cat 命令查看其内容。

cat wpa.hc22000

输出将是单一的长行文本。这是 Hashcat 可以理解的哈希值。

WPA*02*...long string of characters...

此文件现在已准备好与 Hashcat 一起用于密码破解尝试。

总结

恭喜你完成了本次实验!你已成功准备好原始 Wi-Fi 捕获文件,可供 Hashcat 使用。

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

  • 理解清理捕获文件对于提高效率和减小文件大小的重要性。
  • 使用 wpaclean 工具从原始 .cap 文件中剥离不必要的数据包。
  • 通过比较原始文件和清理后文件的大小来验证清理过程的有效性。
  • 使用 hcxpcapngtool 将清理后的捕获文件转换为 Hashcat 所需的 hc22000 格式。

你现在掌握了 Wi-Fi 安全评估工作流程中的一项基本技能。下一步合乎逻辑的操作是获取生成的 .hc22000 文件,并将其与字典(wordlist)一起用于 Hashcat,尝试恢复原始密码。