ICMP 协议常见攻击

  • ​​一、ICMP 重定向攻击​​
  • ​​1、攻击原理​​
  • ​​2、ICMP 重定向攻击​​
  • ​​二、ICMP 不可达攻击​​
  • ​​1、攻击原理​​
  • ​​2、ICMP 不可达攻击​​
  • ​​三、防御​​

一、ICMP 重定向攻击

1、攻击原理

什么是ICMP 重定向

ICMP 重定向指的是,网络设备跨网段通讯时,发出的数据包,到达该设备指定的的网关时,网关经过查询路由表发现,目标主机不在该路由器所在的网段,此时,数据包需要再次从该接口转出时,下一跳地址在该网段的其他地方。这时,路由器启动ICMP重定向,主动向原始设备发送ICMP重定向包,告诉该设备目标网段对应的路由下一跳不在指定网关,请求重新定位新的网关地址,从而使得,数据包到达,正确的路由下一跳。避免了数据包绕路的现象。
优点:减少数据包对网络线路、设备带宽资源的消耗和占用,提高了数据传输速率和通信效率

案例拓扑

协议栈安全--ICMP 协议常见攻击_安全

#R3 路由表
C 192.168.5.0/24 is directly connected, FastEthernet0/0
10.0.0.0/24 is subnetted, 1 subnets
S 10.1.1.0 [1/0] via 192.168.5.100

协议栈安全--ICMP 协议常见攻击_协议栈安全_02

PC1 ping R4 f1/0接口

R1路由器F1/0接口,可以抓到R1 发给 PC1的 ICMP 重定向 数据包

协议栈安全--ICMP 协议常见攻击_安全_03


按照 ICMP 重定向内容,修改R3 路由表后

C    192.168.5.0/24 is directly connected, FastEthernet0/0
10.0.0.0/24 is subnetted, 1 subnets
S 10.1.1.0 [1/0] via 192.168.5.200

PC1 ping R4 f1/0接口

R1路由器F1/0接口,抓不到任何关于PC1的 ICMP 数据包

协议栈安全--ICMP 协议常见攻击_重定向_04


R2 f0/0 可以抓到 ICMP echo 、reply 数据包

协议栈安全--ICMP 协议常见攻击_重定向_05

2、ICMP 重定向攻击

#给目标地址一个新的网关地址,以目前网关的名义发出
netwox 86 -f "host 192.168.5.10 "--gw "192.168.5.8" -i "192.168.5.200"

可以抓去到kali 系统伪装192.168.5.200发给192.168.5.200 接口,ICMP 攻击数据包

协议栈安全--ICMP 协议常见攻击_安全_06


协议栈安全--ICMP 协议常见攻击_重定向_07


PC1 ping PC2 在kali 系统上可以检测到icmp-ping数据包

协议栈安全--ICMP 协议常见攻击_重定向_08

二、ICMP 不可达攻击

1、攻击原理

伪造网关给受害主机发送ICMP数据包,使得受害主机相信到达目标网段不可达
攻击

2、ICMP 不可达攻击

#伪造一个icmp不可达给受害主机 
kali@kali:~$ sudo netwox 82 -f "host 100.1.1.1 and port 80" -i "192.168.249.200"

三、防御

ICMP 重定向攻击

一般情况下现有网络的设计是很少发出重定向,那么我们可以禁止网关发出重定向消息,主机不处理重 定向。
华为设备已经取消发送 ICMP 重定向和接受ICMP重定向数据包

ICMP 不可达攻击

增加服务断开的判断机制,做多重判断,不能仅从icmp不可达来判断失去连接从而断开服务。
例如:通过数据流量是否通讯异常,判读目标主机是否真正可达