今天我们再次讨论一下网络安全中的MAC泛洪攻击
一、首先我们来看下ARP协议在网络中是如何传输的
我们都知道数据在两台计算之间传输数据是需要知道对方的MAC地址的。
我们来构造一个虚拟的情景:
1、PC1向PC2发送一个普通的icmp请求包
2、PC1封装icmp包的过程
但是由于PC1是第一次向PC2中发送数据,并不知道PC2的MAC地址,因此封装失败。
我们可以在ensp中进行一下模拟:
构造如下拓扑图:
打开PC1的命令行,输入:arp -a。我们可以发现ARP缓存表中是没有任何数据的
3、因此PC1会构造了arp请求包,首先会被交换机的0/0/1接口接收。未知地址以全F表示,也就具有了广播效果,连接在同一个交换机上的所有主机全部可以收到
4、交换机收到数据帧,解封装数据链路层,查看源mac地址,学习mac地址,交换机
5、arp请求包被PC2收到,PC接收数据帧、解封装。且PC2会给出ARP回复包
7、在这一个过程中交换机会学习记录PC1和PC2的MAC地址
二、我们了解了ARP的工作流程后我们来探讨一下ARP地址欺骗攻击的原理
ARP协议存在一个很大漏洞:没有源验证机制。我们就可以在这个漏洞上开展攻击了,也就是说我们给client和server分别发送虚假的信息,让client和server分别认为我们就是对方
三、攻击流程
1、在ensp中构建如下拓扑图,
2、我们使用kali模拟攻击方,这里的cloud要和kali使用同一个网卡,在这里我们都使用vm8
cloud设置如下
3、client和server在设置IP的时候要和cloud的VM8网卡在同一个网段下,我们查看一下kali的IP
4、在攻击时我们需要打开kali流量转发,这样才不会使client和server之间的通信中断
5、开始攻击
在kail中输入如下命令:
arpspoof -i eth0 -t 192.168.121.10 192.168.121.20
arpspoof -i eth0 -t 192.168.121.20 192.168.121.10
进行双向欺骗
6、使用wireshark进行抓包,我们就可以看到通信内容了
7、至此攻击完毕