作为渗透测试者,了解黑客可以执行的高阶攻击十分重要,即使你可能不会在渗透测试中执行它们。这一章致力于展示黑客如何能够将无线访问用作接入点,执行高级攻击。
这一章中,我们会看到我们如何能够使用所学的知识来执行高级攻击。我们基本上专注于中间人攻击(MITM),它的成功需要大量的技巧和实战。一旦我们完成了它,我们会使用这个 MITM 攻击作为更加复杂的攻击的基础,例如窃听和会话劫持。
7.1 中间人攻击
MITM 攻击可能是 WLAN 系统上最有潜力的攻击之一了。实施攻击可以使用不同的配置,我们会使用最普遍的一个 – 攻击者使用有线 LAN 连接到互联网,并在客户端的网卡上创建了假的接入点。这个接入点广播的 SSID 和附近的本地热点相似。用户可能碰巧连接到这个假的接入点(或者由于更高的信号强度理论强制连接,我们之前讨论过),并且可能仍旧相信它连接到正常的接入点上。
攻击者现在可以将所有用户流量转发到互联网上,使用它所创建的有线和无线之间的网桥。
在下面的练习中,我们会模拟这个攻击。
实战时间 – 中间人攻击
遵循以下指南来开始:
为了开始中间人攻击,我们首先使用airbase-ng,在黑客的笔记本上创建软接入点,叫做mitm。我们执行下列命令:
?
1
airbase-ng --essid mitm –c 11 mon0
命令输出如下:
要注意airbase-ng在运行的时候会创建接口at0。把它当做我们基于软件的接入点mitm的有线端的接口。
让我们现在在黑客的笔记本上创建网桥,由有线(eth0)和无线(at0)接口组成。命令如下:vcD4NCjxwcmUgY2xhc3M9"brush:java;"> brctl addbr mitm-bridge brctl addif mitm-bridge eth0 brctl addif mitm-bridge at0 ifconfig eth0 0.0.0.0 up ifconfig at0 0.0.0.0 up
[
我们可以为这个网桥指定一个 IP 地址,并检查网关的连接性。要注意我们也可以使用 DHCP 来实现。我们可以为网桥接口指定 IP 地址,使用下列命令:
?
1
ifconfig mitm-bridge 192.168.0.199 up
我们之后尝试 ping 网关192.168.0.1,来确保我们连接到了网络的剩余部分。
我们现在开启内核的 IP 转发,便于封包能够正确转发,使用下列命令:
?
1
echo 1 > /proc/sys/net/ipv4/ip_forward
命令输出如下:
现在让我们将无线客户端连接到我们的接入点mitm上。它会通过 DHCP 自动获得 IP 地址(服务器运行在有线端的网关上)。这里,客户端主机的 IP 为192.168.0.197。我们可以 ping 有线端的网关192.168.0.1来验证连接性。
我们可以看到,主机响应了 ping 请求,像这样:
我们也可以验证客户端的连接,通过观察黑客主机上的airbase-ng终端:
这里提一句,非常有趣的是,由于所有流量都从无线接口转发到有线端,我们拥有流量的完整控制。我们可以通过启动 Wireshark 并嗅探at0接口来验证。
让我们现在从客户端主机上 ping 网关192.168.0.1。我们可以看到, Wireshark 中的封包(使用过滤器 ICMP),即使封包的目标并不是我们。这就是中间人攻击的力量。
刚刚发生了什么?
我们成功执行了中间人攻击的准备工作。我们通过创建伪造接入点并将其桥接到我们的以太网接口上。这确保了任何连接到伪造接入点的无线客户端会感觉到,它通过有线 LAN 连接到互联网。