使用 hcxdumptool 为 Fluxion 捕获握手

Beginner
立即练习

介绍

在本实验中,你将学习使用 hcxdumptool 捕获 Wi-Fi 握手数据的完整工作流程,并为将其用于社会工程工具 Fluxion 做准备。hcxdumptool 是一个强大的工具,用于从 wlan 设备捕获数据包,专门用于获取 PMKID(Pairwise Master Key Identifiers)和握手信息,无需等待用户连接或使用 deauthentication 攻击。

你将经历以下过程:

  1. 从源代码安装 hcxdumptool
  2. 运行 hcxdumptool 从模拟的无线接口捕获网络数据。
  3. 使用配套工具 hcxpcaptool 将捕获的数据转换为标准的 .cap 文件格式。
  4. 将转换后的文件移动到 Fluxion 使用的相应目录。
  5. 了解如何在 Fluxion 框架中导入和使用此握手信息。

通过本实验的结束,你将对 Wi-Fi 安全审计中的一项关键技术有实际的理解。

在 Kali Linux 上安装 hcxdumptool

在此步骤中,你将安装 hcxdumptool。由于它并非总是在默认的软件包仓库中可用,因此获取最新版本最可靠的方法是从 GitHub 上的源代码进行编译。设置脚本已经为你安装了必要的依赖项。

首先,从 GitHub 克隆官方 hcxdumptool 仓库。你所有的工作都应该在 ~/project 目录中进行。

git clone https://github.com/ZerBea/hcxdumptool.git

你应该会看到指示仓库正在克隆的输出:

Cloning into 'hcxdumptool'...
remote: Enumerating objects: 8133, done.
remote: Counting objects: 100% (154/154), done.
remote: Compressing objects: 100% (88/88), done.
remote: Total 8133 (delta 81), reused 125 (delta 66), pack-reused 7979
Receiving objects: 100% (8133/8133), 2.21 MiB | 5.62 MiB/s, done.
Resolving deltas: 100% (6061/6061), done.

接下来,进入新创建的 hcxdumptool 目录:

cd hcxdumptool

现在,使用 make 命令编译源代码:

make

最后,将编译好的二进制文件安装到系统上,以便你可以从任何地方运行它:

sudo make install

为了验证 hcxdumptool 是否已正确安装,你可以查看其帮助菜单:

hcxdumptool -h

此命令应显示一长串可用选项,确认该工具已准备就绪。

运行 hcxdumptool 捕获 PMKID 和握手信息

在此步骤中,你将使用 hcxdumptool 开始捕获网络流量。在本实验中,为你创建了一个名为 wlan0 的模拟无线接口。

首先,导航回你的主项目目录:

cd ~/project

现在,运行 hcxdumptoolwlan0 接口上监听,并将任何捕获到的数据保存到名为 dump.pcapng 的文件中。我们还将启用状态显示,以便查看工具的运行情况。

执行以下命令。让它运行大约 10-15 秒,然后按 Ctrl+C 停止捕获过程。

sudo hcxdumptool -i wlan0 -o dump.pcapng --enable_status=1

在运行时,你将看到一个实时更新的状态屏幕:

start capturing (stop with ctrl+c)
INTERFACE:...............: wlan0
FILTERLIST...............: 0 entries
MAC CLIENT...............: 000000000000
MAC ACCESS POINT.........: 000000000000
EAPOL TIMEOUT............: 150000
REPLAYCOUNT..............: 63468
ANONCE...................: a1a2a3a4a5a6a7a8a9b1b2b3b4b5b6b7b8b9c1c2c3c4c5c6c7c8c9d1d2d3d4d5

[22:12:30 - 001]

在你按下 Ctrl+C 后,工具将停止并保存捕获文件。你可以通过列出当前目录中的文件来验证 dump.pcapng 文件是否已创建:

ls -l

你应该会在输出列表中看到 dump.pcapng

-rw-r--r-- 1 labex labex   24 Mar 20 22:12 dump.pcapng
drwxr-xr-x 8 labex labex 4096 Mar 20 22:10 fluxion
drwxr-xr-x 3 labex labex 4096 Mar 20 22:11 hcxdumptool

使用 hcxpcaptool 将输出转换为 .cap 文件

在此步骤中,你将把原始的 dump.pcapng 文件转换为与 Fluxion 或 Hashcat 等其他工具兼容的格式。hcxdumptool 套件包含一个名为 hcxpcaptool 的工具来实现此目的。它从原始捕获中提取有价值的握手和 PMKID 信息。

运行以下 hcxpcaptool 命令来处理你的 dump.pcapng 文件。此命令将创建一个名为 handshake.cap 的新文件,其中包含清理后的数据。

