引言
在本实验中,你将学习如何定位一个具有“隐藏”SSID(服务集标识符)的 Wi-Fi 网络。隐藏 SSID 是一种基本的安全措施,网络不会广播其名称,使其在标准的 Wi-Fi 扫描中不可见。然而,这并不是一个强大的安全功能,SSID 很容易被发现。
我们将使用 aircrack-ng 套件中的工具来首先发现隐藏网络的名称,然后使用 Fluxion(一个自动化的社会工程工具包)来定位它。本实验仅用于教育目的,演示了无线渗透测试中一种常见的技术。你将在一个模拟的无线环境中进行操作。
扫描网络并识别隐藏网络(无 ESSID)
在此步骤中,我们将首先安装必要的工具,然后扫描可用的无线网络。我们的目标是识别一个未广播其名称(ESSID)的网络。
首先,打开终端并更新你的软件包列表,然后安装 aircrack-ng 套件,其中包含我们所需的扫描工具。
sudo apt-get update
sudo apt-get install -y aircrack-ng
本实验使用一个名为 wlan0 的模拟无线接口。要扫描网络,我们首先需要将此接口置于“监控模式”(monitor mode)。此模式允许网卡捕获特定信道上的所有 Wi-Fi 流量,而不仅仅是发送给它的流量。我们使用 airmon-ng 来实现这一点。
sudo airmon-ng start wlan0
此命令将创建一个新的虚拟接口,通常命名为 wlan0mon,该接口现在处于监控模式。
现在,让我们使用 airodump-ng 通过我们的监控模式接口扫描所有附近的网络。
sudo airodump-ng wlan0mon
片刻之后,你将看到一个网络列表。查找 ESSID 为空白或显示为 <length: 0> 的条目。这就是我们的隐藏网络。
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
1A:2B:3C:4D:5E:6F -30 10 0 0 6 54e WPA2 CCMP PSK <length: 0>
AA:BB:CC:DD:EE:FF -55 25 5 1 11 54e WPA2 CCMP PSK MyHomeWiFi
从上面的输出中,BSSID 为 1A:2B:3C:4D:5E:6F 的网络是我们的目标。记下它的 BSSID 和 CH(信道)。你可以按 Ctrl+C 停止扫描。
使用 'airodump-ng' 等待客户端连接并显示 ESSID
在此步骤中,我们将扫描聚焦于隐藏网络,以揭示其真实名称(ESSID)。当客户端设备连接或尝试连接到隐藏网络时,其名称就会被显示出来。我们可以通过监控隐藏网络的特定信道和 BSSID 来捕获此信息。
再次使用 airodump-ng 命令,但这次要指定你在上一步中识别出的隐藏网络的 BSSID 和信道。这将使捕获过程更有效。请将 <BSSID> 和 <CHANNEL> 替换为你记下的值。
sudo airodump-ng --bssid 1A:2B:3C:4D:5E:6F --channel 6 wlan0mon
起初,ESSID 仍会显示为隐藏。你需要等待客户端连接。在这个模拟环境中,客户端会在几秒钟后自动连接。
一旦客户端连接,airodump-ng 将捕获关联帧(association frames)并显示 ESSID。输出将更新以显示网络的名称。
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
1A:2B:3C:4D:5E:6F -30 35 15 2 6 54e WPA2 CCMP PSK MyHiddenNet
BSSID STATION PWR Rate Lost Frames Probe
1A:2B:3C:4D:5E:6F 00:11:22:33:44:55 -40 0 - 1 0 15
如你所见,ESSID 已显示为 MyHiddenNet。记下这个名称。你已成功揭开了隐藏网络的面纱。现在你可以按 Ctrl+C 停止扫描。
启动 Fluxion 并手动输入已显示的 ESSID
在此步骤中,我们将安装并启动 Fluxion,这是我们将用于攻击阶段的工具。由于我们现在知道了隐藏网络的 ESSID,我们可以配置 Fluxion 来正确地将其作为目标。
首先,将 Fluxion 仓库从 GitHub 克隆到你的 ~/project 目录。
git clone https://github.com/FluxionNetwork/fluxion.git
接下来,进入新创建的 fluxion 目录。
cd fluxion
Fluxion 有一个安装脚本,用于检查并安装所有必需的依赖项。使用 sudo 权限运行它。
sudo ./fluxion.sh -i
安装完成后,你就可以启动 Fluxion 了。
sudo ./fluxion.sh
Fluxion 将启动,并首先要求你选择一种语言。输入 1 选择 English,然后按 Enter。
接下来,它会要求你选择一个无线适配器。你应该会在列表中看到 wlan0mon。通过输入其对应的数字并按 Enter 来选择它。
然后,Fluxion 将显示一个扫描器菜单。选择一个选项来扫描目标,例如 1. All channels。Fluxion 将开始扫描,并很快显示一个可用的网络列表,这与 airodump-ng 类似。
通过 BSSID 选择隐藏网络
在此步骤中,你将从 Fluxion 提供的列表中选择目标网络,并手动输入你之前发现的 ESSID。
在上一步扫描完成后,Fluxion 将显示一个网络列表。在此列表中找到你的目标网络。它将通过其 BSSID (1A:2B:3C:4D:5E:6F) 进行识别,但 ESSID 列可能仍然是空的。
[+] Select a target.
[ID] [BSSID] [CH] [PWR] [ENC] [ESSID]
[01] [1A:2B:3C:4D:5E:6F] [06] [-30] [WPA2]
[02] [AA:BB:CC:DD:EE:FF] [11] [-55] [WPA2] MyHomeWiFi
输入与你的目标网络对应的数字(例如,上例中的 1),然后按 Enter。
由于 Fluxion 检测到该网络具有隐藏的 ESSID,它现在会提示你手动输入。
[*] The selected network has a hidden ESSID, please enter it manually.
>
输入你在步骤 2 中发现的 ESSID (MyHiddenNet),然后按 Enter。
之后,Fluxion 会询问保存与攻击相关的文件的位置,例如捕获的握手包。你可以直接按 Enter 接受默认位置。之后,Fluxion 将进入攻击选择菜单。
选择握手包嗅探器或门户攻击
在最后一步,目标已选定且 ESSID 已提供,Fluxion 将为你展示攻击选项菜单。我们将选择一种被动攻击来了解握手包是如何捕获的。
Fluxion 的攻击菜单提供了几个选项。最常见的两个是:
- **握手包嗅探器 (Handshake Snooper)**:此攻击被动监听 WPA/WPA2 的 4 字节握手包,当客户端与接入点(access point)进行身份验证时会发生。它可以与 deauthentication 攻击结合使用,通过强制客户端重新连接来加速此过程。
- **门户攻击 (Captive Portal)**:一种更具侵略性的攻击,它会创建一个假的接入点(Evil Twin)和一个假的登录页面,以诱使用户输入其 Wi-Fi 密码。
在本实验中,我们将选择 Handshake Snooper 来查看 Fluxion 如何准备捕获握手包。
在攻击菜单中,选择 Handshake Snooper 的选项。
[+] Select an attack.
[1] Handshake snooper
[2] Captive Portal
输入 1 并按 Enter。
然后,Fluxion 会询问你希望如何捕获握手包。它会提供两个选项:一个是被动模式,另一个是主动模式(使用 deauthenticator)。主动模式速度更快。选择使用 deauthenticator 的选项(例如 aircrack-ng)。
Fluxion 现在将开始攻击。它会打开几个终端窗口来监控客户端并发送 deauthentication 数据包,等待客户端重新连接时捕获握手包。达到此阶段是我们实验的目标。在实际场景中,你现在将等待握手包文件被捕获。
总结
在本实验中,你成功地将目标锁定在一个隐藏了 SSID 的 Wi-Fi 网络上。你了解到隐藏 SSID 并不是一种有效的安全措施,因为网络的名称很容易被发现。
你练习了一个完整的流程:
- 使用
airodump-ng扫描并识别隐藏网络。 - 将扫描聚焦于目标的 BSSID 和信道,以揭示其 ESSID。
- 启动
Fluxion框架。 - 通过手动提供已发现的 ESSID 来在 Fluxion 中定位隐藏网络。
- 发起
Handshake Snooper攻击,准备捕获身份验证凭据。
这些技能是无线安全审计的基础,并展示了攻击者如何绕过简单的基于隐藏的防御措施。在对任何网络执行这些操作之前,请务必获得明确的授权。
