MAC地址欺骗与MAC地址泛洪攻击(eNSP环境演示)

MAC地址欺骗和MAC地址泛红攻击,是很古老的二层攻击手法,现在也很少用在网络攻击实战中,但对于其攻击原理却很值得学习,本文通过eNSP抓包的实践方式,充分学习了这两种攻击的手段,使我们对二层网络攻击有了更深刻的理解。

一、实验环境

eNSP拓扑环境
在这里插入图片描述

二、MAC地址欺骗

1、攻击原理:
MAC地址欺骗是数据链路层攻击,它是利用交换机端口学习的漏洞,通过客户端向交换机发送欺骗报文、攻击交换机的CAM表的方式,使交换机CAM表的记录与真实的主机对应MAC地址不一致,从而使交换机将报文错误转发给攻击者。
2、交换机的端口学习是如何进行的?又有何漏洞?我们实验先来了解一下。
(1)首先,我们在交换机LSW1上执行命令,清空交换机的CAM表,此时查看CAM表,内容为空。

[Huawei]undo mac-address all
[Huawei]display mac-address
[Huawei]

(2)我们从PC1上向PC2发一个构造的udp包,如图。
在这里插入图片描述
此时查看交换机的CAM表,发现已经学习了一条记录。

[Huawei]display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID  
               VSI/SI                                              MAC-Tunnel  
-------------------------------------------------------------------------------
5489-98dd-6106 1           -      -      Eth0/0/1        dynamic   0/-         
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 1

我们再构造一个数据包,由PC1发给PC2,源MAC地址换成kali的MAC地址00-0c-29-6c-fc-6e。
在这里插入图片描述
再次查看交换机CAM表,发现交换机将kali的mac地址与Eht0/0/1绑定。

[Huawei]display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID  
               VSI/SI                                              MAC-Tunnel  
-------------------------------------------------------------------------------
000c-296c-fc6e 1           -      -      Eth0/0/1        dynamic   0/-         
5489-98dd-6106 1           -      -      Eth0/0/1        dynamic   0/-         
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2 

由上,我们得到结论,交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样他就知道源MAC地址来自哪个端口,它会在CAM表中添加一条端口和MAC地址对应的记录。这种工作很高效,但如果交换机接收到了客户端伪造的源MAC地址的数据包,交换机同样也会将伪造的记录添加到CAM表中,作为信任的记录,这样就形成了MAC地址欺骗的漏洞。

【补充20200418】
上述的发包方式,虽然可以达到欺骗目的,但由于目的mac地址随机设置,交换机在接收到CAM表没有的MAC地址后,会以广播包的形式转发到网络中,这样网络中会产生大量的网络包,容易被受害者发现。因此,针对这种情况,可以将目标MAC地址设置为欺骗者本身的MAC地址,源MAC地址设置为受害者的MAC地址。同时,此过程可以使用工具ettercap实现,具体命令如下。

ettercap -T -q -M port:remote /192.168.253.164//

