对局域网内的主机实施ARP欺骗并监听数据
本文主要介绍如何在Windows 10上的Ubuntu虚拟机上完成ARP欺骗,攻击同一局域网下的受害主机。
攻击者环境:
Ubuntu 14.04.5虚拟机环境
Arpspoof:用于实施ARP欺骗
Wireshark:用于实施监听活动
nmap:用于扫描探测局域网的攻击对象
局域网环境:
在搭建的局域网内,包含一台手机和两台笔记本电脑,手机热点开启充当网关。
网关IP:192.168.43.1
受害者IP:192.168.43.103
攻击者IP:192.168.43.100
侦查局域网情况
在正式开始攻击之前,任何黑客都会首先扫描侦查一番局域网的拓扑结构等重要信息,以便开展攻击。
首先,打开攻击者的物理主机的控制面板,查看本机的IP、局域网的网关、子网掩码、DHCP服务器、DNS服务器等等信息,这些信息在之后的攻击中是非常有价值的。
根据上图,我们立刻可以得到以下重要情报:
局域网IP地址范围为:192.168.43.1-192.168.43.255。
局域网的网关为192.168.43.1。
有了以上信息,我们可以进一步排查其他信息。但前提是,黑客要先把自己接入这个局域网——也就是解决“如何把虚拟机接入局域网”的问题。
设置桥接模式并配置IP等信息
VMware Workstation在默认情况下使用NAT方式接入网络,在这种情况下实施ARP欺骗较为困难,因此我选择使用桥接模式。桥接模式下,虚拟机的网络行为如同一台真实存在的机器,拥有自己的网卡、IP地址。
首先,打开虚拟机管理页面的“设置”对话框,将网络适配器设置为“桥接模式”。
在桥接模式配置成功后,由于IP地址尚未配置,攻击者的主机仍然是无法上网的。接下来配置IP和默认网关。
在终端中,用root权限输入以下指令:
gedit /etc/network/interfaces |
我使用的网卡为eth1,修改其IP地址为192.168.43.100,子网掩码255.255.255.0。
保存,效果如下所示。
在完成了以上设置之后,我们的虚拟机应该已经接入了局域网192.168.43.0/24当中。使用ping来测试,如下图所示,连接成功。
获取受害主机信息
现在,黑客已经接入了和受害者相同的局域网,我们可以获得更多有关受害主机的信息。
查阅ARP表,可以获得网关的MAC地址。
使用nmap扫描得到局域网内的活动主机。
nmap 192.168.43.1-255 |
结果如下所示。
现在,我们找到了攻击目标:192.168.43.103。
实施攻击和窃听
黑客已经获取了攻击所需的全部信息,并且已经搭建好了攻击所需的环境。
首先,实施ARP攻击。
arpspoof -i eth1 -t 192.168.43.103 192.168.43.1 |
受害主机此时收到了欺骗,它和网关的报文都将发送到黑客的主机上,但因为黑客没有开启报文转发功能,这种攻击将导致受害者断网。
现在,开启报文转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward |
再次实施ARP攻击。
arpspoof -i eth1 -t 192.168.43.103 192.168.43.1 |
现在,黑客已经成功成为了中间者,他潜伏在了受害主机和网关之间,在受害者不知情的情况下,呈递并获取受害者的所有报文,如下图所示。
进一步地,可以使用ettercap获取受害者的敏感信息。