一、ICMP介绍
ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
ICMP重定向
ICMP重定向报文是ICMP控制报文中的一种。是用来提示主机改变自己的主机路由从而使路由路径最优化的一种ICMP报文。其概念理解的要义是原主机路由不是最佳路由,而其默认网关提醒主机优化自身的主机路由而发送的报文。
二、ICMP重定向攻击实例
1. 基于ICMP路由重定向攻击实战及防御
原理
ICMP重定向信息是路由器向主机提供实时的路由信息,当一个主机收到ICMP重定向信息时,它就会根据这个信息来 更新自己的路由表。由于缺乏必要的合法性检查,如果一个黑客想要被攻击的主机修改它的路由表,黑客就会发送 ICMP重定向信息给被攻击的主机,让该主机按照黑客的要求来修改路由表。
攻击前受害者路由表
在此前需要开启攻击机的路由转发功能
在etc/sysctl.conf 将参数改为“1”
netwox 86 -f “host {被攻击主机ip地址}” -g “{新指定的网关ip地址}” -i “{当前网关ip地址}”
Wireshark分析ICMP重定向攻击过程
路由追踪查看经过的下一跳网关地址为kali主机地址
使用driftnet –i eth0 查看目标机在欣赏的图片
ICMP路由重定向攻击的防御
根据类型过滤一些ICMP数据包
设置防火墙过滤
对于ICMP重定向报文判断是不是来自本地路由器
附:
Linux路由追踪命令:traceroute
Windows路由追踪命令:tracert
查看路由表:route print