|
Microsoft Windows 2000 SNMP内存消耗拒绝服务攻击缺陷
涉及程序:
Microsoft lmmib2.dll 5.00.2134.1
描述:
Microsoft Windows 2000 SNMP内存消耗拒绝服务攻击缺陷
详细:
这个安全公告曾在2001年11月4日发布过,最近我们作了适当的补充后又重新发布。
如果Windows 2000在运行SNMP代理服务(snmp.exe),但是'Print Spooler'服务(spoolsv.exe)并没有启动,如果恶意用户向SNMP代理服务(snmp.exe)发送一定数量的'GET'或'GETNEXT'请求,以获得LANMAN
MIB中相关的打印队列。由于每一个 'GET' 或 'GETNEXT' 请求会消耗目标系统大约30MB的内存,达到一定数量的'GET'或'GETNEXT'请求将使目标系统的内存资源全部耗尽而产生拒绝服务,需要重新启动计算机。
执行这个攻击需要合法的可读公共字符串,系统中默认为'public'。当然攻击者可通过嗅探网络,检查工作站或者其他主机的配置,甚至通过猜测获得SNMP公共字符串。
LAN Manager (LANMAN) MIB自动由Windows 2000 snmp代理安装,LANMAN MIB由lmmib2.dll实现。
受影响系统:
Microsoft lmmib2.dll 5.00.2134.1
- Microsoft Windows 2000 Server SP2
- Microsoft Windows 2000 Server SP1
- Microsoft Windows 2000 Server
攻击方法:
攻击者可以使用由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
解决方案:
此安全缺陷在 Windows 2000 SP3 中已得到修复,建议用户立即安装 SP3 :
http://www.cnns.net/msfix/w2ksp3_cn.exe
http://www.cnns.net/msfix/w2ksp3_en.exe
|