微软网络监视器存在多个缓冲区溢出漏洞
发布日期:2000-11-05
更新日期:2000-11-05
受影响系统:Microsoft Systems Management Server 2.0
- Microsoft Windows NT 4.0
- Microsoft BackOffice 4.5
- Microsoft Windows NT 4.0
Microsoft Systems Management Server 1.2
- Microsoft Windows NT 4.0
- Microsoft BackOffice 4.0
- Microsoft Windows NT 4.0
Microsoft Windows NT 4.0
Microsoft Windows NT 3.5.1
Microsoft Windows NT 3.5
Microsoft Windows NT Terminal Server
+ Microsoft Windows NT 4.0
Microsoft Windows NT 2000
描述:
随Windows NT/2000一起发行的网络监视器工具允许管理员捕获和分析到本机的数据流以及局域网中的所有数据流。Netmon被设计成在数据流可以用图形界面察看之前捕获它们,它分析接收自网络的信息,然后在用户界面中将其转换成可读的格式。
Netmon中不同的DLL库分析不同的应用协议。这些库中一个名为“browser.dll”的DLL存在漏洞。通过利用这些存在漏洞的DLL中的函数调用的多处堆栈溢出,远程攻击者可以控制网络监视器,执行任意代码并控制受害主机。
<* 来源: COVERT Labs (
http://www.pgp.com/)
ISS X-force (
http://xforce.iss.net) *>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
1、如果发送一个CIFS浏览帧到138号UDP端口,browser.dll中的函数FormatBrowserSummary( )将被调用。一种名为“Become Backup”的特定的CIFS浏览帧包含有要显示的浏览服务器的名字。该信息从UDP数据报中提取,以便将其包含在单行的总结中。
浏览服务器名字被传递给Win32 API函数OemToChar( ),该函数将字符串从OEM定义的字符集转换成ANSI字符集或者宽字符集。当OemToChar( )遇到一个空字符时将停止转换。browser.dll中存在漏洞的FormatBrowserSummary( )函数调用OemToChar( )将服务器名字转换后存放在堆栈中长度为255字节的缓冲区中。OemToChar( )没有提供边界检查,堆栈可以被任意值覆盖。
2、如果161号UDP端口收到一个SNMP请求,snmp.dll将被调用。SNMP请求中的community串是从数据报中提取的,以便用在与协议有关的总结中。SNMP community串被browser.dll用Win32函数wsprintfA( )拷贝到堆栈中的一个缓冲区中。由于该函数未提供足够的边界检查,堆栈可被覆盖。
3、如果从139号TCP端口接收到一个SMB会话,smb.dll将被调用。这个分析器包含两个漏洞。如果网络监视器接收到一个SMB会话,而该会话中有用于C类事务的很长的用户名或文件名,它将按照类似如上所描述的SNMP分析器中的漏洞那样,通过未经边界检查的wsprintfA( )调用覆盖其堆栈。
可以通过两种方法来控制这些漏洞中的指令指针,一种是通过覆盖返回地址从而使存在漏洞的函数返回到指定的地址,另外一种方法是通过覆盖结构化异常处理回调指针来导致一个无效的内存引用。
建议:
微软已经提供如下补丁:
Microsoft Systems Management Server 2.0:
Microsoft patch Q273476c
http://download.microsoft.com/download/sms20/Patch/q273476/NT4/ENUS/Q273476c.EXE
Microsoft Systems Management Server 1.2:
Microsoft patch Q273476c (SMS 1.2)
http://download.microsoft.com/download/sms12/Patch/q273476/NT4/ENUS/Q273476c.EXE
Microsoft Windows NT 4.0:
Microsoft patch Q274835i
http://download.microsoft.com/download/winntsp/Patch/Q274835/NT4/ENUS/Q274835i.EXE
Intel
Microsoft Windows NT 2000:
Microsoft patch Q274835_W2K_SP2_x86_en
http://download.microsoft.com/download/win2000platform/Patch/Q274835/NT5/ENUS/Q274835_W2K_SP2_x86_en.EXE浏览次数:6348
严重程度:0(网友投票)