微软Windows 9x/NT 4.0/2000的NetBIOS的缓存可被破坏
发布日期:2000-08-31
更新日期:2000-08-31
受影响系统:
Microsoft Windows 98
Microsoft Windows 95
Microsoft Windows NT 4.0
Microsoft Windows NT 2000
不受影响系统:
描述:
Windows 95,98,NT 4.0和2000中的NetBIOS缓存的实现方式允许从远程在动态缓存中添加条目,
以及删除动态缓存和静态缓存(从LMHOSTS文件中)的条目。这是由NetBIOS缓存的实现和CIFS
(Common Internet File System)浏览协议之间的交互引起的。
CIFS浏览协议用来生成网络资源的列表,该协议被用在“网上邻居”和“我的网络”等服务中。它还
定义了一些浏览帧,这些帧被封装在NetBIOS数据包中。当从138号UDP端口接收到一个浏览帧的请求
时,NetBIOS数据包中的信息被提取出来并添加到NetBIOS缓存中。这些信息包括源和目的地的
NetBIOS名字、第二源IP地址以及IP头。
远程的恶意用户可以通过发送单播或广播类型的UDP数据包,从而使得NetBIOS名字到IP地址的解析进
行重定向,在其控制之下转发到任意的IP地址。一旦NetBIOS缓存被UDP数据包破坏,就不再需要预测
事务标识(据报道,事务标识是一个很容易预测的16 bit的标识)。
为了刷新缓存中的动态条目,用户可以发送一个正向名字查询(Positive Name Query)响应,在该
响应中提供另一个IP地址给NetBIOS名字映射。
<* 来源:Anthony Osborne,COVERT Labs (
seclabs@nai.com) *>
建议:
NAI COVERT实验室提供了如下解决方案:
1、如果运行的是Windows 2000,则将基于TCP/IP的NetBIOS禁止使用。
2、为了防止外来的攻击,将网络对外的UDP和TCP的135~139及445号端口关闭。
3、由于NetBIOS名字解析(不管是通过广播还是WINS)容易受到这种破坏缓存的攻击,因此不能依赖
于实施主机名到IP地址的解析。
4、禁止WINS客户捆绑,包括NetBIOS接口、服务器和工作站提供的服务。通过“nbstat -n”命令察
看哪些服务注册了NetBIOS名字,将所有的这些服务禁止,这是很重要的。选择性地取消NetBIOS接
口捆绑或其它一些特定的服务,这些服务使得服务器或工作站允许攻击者与NetBIOS名字进行对话并
破坏NetBIOS缓存。
5、另外一个需要注意的重要方面是确保计算机浏览服务不依赖于浏览帧的处理和生成(至少在本漏
洞的范围之内要求是这样)。禁止计算机浏览服务对本漏洞没有影响。
浏览次数:6285
严重程度:0(网友投票)