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(网友投票)