问题描述
如果用户运行Microsoft Win9x、Win2K的DHCP客户端,其ICMP路由请求功能默认是打开的。通过伪造ICMP路由通告报文,就可能在DHCP客户端增加一条缺省路由。对于Win98,通过ICMP路由通告报文增加的缺省路由优先级高于来自DHCP服务器的缺省路由,造成网络数据包被重定向,因此危害极大;对于Win2K,通过ICMP路由通告报文增加的缺省路由优先级低于来自DHCP服务器的缺省路由,所以受此攻击危害较小,但因为能增加内容到路由表,就存在DoS攻击的可能。
解决措施
配置了DHCP Client的主机可以通过设置注册表禁用路由发现功能,此时并不影响DHCP Client的其他功能。
Win2k
修改注册表的如下位置
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ParametersInterfaces\{2FF4FAFD-40EC-4723-9FD0-86BFCBE0975B}
这最后的是接口名,你的系统上显然不是这个名字,需要自己确定
添加健值
PerformRouterDiscovery
REG_DWORD
value Meaning
0 禁用路由发现功能
1 启用路由发现功能
Win95/98
修改注册表的如下位置
HKLM\System\CurrentControlSet\Services\Class\NetTrans添加键值
PerformRouterDiscovery
REG_DWORD
value Meaning
0 禁用路由发现功能
1 启用路由发现功能
注意:Win95在安装了Winsock2之后,才会有路由发现功能。