首页 -> 安全研究

安全研究

安全漏洞
Microsoft Windows 2000 SNMP内存消耗拒绝服务攻击漏洞

发布日期:2002-10-22
更新日期:2002-10-24

受影响系统:
Microsoft lmmib2.dll 5.00.2134.1
    - Microsoft Windows 2000 Server SP2
    - Microsoft Windows 2000 Server SP1
    - Microsoft Windows 2000 Server
描述:
Windows 2000是微软开发的操作系统,包含SNMP服务。

如果Windows 2000上运行了SNMP服务,而且'Print Spooler'服务没有运行的情况下,重复使用SNMP查询获得LANMAN MIB中相关的打印队列,可导致SNMP服务消耗大量资源,产生拒绝服务。

LAN Manager (LANMAN) MIB自动由Windows 2000 snmp代理安装,LANMAN MIB由lmmib2.dll实现。

如果系统中SNMP代理服务(snmp.exe)运行,并且"print spooler"服务(spoolsv.exe)没有启动的情况下,'GET'或者'GETNEXT'请求给SNMP代理可导致LANMAN SNMP扩展消耗大约30MB的内存。攻击者可以提交大量类似请求导致消耗所有内存产生拒绝服务攻击。

执行这个攻击需要合法的可读公共字符串,默认为'public',攻击者也可以通过嗅探网络,检查工作站或者其他主机的配置,或者猜测获得SNMP公共字符串。

<*来源:Chris Anley (chrisanley@hushmail.com
  
  链接:http://www.nextgenss.com/advisories/snmp_dos.txt
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Chris Anley (chrisanley@hushmail.com)提供了如下测试方法:

攻击者可以使用由Windows 2000 resource kit提供的SNMPUtil工具进行攻击:

snmputil getnext localhost public .1.3.6.1.4.1.77.1.2.28.0

或者使用NGS Software提供的SNMP工具-snmplib:

snmplib get <hostname> 161 public 1.3.6.1.4.1.77.1.2.28.0

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 暂时关闭SNMP服务。

厂商补丁:

Microsoft
---------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载使用Windows 2000 Service Pack3补丁:

http://www.microsoft.com/windows2000/downloads/servicepacks/sp3/default.asp

浏览次数:3974
严重程度:6(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障