资源描述
实验主机
ICMP报文类型
源IP
目的IP
源MAC
目的MAC
主机A
主机F
一.设置网络环境
(1)主机A、F设置成在不同网段的IP地址,需要通过路由主机E才能正常通信。
(2)主机B、E为双网卡主机,将eth0设置为主机A段IP地址,将eth1设置成主机F段IP地址,主机E开启的路由功能(echo 1 >/proc/sys/net/ipv4/ip_forward)。
(3)主机A、F设置自己的网关为同网段主机E的IP地址。
二.ICMP重定向攻击
(1)首先记录正常情况时主机A、F的数据包,主机A、F开启协议分析器,并设置过滤规则,只对ICMP数据包进行捕获。
(2)主机A使用ping命令测试和主机F之间网络的连接情况。主机A、F对所捕获的数据包进行分析,完成表18-2-1:
仔细观察主机F捕获到的数据包,这些ICMP数据包是否成对出现? 是 ,若是,那么每对中的数据包都是相同的吗? 不相同 ,如果不同,它们有什么区别? 标记,首部校验和 ,为什么会出现这样的结果 ? 。
(3)确认连通后,主机A、F分别使用路由跟踪查看通信时所经过的网关,命令: ,网关IP: 。
(4)主机A、F分别使用ping命令探测各自网关,然后查看ARP缓存表,使用命令: ,可以得出各自网关MAC地址: 。
(5)主机A清空协议分析器,重新开始捕获数据,主机B点击控制台按钮,使用icmp_redirect工具攻击主机A,命令为:
Icmp_redicrect 主机A网关IP 主机A 的IP 主机F的IP 虚假IP
「注」虚假IP为除正常网关外的任意与主机A同网段的IP地址
(6)主机A刷新协议分析器,查看发给主机A的ICMP重定向数据包,类型: ,代码: ,网关地址: ,有效载荷数据的长度: 。
(7)主机A再次清空协议分析器,使用ping命令向主机F发出ICMP回显请求,此时能否得到回复? 。协议分析器能否捕获到ICMP数据包? ,为什么会有这样的现象? 。
(8)主机A使用路由跟踪命令探测与主机F之间的路由。结果: 。
(9)主机A查看本机路由表,命令: ,可以发现多了一条路由表项: 。
三.ICMP重定向欺骗攻击
(1)主机A删除路由表内目标主机到F的路由表项。
(2)主机B开启路由功能,然后对主机A进行ICMP重定向欺骗攻击。
Icmp_redirect 主机A的网关IP 主机A的IP 主机F的IP 主机B-eth0-IP
(3)主机B设置iptbales规则,使其冒充主机A,与主机F通信,以达到欺骗的目的。
清空iptables现有规则:
Iptables –F
Iptables –t nat -F
在NAT表添加SNAT规则,使主机A对主机F发送的数据通过主机B的时候,主机B对其源IP地址进行转换,改为自己的IP地址。
Iptables –t nat –A POSTROUTING –s 主机A IP –j SNAT –to-source 主机–eth1-IP
「说明」关于iptables的知识详见实验21|练习二。
(4)主机A、F清空协议分析器,对主机A、F之间的ICMP数据包进行捕获。
(5)主机A使用ping命令向主机F发出ICMP回显请求,对所捕获的数据包再次分析,根据主机A、F,主机B、F间通信的数据包完成表18-2-2:
实验主机
ICMP报文类型
源IP
目的IP
源MAC
目的MAC
主机A
主机F
(6)主机A、F分别使用路由跟踪命令探测其间的路由。结果: 。为什么会出现这样的结果,写出原因: 。
(7)主机A查看本机路由表,可以发现到主机F的路由表项: 。
四.ICMP重定向欺骗攻击的防范
(1)主机A关闭ICMP重定向功能。修改注册表中“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableICMPRedirect”的值为0,然后重启系统使其生效。
(2)主机A开启协议分析器,主机B重启iptables服务,并对主机A进行攻击。
(3)主机A查看本机路由表,是否发现新的路由表项 ?协议分析器是否有捕获到ICMP重定向数据包 ?
「说明」 Linux主机关闭ICMP重定向功能的方法:
echo 0 > /proc/sys/net/ipv4/conf/DEV/accept_redirects,这里的DEV为当前使用的网卡名称。
思考题: 1.通过ICMP重定向欺骗方法,如何监听企业内网与Internet之间的通信。
展开阅读全文