- 他先研究192.0.0.3这台主机,发现这台主机的漏洞。
- 根据发现的漏洞使主机C当掉,暂时停止工作。
- 这段时间里,入侵者把自己的ip改成192.0.0.3
- 他用工具发一个源ip地址为192.168.0.3源MAC地址为BB:BB:BB:BB:BB:BB的包给主机A,要求主机A更新自己的arp转换表。
- 主机更新了arp表中关于主机C的ip-->mac对应关系。
- 防火墙失效了,入侵的ip变成合法的mac地址,可以telnet 了。

图3 不同网段之间的ARP欺骗
B: ip地址 192.168.1.2 硬件地址 BB:BB:BB:BB:BB:BB
C: ip地址 192.168.0.3 硬件地址 CC:CC:CC:CC:CC:CC
- 为了使自己发出的非法ip包能在网络上能够存活长久一点,开始修改ip包的生存时间ttl为下面的过程中可能带来的问题做准备。把ttl改成255. (ttl定义一个ip包如果在网络上到不了主机后,在网络上能存活的时间,改长一点在本例中有利于做充足的广播)
- 下载一个可以自由制作各种包的工具(例如hping2)
- 然后和上面一样,寻找主机C的漏洞按照这个漏洞当掉主机C。
- 在该网络的主机找不到原来的192.0.0.3后,将更新自己的ARP对应表。于是他发送一个原ip地址为192.168.0.3硬件地址为BB:BB:BB:BB:BB:BB的ARP响应包。
- 好了,现在每台主机都知道了,一个新的MAC地址对应192.0.0.3,一个ARP欺骗完成了,但是,每台主机都只会在局域网中找这个地址而根本就不会把发送给192.0.0.3的ip包丢给路由。于是他还得构造一个ICMP的重定向广播。
- 自己定制一个ICMP重定向包告诉网络中的主机:"到192.0.0.3的路由最短路径不是局域网,而是路由,请主机重定向你们的路由路径,把所有到192.0.0.3的ip包丢给路由。"
- 主机A接受这个合理的ICMP重定向,于是修改自己的路由路径,把对192.0.0.3的通讯都丢给路由器。
- 入侵者终于可以在路由外收到来自路由内的主机的ip包了,他可以开始telnet到主机的23口。
- 新路由必须是直达的
- 重定向包必须来自去往目标的当前路由
- 重定向包不能通知主机用自己做路由
- 被改变的路由必须是一条间接路由
- 不要把你的网络安全信任关系建立在ip地址的基础上或硬件mac地址基础上,(rarp同样存在欺骗的问题),理想的关系应该建立在ip+mac基础上。
- 设置静态的mac-->ip对应表,不要让主机刷新你设定好的转换表。
- 除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。在linux下可以用ifconfig -arp可以使网卡驱动程序停止使用ARP。
- 使用代理网关发送外出的通讯。
- 修改系统拒收ICMP重定向报
上一篇:寄存器更改路由器启动过程
下一篇:交换容量