将现有握手文件导入 Fluxion

Beginner
立即练习

引言

Fluxion 是一款强大的社会工程学工具,用于审计无线网络的安全性。其主要攻击向量之一是强制门户(Captive Portal)攻击,该攻击需要目标网络有效的 WPA/WPA2 握手包。虽然 Fluxion 本身可以捕获此握手包,但你可能已经使用 airodump-ngbesside-ng 等其他工具捕获了握手文件(通常是 .cap 文件)。

在本实验中,你将学习将现有握手文件手动导入 Fluxion 的过程。这包括将 .cap 文件放置在正确的目录中,并创建一个相应的数据库文件,Fluxion 使用该文件来识别网络的详细信息。通过本实验的学习,你将能够无缝地将其他工具捕获的数据集成到你的 Fluxion 工作流程中。

从其他工具获取 .cap 握手文件

在此步骤中,我们将模拟已捕获握手文件的过程。在实际场景中,你可能在另一台机器上使用 airodump-ng 等工具生成此文件。在本实验中,已在 ~/project/external_captures 目录中为你准备了一个示例文件。

你的第一个任务是找到这个文件。使用 ls -l 命令列出目录内容,并识别我们的示例握手文件。

ls -l ~/project/external_captures

你应该看到以下输出,这证实了我们的 .cap 文件的存在。命名约定 ESSID_BSSID.cap 是常见的,但并非严格要求。

total 0
-rw-r--r-- 1 labex labex 0 Jan 1 12:00 MyHomeWiFi_00-11-22-33-44-55.cap

现在我们已经找到了文件,可以继续将其放置在 Fluxion 可以找到的位置。

将 .cap 文件复制到 'handshakes' 目录

在此步骤中,你将把握手文件移动到 Fluxion 扫描现有捕获文件的特定目录。Fluxion 将所有与攻击相关的文件(包括握手文件)存储在其自己的目录结构中。握手文件的正确位置是 ~/project/fluxion/attacks/Handshake/handshakes/

使用 cp 命令将 .cap 文件从 ~/project/external_captures 复制到 Fluxion 的握手文件目录。

cp ~/project/external_captures/MyHomeWiFi_00-11-22-33-44-55.cap ~/project/fluxion/attacks/Handshake/handshakes/

复制文件后,最好验证文件是否已位于正确的位置。再次使用 ls -l 命令检查目标目录的内容。

ls -l ~/project/fluxion/attacks/Handshake/handshakes/

你应该在输出中看到你复制的文件:

total 0
-rw-r--r-- 1 labex labex 0 Jan 1 12:01 MyHomeWiFi_00-11-22-33-44-55.cap

创建包含网络详细信息的相应 .db 文件

在此步骤中,你将创建一个 Fluxion 所需的元数据文件,以了解捕获网络的详细信息。仅拥有 .cap 文件是不够的;Fluxion 需要在同一目录中有一个同名的相应 .db 文件(例如 MyHomeWiFi_00-11-22-33-44-55.db)。此文件存储网络的 BSSID、ESSID 和频道。

首先,使用 touch 命令创建空的 .db 文件。

touch ~/project/fluxion/attacks/Handshake/handshakes/MyHomeWiFi_00-11-22-33-44-55.db

接下来,你需要以特定格式将网络信息填充到此文件中:BSSID;ESSID;CHANNEL。对于我们示例网络 "MyHomeWiFi",其 BSSID 为 "00:11:22:33:44:55",频道为 "6",请使用 echo 命令将此数据写入文件。

echo "00:11:22:33:44:55;MyHomeWiFi;6" > ~/project/fluxion/attacks/Handshake/handshakes/MyHomeWiFi_00-11-22-33-44-55.db

最后,使用 cat 命令验证 .db 文件的内容,以确保数据已正确写入。

cat ~/project/fluxion/attacks/Handshake/handshakes/MyHomeWiFi_00-11-22-33-44-55.db

输出应与你刚刚输入的字符串完全匹配:

00:11:22:33:44:55;MyHomeWiFi;6

启动 Fluxion 并选择目标网络

在此步骤中,你将启动 Fluxion,以查看它是否正确检测到我们导入的握手文件。由于 Fluxion 是一个需要无线适配器的交互式脚本,我们将模拟启动过程,并描述在真实环境中你将看到的内容。

首先,导航到 fluxion 目录。

cd ~/project/fluxion

现在,使用 sudo 权限执行主脚本。

sudo ./fluxion.sh

启动后,Fluxion 将显示一系列初始提示:

  1. 语言选择:它会要求你选择一种语言。你可以按 Enter 选择默认的英语。
  2. 适配器选择:它将搜索无线适配器。在我们的模拟实验环境中,它很可能找不到任何适配器。这是预期的。

在这些初始检查之后,Fluxion 将扫描 handshakes 目录。因为我们正确地放置了 .cap.db 文件,它将在列表中显示我们的目标网络。输出将类似于:

[#]      BSSID              CH  ENCR    POWER   ESSID
[1]      00:11:22:33:44:55  6   WPA2    -       MyHomeWiFi

这证实 Fluxion 已成功导入网络信息。对于本次实验,你现在可以通过按 Ctrl+C 退出脚本。

验证 Fluxion 将握手文件标记为“已验证”

在最后一步中,我们将探讨 Fluxion 如何验证握手文件。当 Fluxion 列出可用网络时,它还会检查相应的 .cap 文件是否包含可用的 WPA/WPA2 握手。它通过在后台运行 aircrack-ng 工具来实现这一点。

要亲眼看看这个过程,你可以运行 Fluxion 使用的相同命令。在我们的导入的 .cap 文件上执行 aircrack-ng

aircrack-ng ~/project/fluxion/attacks/Handshake/handshakes/MyHomeWiFi_00-11-22-33-44-55.cap

由于我们创建的 .cap 文件是空的,仅用于演示目的,aircrack-ng 将报告未找到有效的握手。输出将类似于:

Opening /home/labex/project/fluxion/attacks/Handshake/handshakes/MyHomeWiFi_00-11-22-33-44-55.cap
Read 0 packets.

   ##  BSSID              ESSID                     Encryption

   1  00:11:22:33:44:55  MyHomeWiFi                WPA (0 handshake)

Choosing first network as target.
Opening /home/labex/project/fluxion/attacks/Handshake/handshakes/MyHomeWiFi_00-11-22-33-44-55.cap
No valid WPA handshakes found.

在你的 .cap 文件包含有效握手的真实场景中,输出将显示为 WPA (1 handshake)。当 Fluxion 看到这一点时,它会在其用户界面中将握手标记为“已验证”(Verified),表示它已准备好用于 Captive Portal 攻击。此手动检查有助于你理解 Fluxion 用于握手验证的机制。

总结

在本次实验中,你已成功学会如何将现有的握手文件导入 Fluxion。你练习了整个工作流程,从定位预先捕获的文件到准备好在 Fluxion 攻击中使用它。

你已学会:

  • 定位一个预先存在的 .cap 文件。
  • .cap 文件复制到 Fluxion 的专用 handshakes 目录。
  • 创建并填充必要的 .db 元数据文件,包含网络的 BSSID、ESSID 和通道。
  • 启动 Fluxion 以确认它识别了导入的网络。
  • 手动运行 aircrack-ng 以理解 Fluxion 自动执行的握手验证过程。

这项技能使 Fluxion 成为你安全审计工具箱中更灵活的工具,允许你利用来自任何来源的握手捕获。