引言
MAC 地址过滤是一种网络安全方法,它配置路由器或接入点仅接受来自具有特定 MAC 地址的设备的连接。虽然它可以阻止普通入侵者,但它并不是一种强大的安全措施,因为 MAC 地址很容易被更改或“欺骗”。
在本实验中,你将学习如何绕过 MAC 地址过滤。你将首先通过检查网络扫描来识别一个已授权客户端的 MAC 地址,然后使用 macchanger 工具将你自己的网络接口的 MAC 地址更改为与已授权的 MAC 地址匹配。这个过程演示了一种网络渗透测试中的基本技术,并突出了使用更强的安全协议(如 WPA2/WPA3)的重要性。
从 airodump-ng 扫描中识别已授权客户端的 MAC
在此步骤中,你的目标是找到一个已连接到目标网络的设备的 MAC 地址。在实际场景中,你会使用 airodump-ng 等工具来捕获实时网络流量。在本实验中,我们提供了一个预先捕获的扫描文件来模拟此过程。
扫描结果保存在一个 CSV (逗号分隔值) 文件中。让我们检查这个文件以获取所需信息。该文件位于 ~/project/scans/network-scan-01.csv。
使用 cat 命令显示文件内容:
cat ~/project/scans/network-scan-01.csv
你将看到类似以下的输出:
BSSID, First time seen, Last time seen, channel, Speed, Privacy, Cipher, Authentication, Power, ## beacons, ## IV, LAN IP, id-length, ESSID, Key,Station MAC, First time seen, Last time seen, Power, ## packets, BSSID, Probed ESSIDs
00:11:22:33:44:55, 2023-10-27 10:00:00, 2023-10-27 10:05:00, 6, 54, WPA2, CCMP, PSK, -50, 100, 50, 192.168.1.1, 10, FilteredNet,,AA:BB:CC:DD:EE:FF, 2023-10-27 10:01:00, 2023-10-27 10:04:50, -45, 1234, 00:11:22:33:44:55,
在此输出中,查找 Station MAC 列。此列列出了连接到网络的客户端设备的 MAC 地址。我们需要克隆的 MAC 地址是 AA:BB:CC:DD:EE:FF。请记下此地址以备后续步骤使用。
使用 ifconfig 禁用你的无线接口
在此步骤中,你将为更改 MAC 地址准备你的网络接口。在修改 MAC 地址之前,必须暂时禁用该接口。我们将使用 ifconfig 命令来完成此操作,这是一个经典的用于网络接口配置的工具。
首先,让我们识别你的网络接口并查看其当前的 MAC 地址。在本实验环境中,我们将使用 eth0 接口。
运行以下命令查看 eth0 的详细信息:
ifconfig eth0
输出将类似如下。请注意 ether 字段,它显示了当前的硬件 MAC 地址。
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet)
RX packets 8 bytes 696 (696.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
现在,使用 down 参数禁用 eth0 接口。你需要 sudo 权限来修改网络接口状态。
sudo ifconfig eth0 down
如果成功,此命令不会产生任何输出。你可以通过再次运行 ifconfig eth0 来验证接口是否已禁用;你将注意到第一行中的 UP 标志已消失。
使用 macchanger --mac 克隆已授权的 MAC 地址
在此步骤中,你将使用 macchanger 工具将你的接口的 MAC 地址更改为你之前识别的地址。在禁用网络接口后,你现在可以安全地修改其属性。
macchanger 工具允许你查看和设置网络接口的 MAC 地址。我们将使用 --mac 选项来设置一个特定的地址。
使用以下命令将 eth0 的 MAC 地址更改为 AA:BB:CC:DD:EE:FF。请记住使用 sudo,因为这是一项需要特权的操作。
sudo macchanger --mac AA:BB:CC:DD:EE:FF eth0
运行命令后,macchanger 将报告更改。输出应如下所示:
Current MAC: 02:42:ac:11:00:02 (Unknown)
Permanent MAC: 02:42:ac:11:00:02 (Unknown)
New MAC: aa:bb:cc:dd:ee:ff (UNKNOWN)
此输出确认你的 MAC 地址已被成功伪造。Permanent MAC 是原始硬件地址,而 New MAC 是当前在接口上激活的地址。
使用 ifconfig 重新启用你的无线接口
在此步骤中,你将使网络接口恢复联机状态并使用其新的 MAC 地址。一旦 MAC 地址被更改,就必须重新启用该接口以应用更改并允许其在网络上通信。
使用带有 up 参数的 ifconfig 命令重新启用 eth0 接口:
sudo ifconfig eth0 up
此命令不应产生任何输出。要确认接口已启用并具有新的 MAC 地址,请再运行一次 ifconfig eth0:
ifconfig eth0
检查输出。你应该会看到 ether 字段现在显示了你新的、伪造的 MAC 地址,并且 UP 标志已返回到第一行。
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 172.17.255.255
ether aa:bb:cc:dd:ee:ff txqueuelen 0 (Ethernet)
RX packets 8 bytes 696 (696.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
你的接口现在已激活并模拟授权设备。
验证你连接到过滤网络的 ist
在最后一步中,你将验证你的操作是否成功。在实际场景中,你现在会尝试连接到 MAC 地址过滤的无线网络。由于你的设备的 MAC 地址现在与网络允许列表中的一个匹配,连接将被接受。
由于我们处于模拟环境中,我们无法连接到真实的 Wi-Fi 网络。取而代之的是,我们将运行一个本地脚本来检查 eth0 的 MAC 地址是否已正确设置为目标地址。
首先,创建一个小型 shell 脚本来执行此检查。使用 nano 编辑器创建一个名为 check_connection.sh 的文件:
nano check_connection.sh
现在,将以下脚本内容复制并粘贴到 nano 编辑器中:
#!/bin/bash
CURRENT_MAC=$(ip addr show eth0 | grep 'link/ether' | awk '{print $2}' | tr '[:lower:]' '[:upper:]')
TARGET_MAC="AA:BB:CC:DD:EE:FF"
if [ "$CURRENT_MAC" == "$TARGET_MAC" ]; then
echo "Connection successful! Your device is now authorized on the network."
echo "Current MAC: $CURRENT_MAC"
else
echo "Connection failed. Your MAC address does not match an authorized device."
echo "Current MAC: $CURRENT_MAC"
echo "Expected MAC: $TARGET_MAC"
fi
保存文件并退出 nano,方法是按 Ctrl+X,然后按 Y,最后按 Enter。
接下来,使脚本可执行:
chmod +x check_connection.sh
最后,运行脚本以验证你的连接状态:
./check_connection.sh
如果你已正确执行所有步骤,你将看到成功消息:
Connection successful! Your device is now authorized on the network.
Current MAC: AA:BB:CC:DD:EE:FF
这证实你已成功伪造了 MAC 地址。
总结
在本实验中,你已成功演示了如何绕过网络上的 MAC 地址过滤。你学习了一个完整的、分步的过程,这对网络安全测试至关重要。
你通过以下方式完成了此操作:
- 从模拟的网络扫描中识别出授权客户端的 MAC 地址。
- 使用
ifconfig禁用你的网络接口。 - 使用
macchanger将授权的 MAC 地址克隆到你的接口。 - 重新启用网络接口以应用新地址。
- 验证你的新 MAC 地址是否能授予你访问权限。
关键要点是,MAC 地址过滤是一种“通过模糊性实现的安全性”(security through obscurity),不应成为无线网络的唯一防御手段。为了获得强大的安全性,请始终使用 WPA2 或 WPA3 等强加密协议,并配合使用复杂且唯一的密码。
