介绍
在本实验中,你将学习如何使用 Fluxion 发起一个 Captive Portal 攻击。Fluxion 是一个安全审计和社会工程研究工具。它是 vk496 的 linset 的重制版,拥有一个更少 bug 且功能更强大的界面。
Captive Portal 攻击是一种社会工程技术,它创建一个假的 Wi-Fi 网络(一个“流氓”接入点),模仿一个合法的网络。当用户连接到这个假网络时,他们会被重定向到一个欺诈性的网页(“captive portal”),该网页会提示他们输入 Wi-Fi 密码。
本实验将引导你通过 Fluxion 的交互式菜单来配置和发起此攻击。我们将假设你已经完成了扫描网络并捕获目标 WPA/WPA2 握手的先前步骤。
选择带有捕获握手的目标网络
在此步骤中,我们将从 Fluxion 检测到的网络列表中选择目标网络,开始整个过程。要使 Captive Portal 攻击生效,我们必须事先从目标网络捕获到 WPA/WPA2 握手。Fluxion 会清晰地标记出哪些网络已捕获握手。
想象一下你刚刚启动了 Fluxion。选择语言和无线适配器后,你将看到目标选择屏幕。下方是你将看到的界面的表示。星号 * 表示已为 LabEx_WiFi 网络捕获到握手。
FLUXION - Select a target
─────────────────────────────────────────────────────────────────────────────────────────
## BSSID ESSID CH ENCR POWER CLIENTS HANDSHAKE
1 XX:XX:XX:XX:XX:A1 LabEx_WiFi 6 WPA2 95% 3 *
2 XX:XX:XX:XX:XX:B2 GuestNet 1 WPA2 80% 1
3 XX:XX:XX:XX:XX:C3 CorpNet 11 WPA2 75% 8
─────────────────────────────────────────────────────────────────────────────────────────
[<] Rescan for networks [>] Select a target with a handshake and skip to attacks
[fluxion] Select an option:
我们将选择第一个网络 LabEx_WiFi,这是我们的目标网络,并且已具备所需的握手。在实际的 Fluxion 会话中,你将输入 1 并按 Enter。在本实验中,我们将通过将此选择记录到日志文件中来模拟这一操作。
执行以下命令来记录你的选择:
echo "Target: 1" >> ~/project/fluxion_choices.log
选择“Captive Portal”攻击向量
在此步骤中,选择目标网络后,Fluxion 将向你展示可用攻击向量的菜单。两个主要选项通常是 Handshake Snooper 和 Captive Portal。
- Handshake Snooper: 此攻击被动等待捕获新的握手。如果你还没有握手,这个选项很有用。
- Captive Portal: 这是一种主动攻击,它创建一个假的接入点,诱使用户在假的登录页面输入密码。
由于我们的目标是执行 Captive Portal 攻击,我们将选择该选项。以下是此阶段 Fluxion 菜单的表示:
FLUXION - Select an attack
─────────────────────────────────────────────────────────────────────────────────────────
## ATTACK
1 Captive Portal
2 Handshake Snooper
─────────────────────────────────────────────────────────────────────────────────────────
[<] Return to network selection
[fluxion] Select an option:
我们将选择选项 1 来继续进行 Captive Portal 攻击。为了记录我们模拟中的此选择,请运行以下命令:
echo "Attack: 1" >> ~/project/fluxion_choices.log
选择用于 Rogue AP 的“hostapd”方法
在此步骤中,我们需要选择将用于创建我们的 Rogue(伪造)接入点(Access Point)的软件。Rogue AP 是攻击的关键组成部分,因为这是用户会在不知情的情况下连接的网络。
Fluxion 提供了几种创建基于软件的 AP 的方法。最常见且可靠的选项是 hostapd。hostapd 是 Linux 上用于接入点和认证服务器的标准用户空间守护进程(daemon)。它得到了良好的支持且非常稳定,是此攻击的理想选择。
Fluxion 菜单将如下所示:
FLUXION - Select a rogue AP creation method
─────────────────────────────────────────────────────────────────────────────────────────
## METHOD
1 hostapd
2 Airbase-ng
─────────────────────────────────────────────────────────────────────────────────────────
[<] Return to attack selection
[fluxion] Select an option:
我们将选择选项 1 来使用 hostapd。通过执行以下命令来记录此选择:
echo "RogueAP: 1" >> ~/project/fluxion_choices.log
选择“aircrack-ng”去认证方法
在此步骤中,我们将配置攻击的去认证(deauthentication)部分。为了鼓励用户连接到我们的 Rogue AP,我们首先需要断开他们与合法 LabEx_WiFi 网络的连接。这是通过发送特制的“去认证数据包”来完成的,这些数据包会伪装成真实的接入点。
Fluxion 在此任务中利用了其他知名的工具。aircrack-ng 套件包含一个名为 aireplay-ng 的工具,它是用于注入无线帧(包括去认证数据包)的行业标准。它在强制客户端断开连接方面非常有效。
Fluxion 中的选择菜单将如下所示:
FLUXION - Select a deauthentication method
─────────────────────────────────────────────────────────────────────────────────────────
## METHOD
1 aircrack-ng (aireplay-ng)
2 mdk4
─────────────────────────────────────────────────────────────────────────────────────────
[<] Return to rogue AP method selection
[fluxion] Select an option:
我们将选择选项 1 来使用强大且可靠的 aircrack-ng 方法。使用以下命令记录此选择:
echo "Deauth: 1" >> ~/project/fluxion_choices.log
启动完整的 Captive Portal 攻击序列
在最后这个步骤中,我们已经配置了攻击所需的所有必要组件。Fluxion 拥有它需要的所有信息:目标、攻击向量、Rogue AP 方法和去认证方法。
此时,Fluxion 已准备好发起攻击。它通常会打开几个新的终端窗口来同时管理不同的进程:
- Rogue AP: 一个运行
hostapd的窗口,用于广播伪造的LabEx_WiFi网络。 - Deauthenticator: 一个运行
aireplay-ng的窗口,用于持续将客户端从真实网络断开。 - DNS Server: 一个管理 DNS 请求的窗口,将所有流量重定向到我们的 Captive Portal。
- Web Server: 一个托管伪造登录页面的窗口。
- Credential Catcher: 主窗口,将显示捕获到的任何密码。
在启动之前,Fluxion 会请求最终确认。菜单将如下所示:
FLUXION - Attack Ready
─────────────────────────────────────────────────────────────────────────────────────────
All parameters are set. Fluxion is ready to launch the attack.
Multiple terminal windows will be spawned to handle each process.
## ACTION
1 Start Attack
─────────────────────────────────────────────────────────────────────────────────────────
[<] Return to deauthentication method selection
[fluxion] Select an option:
要开始攻击,你需要选择 1。让我们记录下这个最终操作,以完成我们的模拟设置。
echo "Start: 1" >> ~/project/fluxion_choices.log
启动后,你将监控这些窗口的活动,等待用户连接到你的 Rogue AP 并在其 Captive Portal 中输入凭据。
总结
在本实验中,你已成功完成了使用 Fluxion 发起 Captive Portal 攻击的配置步骤。虽然我们模拟了交互过程,但你已经了解了攻击的完整逻辑流程。
你学会了如何:
- 选择一个已捕获握手包的目标网络。
- 选择
Captive Portal作为期望的攻击向量。 - 选择
hostapd作为创建 Rogue Access Point 的可靠方法。 - 选择
aircrack-ng来执行去认证攻击,迫使客户端离开合法网络。 - 发起完整的攻击序列。
这些知识为你提供了关于 Wi-Fi 社会工程攻击如何构建和执行的基础理解。请记住负责任地使用这些知识,并仅用于道德和教育目的。
