ICMP重定向及其攻防技术

1、ICMP重定向概念:

  ICMP重定向技术,是用来提示主机改变自己的主机路由从而使路由路径最优化的一种ICMP报文。其概念理解的要义是原主机路由不是最佳路由,而其默认网关提醒主机优化自身的主机路由而发送的报文。

最能说明ICMP重定向意义的典型拓扑如下:

2、ICMP重定向细节:

(1)报文格式:

帧首部

IP首部

ICMP重定向首部

ICMP重定向数据

ICMP重定向负载部分

类型:5

代码:0(0~3)

校验和

建议使用的最优路由next-hop地址

IP首部

IP报文有效载荷的前8bytes

代码0~3代表的含义:

代码

描述

0

网络重定向

1

主机重定向

2

服务匹配条件下网络重定向

3

服务匹配条件下主机重定向

  ·建议使用的最优路由地址:

路由器或其他网关类设备的接口地址。

  ·IP首部:

原ICMP报文IP报头。

  ·IP报文有效载荷的前8bytes:

原ICMP报文中的类型、代码、校验、序列号等字段。

(2)发生条件:

·数据包的入接口和路由后的指定的出接口是同一个接口。

·数据包的源IP地址和该包应走的下一跳IP属于同一网段。

·数据报非源路由的(这种情况应该比较少见了,源路由多见于Token Ring)。

·系统开启重定向功能。

·受到ICMP重定向攻击。

(3)系统响应:

·大部分windows系列OS会选择添加一条主机路由作为默认动作。

·部分UNIX系列和UNIX-LIKE系列OS同样选择添加一条主机路由作为默认动作。

·部分UNIX系列和UNIX-LIKE系列OS以及一般而言绝大多数路由类网络设备会忽略。

·Linux等可以作为路由器的OS针对ICMP重定向有着不同的标准动作选择。

3、ICMP重定向应用:

(1)单纯的提供路由优化选项建议。

(2)定向改变数据流传输路由路径。

(3)通过优化路由改善服务的质量。

(4)进行非法的网络攻击入侵行为。

4、ICMP重定向攻击:

从安全的角度来讲,ICMP重定向报文没有协议状态检查,以及合法性机制验证,十分类似ARP报文,可以轻而易举的进行欺骗攻击。

当然不同的操作系统对于受到的ICMP重定向报文也会按照自己的一些标准进行过滤,例如Windows之接受来自其自身默认网关的ICMP重定向报文,其余来源ICMP重定向报文则被丢弃,但伪造网关发送报文十分容易。

ICMP攻击可以达到的目的:流量的嗅探劫持、中间人代理权(这两点差不多)

举例说明:

·拓扑如下:

过程说明:

(1)正常时,user通过交换机Switch连接到网关设备Gateway,利用默认网关与跨网段的   服务器Server通信。

(2)异常情况下,攻击者Attacker可以伪造网关向user发送ICMP重定向报文,可以结合   ARP欺骗技术,然后用户user主机路由变成流量要通过Attacker来进行转发通信。

(3)攻击者可以截获、提取、分析、修改、重放用户user的数据包,造成多种安全威胁。

5、ICMP重定向防御:

(1)网关端:

·关闭ICMP重定向(no ip redirects)。

·变长子网掩码划分网段。

·使用网络控制列表(ACL)和代理。

(2)主机端:

可以使用防火墙等过滤掉ICMP报文,或使用反间谍软件监控。

结合防ARP、IP欺骗等进行防御。 
原文地址:https://www.cnblogs.com/KevinGeorge/p/7866840.html