克隆伪造 AP 的特定 BSSID 和 ESSID

Beginner
立即练习

引言

在本实验中,你将探索 Wi-Fi 安全评估中一项基本技术:创建伪造的接入点(AP)。伪造 AP 是指在网络上安装的未经授权的接入点。一种常见的伪造 AP 类型是“Evil Twin”,它通过复制合法 AP 的名称(ESSID)来模仿合法 AP,从而诱骗用户连接到它。

我们将使用 Fluxion,一个流行的安全审计工具,来自动化此过程。你将学习如何发起创建伪造 AP 的攻击,了解 Fluxion 如何自动克隆目标 ESSID,然后使用其他工具来验证你新创建的伪造 AP 的属性,特别是其 BSSID(MAC 地址)。

本实验在一个模拟的 Wi-Fi 环境中进行。你将为了教育目的与预先配置的虚拟无线网络进行交互。

发起任何创建 AP 的 Fluxion 攻击

在此步骤中,你将开始启动 Fluxion 工具。Fluxion 是一个基于脚本的工具,因此你需要导航到其目录并以正确的权限执行它。

首先,打开终端并导航到在 ~/project 目录中为你克隆的 fluxion 目录。

cd ~/fluxion

接下来,使用 sudo 运行 Fluxion 脚本。这是必需的,因为 Fluxion 需要控制你的无线接口并执行低级网络操作。

sudo ./fluxion.sh

运行脚本后,Fluxion 将首先检查是否缺少依赖项。如果一切正常,它会要求你选择一种语言。按 1 选择 English,然后按 Enter

