LDAPNightmare, publicado recientemente por SafeBreach Labs, es un exploit de prueba de concepto de una conocida vulnerabilidad de denegación de servicio de Windows Lightweight Directory Access Protocol (LDAP)(CVE-2024-49113). ¿Qué es LDAPNightmare, cuán peligroso es este exploit y cómo puede detectarlo y defenderse de él?
¿Qué es LDAPNightmare?
La actualización de Windows de diciembre de 2024, publicada por Microsoft el 10 de diciembre de 2024, señalaba dos vulnerabilidades LDAP: CVE-2024-49112 y CVE-2024-49113. CVE-2024-49113 es una vulnerabilidad de denegación de servicio; CVE-2024-49112 es una vulnerabilidad de ejecución remota de código (RCE).
El investigador de seguridad que encontró estas vulnerabilidades, Yuki Chen, no ha revelado públicamente detalles que pudieran dar lugar a abusos. Sin embargo, el 1 de enero de 2025, SafeBreach Labs publicó su propia investigación. Denominada LDAPNightmare, esta prueba de concepto funcional abusa de la vulnerabilidad de denegación de servicio CVE-2024-49113.
Usando LDAPNightmare, un atacante puede obligar a un controlador de dominio (DC), actuando como cliente LDAP, a enviar una petición LDAP a un servidor malicioso. A continuación, el servidor puede enviar una respuesta maliciosa que provoque el bloqueo de un host Windows, como un DC.
Tenga en cuenta que la vulnerabilidad explotada no es específica de Active Directory. Cualquier host Windows puede ser víctima del abuso de LDAPNightmare. Sin embargo, la naturaleza de alto valor de Active Directory hace que el servicio de identidad sea un objetivo principal.
Un exploit LDAPNightmare implica el siguiente flujo(Figura 1):
- Un atacante envía una solicitud de Entorno Informático Distribuido/Llamada a Procedimiento Remoto (DCE/RPC) a un DC víctima.
- La solicitud provoca que el DC víctima envíe una consulta DNS SRV a un dominio DNS que controla el atacante.
- El DNS controlado por el atacante responde con registros SRV que se resuelven con el nombre de host de un host malicioso.
- El DC víctima emite una solicitud de nombre NetBIOS para resolver el nombre de host del host malicioso.
- El host malicioso responde con su dirección IP.
- El DC víctima, una vez resuelto el host, actúa como cliente LDAP y envía una petición CLDAP al host malicioso.
- El host malicioso, controlado por el atacante, proporciona una respuesta que está diseñada para causar un desbordamiento de enteros en la biblioteca del cliente LDAP en el DC víctima, causando el bloqueo de Windows.
El recorrido completo de la investigación de SafeBreach Lab se puede encontrar en LDAPNightmare: SafeBreach Publishes First PoC Exploit (CVE-2024-49113). Hasta el momento, no existe ninguna revelación pública sobre el uso indebido de CVE-2024-49112.
¿Cómo puede defender su entorno contra LDAPNightmare?
Para defenderse contra potenciales denegaciones de servicio de LDAPNightmare, las organizaciones deben parchear sus DCs, Tier 0 estate (por ejemplo, servidores AD FS y AD CS), y hosts Windows críticos tan pronto como sea posible. Las actualizaciones de Windows Patch Tuesday de diciembre de 2024 contienen los parches necesarios para proteger contra las vulnerabilidades de ambos CVE.
La siguiente tabla muestra la información publicada por el Centro de respuesta de seguridad de Microsoft (MSRC) sobre los parches disponibles para CVE-2024-49113.
Sistema operativo | Tipo de instalación | Artículo de la Base de conocimientos |
Windows Server 2016 | Núcleo completo y servidor | KB5048671 |
Windows Server 2019 | Núcleo completo y servidor | KB5048661 |
Windows Server 2022 | Núcleo completo y servidor | KB5048654 |
Windows Server 2022 | Núcleo completo y servidor, hotpatched | KB5048800 |
Windows Server 2025 | Núcleo completo y servidor | KB5048667 |
Windows Server 2025 | Núcleo completo y servidor, hotpatched | KB5048794 |
Puede encontrar todos los detalles de las actualizaciones disponibles para todas las versiones de Windows (cliente y servidor) en CVE-2024-49113 - Security Update Guide - Microsoft - Windows Lightweight Directory Access Protocol (LDAP) Denial of Service Vulnerability.
Advertencia sobre otras medidas paliativas
La publicación del MSRC relativa a CVE-2024-49112 recomienda las siguientes medidas de mitigación:
Asegúrese de que los controladores de dominio están configurados para no acceder a Internet o para no permitir la entrada de RPC desde redes no fiables. Aunque cualquiera de las dos medidas de mitigación protegerá su sistema de esta vulnerabilidad, la aplicación de ambas configuraciones proporciona una defensa eficaz en profundidad contra esta vulnerabilidad.
Desgraciadamente, el MSRC no ofrece medidas prácticas para mitigar estos efectos, y las orientaciones sobre las limitaciones de las ERC podrían ser problemáticas si se interpretan erróneamente.
- Los sistemas de nivel 0 nunca deberían tener acceso ilimitado a Internet. Sin embargo, ciertos servicios de Microsoft requieren conectividad saliente a varios puntos finales de Azure y M365. Por lo general, estos servicios admiten la conectividad saliente a través de un proxy, pero a menos que su organización ya disponga de un proxy para este tráfico, debe dar prioridad a la aplicación de parches en sus centros de distribución frente a la implementación de nuevos servicios de proxy.
- Activar las restricciones RPC puede tener consecuencias negativas si se implementa en los DC. Microsoft ha publicado un artículo sobre las posibles consecuencias.
- La mayoría de las empresas ya cuentan con un proceso para probar los parches de Windows antes de su despliegue. Cualquier restricción de RPC requiere un diseño y unas pruebas igualmente exhaustivas, acciones que consumen mucho tiempo y que probablemente desvíen recursos de la aplicación de parches críticos a los hosts afectados.
Las organizaciones pueden explorar el bloqueo de RPC en una capa de red. Sin embargo, tenga en cuenta que dicho bloqueo puede interrumpir Active Directory.
¿Cómo puede detectar LDAPNightmare?
¿Cómo puede determinar si LDAPNightmare es una amenaza en su entorno?
Buscar parches
La aplicación de parches es la principal vía de defensa, por lo que el método más sencillo para determinar si Active Directory está protegido frente a LDAPNightmare es examinar el estado de los parches de Microsoft de diciembre de 2024 en sus DC. Puede utilizar las funciones de generación de informes de sus plataformas de gestión de parches para determinar esta información. Como alternativa, Semperis ha escrito el siguiente fragmento de código PowerShell, que puede utilizar para evaluar el estado de los parches de sus DC.
param( [Parameter(Mandatory = $true)] [string]$CSVFilePath ) $StatusList = @() $DCList = @(get-addomaincontroller -Filter *) foreach ($DC in $DCList) { $KBID = $null switch -Wildcard ($DC.OperatingSystem) { "Windows Server 2016*" { $KBID = "KB5048661" } "Windows Server 2019*" { $KBID = "KB5048661" } "Windows Server 2022*" { $KBID = "KB5048654" } "Windows Server 2025*" { $KBID = "KB5048667" } } Write-Progress -Activity "Checking domain controller" -Status $DC.HostName -PercentComplete $([float](([int]([array]::indexof($DCList,$DC)) + 1)/$DCList.Count) * 100) try { Get-HotFix -Id $KBID -ComputerName $DC.HostName -ErrorAction Stop | Out-Null $StatusList += New-Object -TypeName psobject -Property @{Hostname = $DC.HostName; OS = $DC.OperatingSystem; KB = $KBID; State="Patched" } } catch [System.ArgumentException] { $StatusList += New-Object -TypeName psobject -Property @{Hostname = $DC.HostName; OS = $DC.OperatingSystem; KB = $KBID; State="Unpatched" } } catch [System.Runtime.InteropServices.COMException] { $StatusList += New-Object -TypeName psobject -Property @{Hostname = $DC.HostName; OS = $DC.OperatingSystem; KB = $KBID; State="Unreachable" } } } $StatusList | Export-CSV "$CSVFilePath\dclist$(get-date -f yyyy-MM-dd-HHmmss).csv" -NoTypeInformation
Este código de PowerShell comprueba cada DC, en función de su versión del sistema operativo, en busca del hotfix adecuado y, a continuación, envía el contenido a un archivo CSV. Si ejecuta Windows Server 2012 R2 o una versión anterior, o si utiliza hotpatching, deberá actualizar la sentencia switch según corresponda.
Nota: Este código requiere acceso remoto y privilegios en cada DC, así que ejecútelo sólo desde un dispositivo de Nivel 0 de confianza, como una estación de trabajo de acceso privilegiado (PAW).
Otros métodos de detección
SafeBreach ha indicado que LDAPNightmare podría utilizarse para determinar si un DC es vulnerable a la explotación de CVE-2024-49113. Sin embargo, este tipo de experimento consistiría en bloquear a sabiendas los DC, un acto que es mejor evitar contra un servicio de directorio de producción. Como ha indicado SafeBreach, y como hemos verificado en nuestras propias pruebas, los parches de Microsoft de diciembre de 2024 protegen contra el desbordamiento de enteros. Por lo tanto, recomendamos que las organizaciones se centren en inventariar qué DC y otros hosts de nivel 0 carecen del parche correspondiente.
SafeBreach también indica que las organizaciones pueden supervisar las respuestas de referencia CLDAP sospechosas, las llamadas DsrGetDcNameEx2 sospechosas y las consultas DNS SRV sospechosas. Sin embargo, es probable que estos tipos de tráfico de red se produzcan cuando ya se esté llevando a cabo un ataque contra hosts vulnerables. A la velocidad a la que funciona este exploit, usted sería capaz de capturar estos eventos sólo momentos antes de que un DC objetivo se bloquee.
Si observa que un DC se reinicia, puede comprobar el registro de aplicaciones de Windows en el DC para determinar si LDAPNightmare está en juego. En primer lugar, busque el ID de evento 1000 con un nombre de aplicación defectuosa de lsass.exe y un nombre de módulo defectuoso de WLDAP32.dll(Figura 2).
Luego, busque un Evento ID 1015 posterior indicando que el proceso crítico lsass.exe falló y que Windows debe ser reiniciado(Figura 3).
Instantánea de Semperis
LDAPNightmare es un exploit de prueba de concepto publicado recientemente que abusa de CVE-2024-49113. El exploit tiene el potencial de generar ataques de denegación de servicio contra sistemas Windows críticos, incluidos los DC.
En este momento, no se conocen ataques que utilicen LDAPNightmare. Sin embargo, un atacante podría potencialmente utilizar este exploit para construir un sistema que podría continuamente atacar y derribar DCs no parcheados, afectando en gran medida la disponibilidad de Active Directory. Seguiremos actualizando nuestros recursos sobre la vulnerabilidad a medida que continúe la investigación.