ICMP重定向攻击
原理:
首先,我们需要了解何为ICMP报文:是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,对于用户数据的传递起着重要的作用。跟根据其作用你可以看出ICMP本身是对某一主机路由表更新纠错的一个报文。通过其工作性质我们试想如果这个时候有一个攻击主机向受害主机发送了一个错误的ICMP报文,告诉受害主机你的路由表其实是攻击者主机的ip地址,那么受害者主机将自身的路由表的网关地址更新为攻击者地址,此时受害者主机的信息将先传递给攻击者主机,此时攻击方便完成了对受害者主机的攻击监听。
环境:
- win 10 X64 作为被攻击主机,ip地址为192.168.11.133
- kali 作为攻击主机,ip地址为192.168.11.130
- 两主机均在192.168.11.2网关下并能正常联网
工具:
重定向攻击过程:
首先,将Kali Linux和Windows 10都设置为net或桥接模式,使他们可以正常上网,并且在同一个网段中(本实验网段网关为192.168.11.2)。
配置好网络后在kali主机中下载netwox工具包,在终端中输入下述命令行
apt-get install netwox
下载完成后便可以开始进行攻击,首先我们在window10主机中检测是否可以正常联网,我直接在命令行中输入ping www.baidu.com进行ping测试,得到如下结果。
我们可以看出此时windows10 主机可以正常联网,此时我们在kali 中输入
sudo netwox 86 -g 192.168.11.130 -i 192.168.11.2
此时则是对192.168.11.2网关下的主机进行ICMP攻击,使该网关下的主机的路由表更新为先经过192.168.11.130(即kali的ip地址)。 我们可以看出其攻击过程中,kali 不断发送ICMP报文,告诉192.168.11.2网关下的主机新的网关地址为192.168.11.130,通过window10被攻击主机ping的情况来看,其网关地址在随着ICMP报文的发送在不断改变,至后来完全更新为攻击者地址后window10断网,ICMP报文和攻击后的情况如下图:
此时我们可以看出攻击成功。并且被攻击主机断网。
此时引入一个问题:如果把netwox里面的命令中-i 及后面的“受攻击主机的网关的IP地址”删除,观察此时是否能上网?
我们进行此操作,即把-i以及之后的网关地址删去,发现此时可以联网(如下图),那么这是为什么呢?
原因是此时kali主机向整个网络发送虚假的ICMP报文,此时网络中均把192.168.11.130当成11网段下的网关,此时kali可以直接和外部网络互联,而其他主机也可以通过kali主机直接和外部网络互联。
ICMP报文分析:根据下图我们可以看出报文中除了源地址(Source Address)和目的地址(Destination Address)外在控制字段包含网关地址的声明(Gateway Address),并且此网关地址非常用网关字段,因此我们可以基本判断为ICMP重定向攻击报文。
防御:
如今我们的window系统自带的防火墙便对这种ICMP攻击具有一定的抵御能力,我们将全部防火墙打开后就可以看到对ICMP重定向攻击进行了防御。如下图:
打开防火墙后,window主机恢复正常的上网功能。
|