MASTG-TECH-0124: 使用恶意接入点实现 MITM 位置
为了实现中间人 (MITM) 位置,您可以设置一个网络,其中目标移动设备和外部网络之间的所有流量都通过您的主机路由。这可以通过以下两种方式完成:
选项 1:使用外部接入点:移动设备和您的主机都连接到单独的接入点。此设置对于绕过公共或企业网络中的主机隔离机制非常有用。然后,来自移动设备的流量将被重定向到您的主机以进行拦截。
使用单独接入点的场景需要访问 AP 的配置,您应该首先检查 AP 是否支持以下任何一种:
- 端口转发,或者
- 具有跨接或镜像端口。
选项 2:您的主机作为接入点:您的主机本身充当接入点,直接控制网络流量。这可以通过不同的方式配置:- 使用主机内置的 WiFi 卡作为接入点,同时通过有线连接连接到目标网络。- 使用外部 USB WiFi 适配器作为接入点,同时主机内置的 WiFi 连接到目标网络(或反之亦然)。
首先,如果您要使用外部 USB WiFi 卡,请确保该卡具有创建接入点的能力。您可以使用 Kali Linux 上的 iwconfig
命令验证您的 WiFi 卡是否具有 AP 功能。
iw list | grep AP
在这两种情况下,AP 都需要配置为指向您的主机的 IP 地址。您的主机必须连接到 AP(通过有线连接或 WiFi),并且您需要连接到目标网络(可以与 AP 的连接相同)。您的主机上可能需要进行一些额外的配置才能将流量路由到目标网络。
安装¶
以下过程是使用接入点和额外的网络接口设置 MITM 位置:
通过单独的接入点、外部 USB WiFi 卡或主机内置的卡创建 WiFi 网络。
这可以通过使用 macOS 上的内置实用程序来完成。您可以使用在 Mac 上与其他网络用户共享互联网连接。
对于所有主要的 Linux 和 Unix 操作系统,您需要以下工具:
- hostapd
- dnsmasq
- iptables
- wpa_supplicant
- airmon-ng
对于 Kali Linux,您可以使用 apt-get
安装这些工具
apt-get update
apt-get install hostapd dnsmasq aircrack-ng
iptables 和 wpa_supplicant 默认安装在 Kali Linux 上。
如果是单独的接入点,请将流量路由到您的主机。如果是外部 USB WiFi 卡或内置 WiFi 卡,则流量已在您的主机上可用。
将来自 WiFi 的传入流量路由到额外的网络接口,流量可以通过该接口到达目标网络。额外的网络接口可以是电缆连接或其他 WiFi 卡,具体取决于您的设置。
配置¶
我们专注于 Kali Linux 的配置文件。需要定义以下值:
- wlan1 - AP 网络接口的 ID(具有 AP 功能),
- wlan0 - 目标网络接口的 ID(可以是电缆接口或其他 WiFi 卡)
- 10.0.0.0/24 - AP 网络的 IP 地址和掩码
需要更改和调整以下配置文件:
-
hostapd.conf
# Name of the WiFi interface we use interface=wlan1 # Use the nl80211 driver driver=nl80211 hw_mode=g channel=6 wmm_enabled=1 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP # Name of the AP network ssid=STM-AP # Password of the AP network wpa_passphrase=password
-
wpa_supplicant.conf
network={ ssid="NAME_OF_THE_TARGET_NETWORK" psk="PASSWORD_OF_THE_TARGET_NETWORK" }
-
dnsmasq.conf
interface=wlan1 dhcp-range=10.0.0.10,10.0.0.250,12h dhcp-option=3,10.0.0.1 dhcp-option=6,10.0.0.1 server=8.8.8.8 log-queries log-dhcp listen-address=127.0.0.1
中间人攻击¶
为了获得 MITM 位置,您需要运行上述配置。这可以通过在 Kali Linux 上使用以下命令来完成:
# check if other process is not using WiFi interfaces
$ airmon-ng check kill
# configure IP address of the AP network interface
$ ifconfig wlan1 10.0.0.1 up
# start access point
$ hostapd hostapd.conf
# connect the target network interface
$ wpa_supplicant -B -i wlan0 -c wpa_supplicant.conf
# run DNS server
$ dnsmasq -C dnsmasq.conf -d
# enable routing
$ echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables will NAT connections from AP network interface to the target network interface
$ iptables --flush
$ iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE
$ iptables --append FORWARD --in-interface wlan1 -j ACCEPT
$ iptables -t nat -A POSTROUTING -j MASQUERADE
现在您可以将您的移动设备连接到接入点。