[+]========================================================================[+]
[+]                                F L U X I O N                             [+]
[+]========================================================================[+]
[+] By:    Delta(Δ)                                                          [+]
[+]========================================================================[+]
[+] Version: 6.9                                                             [+]
[+]========================================================================[+]
[*] Checking for dependencies...
[+] All dependencies are installed.
[+]========================================================================[+]
[+] Select a language.
[+]========================================================================[+]
[1] English
...
[#] Please select your language: 1

选择语言后,你将看到一个可用攻击列表。在本实验中,我们将使用 Captive Portal 攻击,因为它涉及到创建一个伪造的接入点。输入 1 并按 Enter 选择它。

确保选择了目标网络

在此步骤中,Fluxion 将扫描可用的无线网络,你需要选择要作为目标进行攻击的网络。这是一个关键步骤,因为所有后续操作,包括克隆 ESSID,都将基于此选择。

在上一阶段选择 Captive Portal 攻击后,Fluxion 会要求你选择一个无线适配器来扫描目标。你应该会看到一个列出的虚拟适配器,很可能是 wlan1。通过输入其编号并按 Enter 来选择它。

然后,Fluxion 将开始扫描所有信道上的网络。片刻之后,它将显示检测到的网络列表。在我们的模拟环境中,你应该会看到一个名为 TargetNetwork 的网络。

[+]========================================================================[+]
[+] Select a target network.                                                 [+]
[+]========================================================================[+]
[#] BSSID              CH  PWR  ENC     ESSID
--- -----------------  --  ---  ------  --------------------
[1] 00:11:22:33:44:55  6   -20  WPA2    TargetNetwork
...
[+]========================================================================[+]
[+] Stop scan (s) Rescan (r) Select (1-...) Exit (x)
[+]========================================================================[+]
[#] Awaiting input...

要选择目标,请输入相应的编号(在本例中为 1)并按 Enter。然后,Fluxion 将在攻击的剩余时间锁定此目标。

进入创建接入点(Access Point)的步骤

在此步骤中,你将继续浏览 Fluxion 菜单,直到它创建伪造接入点(rogue Access Point)的阶段。

选择目标网络后,Fluxion 会要求你选择一种针对该网络的攻击方法。我们将使用 FakeAP - Hostapd 方法,该方法通常比较可靠。通过输入其编号并按 Enter 来选择此选项。

接下来,Fluxion 会询问存储握手包(handshakes)的路径。你可以直接按 Enter 来接受默认位置。

然后,你会被要求选择一种验证方法。选择 pyrit

之后,你会被提示选择检查握手包的频率。选择 checked on-the-go

最后,你将选择一种创建伪造接入点的方法。再次选择 Hostapd

然后,你会被要求选择一个 Captive Portal 页面。为了本实验的目的,任何选项都可以。选择第一个选项 Generic (Default)

完成这些选择后,Fluxion 将拥有所需的所有信息,并准备好启动伪造接入点。

验证 Fluxion 是否自动克隆了 ESSID

在此步骤中,你将观察到 Fluxion 已自动使用目标网络的名称(ESSID)来创建伪造接入点(rogue AP)。然后,你将使用一个外部工具来确认其存在。

此时,Fluxion 将显示攻击参数的摘要。请注意,ESSID 已自动设置为 TargetNetwork,这是你之前选择的网络名称。这证实了 Fluxion 默认会克隆 ESSID。

现在,让我们从外部视角进行验证。Fluxion 攻击正在你当前的终端中运行。你需要打开一个新的终端来执行下一个命令。 你可以通过终端菜单(File -> Open Tab)或键盘快捷键来完成此操作。

新的终端标签页中,使用 airodump-ng 来扫描无线网络。你需要指定监听模式接口(monitor mode interface),很可能是 wlan1mon 或 Fluxion 创建的类似名称。

sudo airodump-ng wlan1mon

查看输出。现在你应该看到两个 ESSIDTargetNetwork 的网络。一个是原始的模拟 AP,另一个是你刚刚用 Fluxion 创建的伪造 AP。这证实了 ESSID 已成功克隆。

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 00:11:22:33:44:55  -25       10        0    0   6  54e  WPA2 CCMP   PSK  TargetNetwork
 XX:XX:XX:XX:XX:XX  -30        8        0    0   6  54e. OPN              TargetNetwork

(注意:XX:XX:XX:XX:XX:XX 是你伪造 AP 的 MAC 地址的占位符。)

你可以让此扫描继续运行,为下一步做准备。

使用外部工具确认伪造 AP 的 BSSID 不同

在此步骤中,你将分析 airodump-ng 的输出,以检查伪造 AP 的 BSSID。BSSID 是接入点(access point)无线电的唯一 MAC 地址。

查看第二个终端中的 airodump-ng 输出。重点关注两个名为 TargetNetwork 的网络的 BSSID 列。

你将注意到:

  1. 原始的 TargetNetwork 具有其原始 BSSID(00:11:22:33:44:55)。
  2. 你的新的伪造 TargetNetwork 具有一个不同的、随机生成的 BSSID。

这展示了一个关键点:默认情况下,Fluxion 会克隆人类可读的 ESSID,但不会克隆硬件 BSSID。虽然这通常足以欺骗不明就里的用户,但也是安全工具和精明用户区分真实网络和虚假网络的一种方式。

一旦你观察到这种差异,就可以停止这些工具了。

  1. 在第二个终端(运行 airodump-ng)中,按 Ctrl+C 停止扫描。
  2. 切换回第一个终端(运行 fluxion),按 Ctrl+C 停止攻击并退出 Fluxion。

你已成功创建了一个伪造 AP 并验证了其属性。

总结

在本实验中,你获得了使用 Fluxion 工具创建伪造接入点(rogue Access Point)的实践经验。你完成了选择目标网络并启动 Captive Portal 攻击的过程,该攻击会自动创建一个虚假 AP。

你学习了两个关键概念:

  • Fluxion 会自动克隆目标网络的 ESSID(网络名称),使伪造 AP 对用户看起来合法。
  • 默认情况下,Fluxion 不会克隆 BSSID(硬件 MAC 地址),而是为伪造 AP 分配一个新的、随机生成的 BSSID。

你使用 airodump-ng 作为外部验证工具,在模拟环境中观察了这两个事实。这些知识对于理解“Evil Twin”攻击如何工作以及如何检测它们至关重要。