3、明白了交换机端口学习的原理,我们现在来伪造数据包,造成MAC地址欺骗,同时准备以下三个条件,如下图。
(1)在PC1上伪造源MAC为kali的MAC地址00-0c-29-6c-fc-6e,不停的发UDP包给PC2。
(2)在LSW1的Ehternet 0/0/1和Ethenet 0/0/3端口同时抓包。
(3)在PC2构造PC2到kali的数据包。
正常无欺骗的情况,LSW1的Ethenet 0/0/3端口可以抓到(3)过程的包。如果欺骗成功,则抓不到包,而是在LSW1的Ethenet 0/0/1端口上可以抓到该包。
在这里插入图片描述
构造的(1)过程中PC1周期发送如下图UDP报文
在这里插入图片描述
构造的(3)过程中PC2发给kali的数据包
在这里插入图片描述
LSW1的Ehternet 0/0/1抓包结果(点击下载
在这里插入图片描述
LSW1的Ehternet 0/0/3抓包结果
在这里插入图片描述
由此可见,原本由PC2发给kali的数据包,被PC1欺骗交换机后,交换机将报文转发给了PC1,这样PC1成功完成了MAC地址欺骗攻击。

三、MAC地址泛洪攻击

1、漏洞原理
每台交换机的CAM表都有最大记录条数,当交换机端口学习得到的记录大于交换机CAM表条数上限时,交换机收到一个网络帧,只要其目的站的MAC地址不存在于该交换机CAM表中,那么该帧会以广播的方式发向交换机的每一个端口,此时的交换机就相当于一个集线器HUB,我们就可以监听网络中的所有通讯报文。
2、攻击过程
以kali为攻击机,使用macof命令向网络中发送大量网络不存在的源mac地址,堵塞交换机的CAM表。

root@secwand:~#apt-get install dsniff	#安装macof
root@secwand:~# macof
de:f0:1b:1c:6f:8e ba:8d:41:6:3d:7a 0.0.0.0.25215 > 0.0.0.0.49125: S 475078686:475078686(0) win 512
ea:38:be:33:e5:aa 4d:ce:29:60:3c:2f 0.0.0.0.39934 > 0.0.0.0.238: S 1559529363:1559529363(0) win 512
b5:ea:9a:4:2d:1c 3:33:5f:73:fa:d2 0.0.0.0.58068 > 0.0.0.0.18986: S 697518561:697518561(0) win 512
31:1f:6c:72:6f:80 7c:a8:df:55:99:25 0.0.0.0.29320 > 0.0.0.0.56619: S 444895901:444895901(0) win 512
2:47:e7:37:ca:19 a9:73:33:66:61:2d 0.0.0.0.54528 > 0.0.0.0.25861: S 993143653:993143653(0) win 512
3b:75:bd:54:e7:55 4d:d1:68:4:5a:f0 0.0.0.0.28814 > 0.0.0.0.35766: S 1430997091:1430997091(0) win 512
e7:81:bb:79:4b:af df:ed:92:76:fe:79 0.0.0.0.59194 > 0.0.0.0.18284: S 1586191808:1586191808(0) win 512
9b:28:c8:4d:35:bb 4c:d2:d9:5b:3f:d0 0.0.0.0.46568 > 0.0.0.0.15767: S 1249153469:1249153469(0) win 512
13:6:d:71:2a:26 5f:82:7:70:d6:4c 0.0.0.0.41050 > 0.0.0.0.34579: S 1375163656:1375163656(0) win 512
94:cb:82:1f:a2:22 2e:4:26:69:88:cf 0.0.0.0.44712 > 0.0.0.0.33754: S 1652107051:1652107051(0) win 512
3f:7c:f7:1b:7:80 13:53:17:53:5c:c6 0.0.0.0.48520 > 0.0.0.0.34351: S 585705839:585705839(0) win 512

3、此时在交换机查看CAM表,发现表中大量陌生MAC地址记录,同时根据端口绑定可以看到绑定来自Ethernet0/0/3,说明这个攻击来自这接口。

[Huawei]display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID  
               VSI/SI                                              MAC-Tunnel  
-------------------------------------------------------------------------------
0050-56c0-0008 1           -      -      Eth0/0/3        dynamic   0/-         
0050-56eb-c57d 1           -      -      Eth0/0/3        dynamic   0/-         
5489-985d-0598 1           -      -      Eth0/0/2        dynamic   0/-         
5489-98dd-6106 1           -      -      Eth0/0/1        dynamic   0/-         
0050-56ef-dc6d 1           -      -      Eth0/0/3        dynamic   0/-         
000c-296c-fc6e 1           -      -      Eth0/0/3        dynamic   0/-         
feef-5464-ecad 1           -      -      Eth0/0/3        dynamic   0/-         
eaaa-9473-1926 1           -      -      Eth0/0/3        dynamic   0/-         
22a6-7027-c5f4 1           -      -      Eth0/0/3        dynamic   0/-         
7019-0f73-c876 1           -      -      Eth0/0/3        dynamic   0/-         
2eef-313b-f53f 1           -      -      Eth0/0/3        dynamic   0/-         
5682-5743-45c8 1           -      -      Eth0/0/3        dynamic   0/-         
7670-c168-505e 1           -      -      Eth0/0/3        dynamic   0/-         
8aaa-ba4f-489d 1           -      -      Eth0/0/3        dynamic   0/-         
a6a8-2d2a-73a7 1           -      -      Eth0/0/3        dynamic   0/-         
120c-2355-b4b5 1           -      -      Eth0/0/3        dynamic   0/-         
5833-be1f-0aa6 1           -      -      Eth0/0/3        dynamic   0/-         
f438-0117-c0dc 1           -      -      Eth0/0/3        dynamic   0/-         
dee0-7b40-1207 1           -      -      Eth0/0/3        dynamic   0/-         
4af0-244c-25d9 1           -      -      Eth0/0/3        dynamic   0/-         
f4d0-e92b-4fd5 1           -      -      Eth0/0/3        dynamic   0/-         
2859-7003-3924 1           -      -      Eth0/0/3        dynamic   0/-         
86ea-0825-52a2 1           -      -      Eth0/0/3        dynamic   0/-         
a4fd-c13a-8c3c 1           -      -      Eth0/0/3        dynamic   0/-         
  ---- More ----

4、实际网络攻击中,已经很少使用MAC地址泛洪攻击,当这种攻击的原理仍然值得我们学习。

  • 10
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设有如下网络拓扑结构: ``` +-------+ +-------+ | PC1 | | PC2 | +-------+ +-------+ | | +--+--+ +--+--+ | Router | Switch +--+--+ +--+--+ | | +-------+ +-------+ | PC3 | | PC4 | +-------+ +-------+ ``` 假设攻击者控制了 PC1,想要进行 ARP 泛洪攻击攻击过程如下: 1. 攻击者向 PC2 发送一个 ARP 请求,询问 PC2 的 MAC 地址。 2. PC2 回应 ARP 请求,将自己的 MAC 地址发送给攻击者。 3. 攻击者将 PC2 的 MAC 地址缓存到自己的 ARP 缓存表中,并将该 ARP 响应广播到整个网络中。 4. 所有设备(包括 Router 和 Switch)都会接收到该 ARP 响应,因为攻击者是以广播的方式发送的,所以所有设备都会收到该消息。 5. 每个设备都会将 ARP 响应缓存到自己的 ARP 缓存表中,因为攻击者发送的 ARP 响应是伪造的,所以所有设备的 ARP 缓存表中都会记录着 PC2 的 MAC 地址与错误的 IP 地址的对应关系。 6. 当 PC3 向 PC4 发送数据包时,PC3 会向自己的 ARP 缓存表中查询 PC4 的 MAC 地址,但是由于该表中记录的是错误的 IP 地址对应的 MAC 地址,所以 PC3 无法找到正确的 MAC 地址,只能将数据包广播到整个网络中。 7. 所有设备都会接收到该数据包,但是只有 PC4 会接收并处理该数据包,因为该数据包是发往 PC4 的。 这就是 ARP 泛洪攻击的过程,攻击者通过发送伪造的 ARP 响应,将错误的 IP 地址与 MAC 地址的对应关系保存到所有设备的 ARP 缓存表中,从而实现了对整个网络的攻击
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值