引言
在本实验中,你将探索 airbase-ng,这是 Aircrack-ng 套件中的一个多功能工具。airbase-ng 主要用于创建基于软件的接入点(access points),通常被称为“软 AP”(soft APs)。此功能对于各种无线安全评估至关重要,例如执行中间人(MITM)攻击、捕获 WPA/WPA2 握手包以进行密码破解,或者仅仅是创建一个蜜罐(honeypot)来研究攻击者行为。
在本实验中,你将逐步学习如何设置自己的软 AP。你将了解如何为此目的配置无线接口,使用自定义名称启动接入点,并准备好处理客户端连接。这种实践经验将为你打下坚实的基础,以理解和使用无线渗透测试中的一个关键工具。
本次实验我们将使用模拟的无线环境,因此你不需要实体无线网卡。
将无线网卡置于监听模式
在此步骤中,你将准备无线接口以创建软 AP。所需的第一项操作是将无线网卡置于“监听模式”(monitor mode)。监听模式允许网络接口捕获特定信道上的所有无线流量,而不仅仅是发往该接口的流量。这对 airbase-ng 正确运行至关重要。
首先,让我们识别模拟的无线接口。运行 iw dev 命令来列出无线设备。
iw dev
你应该会看到一个名为 wlan0 的接口。
phy#0
Interface wlan0
ifindex 3
wdev 0x1
addr 02:00:00:00:00:00
type managed
txpower 0.00 dBm
现在,使用 airmon-ng 工具在 wlan0 接口上启动监听模式。
sudo airmon-ng start wlan0
运行命令后,airmon-ng 将创建一个新的监听模式接口,通常命名为 wlan0mon。输出将确认这一点。
PHY Interface Driver Chipset
phy0 wlan0 mac80211_hwsim Software-only virtual MAC
(mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
(mac80211 station mode vif disabled for [phy0]wlan0)
你可以通过再次运行 iw dev 来验证新接口是否存在。
iw dev
你现在会看到列出的 wlan0mon,其 type 为 monitor。
phy#0
Interface wlan0mon
ifindex 4
wdev 0x2
addr 02:00:00:00:00:00
type monitor
txpower 0.00 dBm
Interface wlan0
ifindex 3
wdev 0x1
addr 02:00:00:00:00:00
type managed
txpower 0.00 dBm
使用指定的 ESSID 和信道启动 airbase-ng
在此步骤中,你将使用 airbase-ng 来启动广播你的新软 AP。你需要指定网络名称(ESSID)及其将运行的无线信道。
我们将创建一个名为“MyFakeAP”的软 AP,运行在信道 6 上。该命令需要你在上一步创建的监听接口,即 wlan0mon。
在你的终端中执行以下命令。airbase-ng 将启动并在前台运行,持续广播新网络。
sudo airbase-ng -e "MyFakeAP" -c 6 wlan0mon
-e "MyFakeAP": 设置扩展服务集标识符(ESSID),这是其他设备可见的 Wi-Fi 网络名称。-c 6: 将无线信道设置为 6。选择一个不拥挤的信道是良好的实践。wlan0mon: 将要使用的监听模式接口。
运行命令后,airbase-ng 将启动并显示一条指示其正在运行的消息。
20:30:10 Created tap interface at0
20:30:10 Trying to set MTU on at0 to 1500
20:30:10 Access Point with BSSID 02:00:00:00:00:00 started on channel 6
重要提示: 此过程将占用你当前的终端。对于后续步骤,你需要打开一个新的终端。你可以通过点击终端窗口顶部标签栏中的 + 图标来完成此操作。本实验中所有后续命令都应在新终端中运行。
观察新 'at0' 接口的创建
在此步骤中,你将确认 airbase-ng 已成功创建了一个新的网络接口。当 airbase-ng 启动时,它会自动创建一个虚拟 TAP 接口,该接口通常默认命名为 at0。此接口充当桥梁,允许你与连接到你的软 AP 的客户端进行交互。
在你打开的新终端中,使用 ifconfig -a 命令列出系统上的所有网络接口。
ifconfig -a
在输出中,你应该会看到一个名为 at0 的新接口。这证实了 airbase-ng 正在正确运行并已设置好必要的基础设施。
at0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 02:00:00:00:00:00 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.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
... (other interfaces) ...
此 at0 接口当前处于关闭状态,没有 IP 地址。你将在下一步中配置它。
为 'at0' 接口配置 IP 地址
在此步骤中,你将配置 at0 接口,使其能够作为你的软 AP 的网关。为此,你需要启动该接口并为其分配一个静态 IP 地址。此 IP 地址将是连接到你的“MyFakeAP”网络的任何客户端的网关。
首先,使用 ifconfig 启动 at0 接口。请记住在你的新终端中运行此命令。
sudo ifconfig at0 up
接下来,为 at0 接口分配一个 IP 地址和网络掩码(netmask)。我们将使用 IP 地址 192.168.2.1,这将是我们新私有网络的网关。
sudo ifconfig at0 192.168.2.1 netmask 255.255.255.0
现在,你可以通过再次检查 at0 接口的配置来验证 IP 地址是否已正确分配。
ifconfig at0
输出现在应该显示该接口处于 UP 状态,并具有你分配的 inet 地址。
at0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255
ether 02:00:00:00:00:00 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.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
你的软 AP 现在已完全配置,并准备好接受客户端连接。
观察连接到你的新软 AP 的客户端
在此步骤中,你将观察当客户端连接到你的软 AP 时会发生什么。你的接入点“MyFakeAP”现在正在广播并且已完全配置。
切换回你第一个终端,airbase-ng 正在那里运行。此终端是你软 AP 的监控控制台。
在实际场景中,你现在会拿出另一台设备(如智能手机或笔记本电脑),搜索可用的 Wi-Fi 网络,你会在列表中看到“MyFakeAP”。当设备尝试连接并关联到你的 AP 时,airbase-ng 会在控制台打印一条消息。
消息会类似这样,显示连接客户端的 MAC 地址:
20:35:01 Client 12:34:56:78:9A:BC associated (WPA1)
由于我们处于模拟环境中,你无法连接真实设备。但是,理解此输出是解开谜题的最后一块。
要完成实验,你需要清理环境。
- 转到运行
airbase-ng的终端,然后按Ctrl+C停止它。 - 在任何终端中,停止监控模式接口,将你的无线网卡恢复到正常状态。
sudo airmon-ng stop wlan0mon
这将移除 wlan0mon 接口,并将 wlan0 恢复到托管模式(managed mode)。
总结
恭喜你完成本次实验!你已成功使用 airbase-ng 创建并配置了一个基于软件的无线接入点。
在本次实验中,你学习了如何:
- 安装
aircrack-ng套件。 - 使用
airmon-ng将无线接口置于监控模式(monitor mode)。 - 使用
airbase-ng启动一个具有自定义 ESSID 和频道的软 AP。 - 识别新创建的
at0TAP 接口。 - 为
at0接口配置静态 IP 地址以充当网关。 - 理解如何监控客户端连接。
这些技能是许多无线安全高级主题的基础,包括网络侦察(network reconnaissance)、蜜罐部署(honeypot deployment)和中间人攻击(man-in-the-middle attacks)。现在你已为探索迷人的无线安全世界做好了更充分的准备。