hcxpcaptool -o handshake.cap dump.pcapng
  • -o handshake.cap: 指定输出文件的名称。
  • dump.pcapng: 前一个步骤的输入文件。

该命令将产生输出,总结转换过程。由于我们处于一个没有实际流量的模拟环境中,找到 0 个握手是正常的。目标是学习命令的工作流程。

summary:
--------
file name....................: dump.pcapng
file type....................: pcapng
file hardware information....: x86_64
file os information..........: Linux 5.15.0-101-generic
file application information.: hcxdumptool 6.2.7
network type.................: DLT_IEEE802_11_RADIO (127)
endianess....................: little endian
read errors..................: 0
packets inside...............: 1
skipped packets..............: 0
packets with FCS.............: 0
beacons (with ESSID inside)..: 0
probe requests...............: 1
probe responses..............: 0
association requests.........: 0
association responses........: 0
reassociation requests.......: 0
reassociation responses......: 0
authentications (OPEN SYSTEM): 0
authentications (BROADCOM)...: 0
EAPOL packets................: 0
EAPOL PMKIDs.................: 0
EAPOL M1M2ROGUEs.............: 0
EAPOL M2s....................: 0
EAPOL M3s....................: 0
EAPOL M4s....................: 0
found handshakes.............: 0

现在,再次列出目录中的文件以确认 handshake.cap 已创建:

ls -l

你现在应该在文件列表中看到 handshake.cap

将转换后的 .cap 文件复制到 Fluxion Handshakes 文件夹

在此步骤中,你将把 handshake.cap 文件移动到 Fluxion 查找预捕获握手的特定目录。这使你可以在 Fluxion 攻击中使用捕获到的数据,而无需在工具本身内再次捕获。

Fluxion 工具在你设置过程中已被克隆,它有一个专门用于此目的的文件夹,位于 fluxion/attacks/HandshakeSnooper/handshakes/

使用 cp 命令将你的 handshake.cap 文件复制到该目录:

cp handshake.cap fluxion/attacks/HandshakeSnooper/handshakes/

为了验证文件是否已成功复制,请列出目标目录的内容:

ls -l fluxion/attacks/HandshakeSnooper/handshakes/

你应该会在输出中看到你的 handshake.cap 文件,以及一个默认存在的 .gitkeep 文件。

total 4
-rw-r--r-- 1 labex labex 24 Mar 20 22:14 handshake.cap
-rw-r--r-- 1 labex labex  0 Mar 20 22:10 .gitkeep

你的握手文件现在已位于 Fluxion 可以使用的正确位置。

在 Fluxion 中导入和使用握手

在最后这个步骤中,我们将讨论准备好的握手文件如何在 Fluxion 中使用。运行完整的交互式 Fluxion 工具比较复杂,超出了本实验的范围,但了解这个过程很重要。

handshake.cap 文件放置在 fluxion/attacks/HandshakeSnooper/handshakes/ 目录后,你已成功准备好使用它。

在实际场景中,你将使用以下命令运行 Fluxion:

cd fluxion
sudo ./fluxion.sh

启动后,你将通过其菜单系统进行导航。当你选择一个需要握手的攻击时,例如“Captive Portal”攻击,Fluxion 会给你一个选项,让你选择捕获新握手或使用已有的握手。通过选择使用现有的握手,Fluxion 将自动检测并加载你的 handshake.cap 文件。然后,你就可以继续进行攻击的其余部分。

本实验的主要目标——使用 hcxdumptool 捕获握手并为其准备好供 Fluxion 使用——现已完成。你已成功地连接了这两个强大工具之间的桥梁。

为了最后一次确认一切就绪,你可以再次在目标目录上运行 ls 命令:

ls -l /home/labex/project/fluxion/attacks/HandshakeSnooper/handshakes/handshake.cap

此命令应能成功执行,显示你的文件详细信息,确认它已准备好进行实际攻击。

总结

在本实验中,你成功学习了使用 hcxdumptool 为 Fluxion 框架准备握手文件的端到端流程。这是现代 Wi-Fi 安全审计的一项基本且实用的技能。

你已掌握了以下关键步骤:

  • 通过编译源代码安装了 hcxdumptool 工具。
  • 使用 hcxdumptool 将模拟无线接口的原始数据包捕获到 .pcapng 文件中。
  • 使用 hcxpcaptool 工具将原始捕获文件转换为标准的 .cap 格式。
  • 将最终的 .cap 文件复制到正确目录,以便 Fluxion 自动识别和使用。

你现在已了解从初始捕获到最终准备的完整工作流程,以便在高级安全工具中使用外部捕获的握手。