Frenar el NTLM relay: firma LDAP, SMB y LLMNR
Refuerce la firma LDAP, el enlace de canal LDAP y la firma SMB, y deshabilite LLMNR/NBT-NS para cerrar las rutas de NTLM relay contra los controladores de dominio.
El NTLM relay sigue siendo una de las vías más fiables hacia el compromiso del dominio, porque muchísimos entornos de AD todavía permiten enlaces LDAP sin firmar, SMB sin firmar y protocolos heredados de resolución de nombres que filtran credenciales a cualquiera que escuche en el segmento local. Ninguna de las correcciones de esta guía requiere infraestructura nueva: son valores del registro, configuraciones de directiva de grupo y registros de auditoría que puede activar esta misma semana. Esta guía cubre el bloqueo de la firma LDAP y SMB, la eliminación de LLMNR/NBT-NS y la retirada de NTLMv1, con pasos de verificación y una lista clara de lo que se rompe.
Por qué LLMNR y NBT-NS facilitan el NTLM relay
LLMNR (Link-Local Multicast Name Resolution) y NBT-NS (NetBIOS Name Service) permiten que los equipos Windows resuelvan nombres cuando falla DNS, difundiendo una solicitud a la subred local. Cualquier equipo de ese segmento puede responder: la respuesta no está autenticada. Un atacante que contesta a estas difusiones induce a la víctima a autenticarse ante él con NTLM, lo que le permite capturar un hash o reenviar (relay) el intento de autenticación en vivo hacia un servicio de destino como LDAP o SMB. Desactivar ambos protocolos elimina el punto de apoyo más fácil para recolectar credenciales en la mayoría de las pruebas de penetración internas.
Deshabilitar LLMNR
Ruta de directiva de grupo:
Computer Configuration > Policies > Administrative Templates > Network > DNS Client
Turn Off Multicast Name Resolution: EnabledValor del registro equivalente:
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient
EnableMulticast (DWORD) = 0Deshabilitar NBT-NS
NBT-NS no tiene un conmutador nativo en GPO; deshabilítelo por adaptador mediante WMI, idealmente distribuido con un script de inicio o una tarea programada para que se aplique también a las nuevas tarjetas de red:
# Deshabilitar NetBIOS sobre TCP/IP en todos los adaptadores (0 = predeterminado/habilitar vía DHCP, 1 = habilitar, 2 = deshabilitar)
Get-WmiObject Win32_NetworkAdapterConfiguration -Filter "IPEnabled=True" |
ForEach-Object { $_.SetTcpipNetbios(2) }Verificación:
Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -Name EnableMulticast
Get-WmiObject Win32_NetworkAdapterConfiguration -Filter "IPEnabled=True" |
Select-Object Description, TcpipNetbiosOptionsFirma LDAP y enlace de canal LDAP
Los enlaces LDAP sin firmar permiten a un atacante reenviar una autenticación NTLM capturada directamente a una sesión LDAP en un controlador de dominio, lo que a menudo basta para añadirse a un grupo privilegiado o leer atributos confidenciales. Dos configuraciones independientes cierran esta vía: la firma del servidor LDAP (LDAPServerIntegrity) y el enlace de canal LDAP (LdapEnforceChannelBinding); esta última cierra la ruta de relay específica de LDAPS/TLS que la firma por sí sola no cubre.
Configure en cada controlador de dominio:
HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
LDAPServerIntegrity (DWORD) = 2 ; 1 = None, 2 = Require signing
HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
LdapEnforceChannelBinding (DWORD) = 2 ; 0 = Never, 1 = When supported, 2 = AlwaysAmbos valores pueden distribuirse mediante una preferencia de registro de GPO dirigida a la OU Domain Controllers, o configurarse directamente:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name LDAPServerIntegrity -Value 2
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name LdapEnforceChannelBinding -Value 2Localizar los clientes no conformes antes de aplicar
Antes de configurar LDAPServerIntegrity para exigir la firma, habilite el registro de diagnóstico en el controlador de dominio y revise el registro de eventos Directory Service durante una ventana de despliegue (lo habitual son de dos a cuatro semanas):
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics" -Name "16 LDAP Interface Events" -Value 2Vigile estos ID de evento de Directory Service, que identifican exactamente qué clientes y servicios se enlazan sin firma o sin enlace de canal:
| ID de evento | Significado |
|---|---|
| 2886 | El controlador de dominio no está configurado para exigir la firma LDAP: informativo, corríjalo antes de aplicar |
| 2887 | Número de enlaces SASL sin firmar y enlaces simples en texto claro aceptados en las últimas 24 horas |
| 2888 | La firma está aplicada: número de enlaces sin firmar rechazados en las últimas 24 horas |
| 2889 | Un cliente concreto realizó un enlace SASL sin firmar o un enlace simple en texto claro: registra la IP y la cuenta del cliente, su lista de tareas de corrección |
| 3039 | Un cliente concreto se enlazó sobre TLS sin un token de enlace de canal válido (3040 es el recuento de 24 horas; 3041 indica que el enlace de canal no se aplica) |
Get-WinEvent -LogName "Directory Service" | Where-Object { $_.Id -in 2887,2889,3039 } |
Select-Object TimeCreated, Id, Message | Format-ListPase LDAPServerIntegrity y LdapEnforceChannelBinding a sus valores de aplicación (2) solo cuando los eventos 2889 y 3039 dejen de generarse, o cuando los orígenes restantes sean excepciones aceptadas. Consulte enlace de canal LDAP para ver cómo el enlace vincula la sesión LDAP al canal TLS.
Firma SMB
El relay SMB funciona igual que el relay LDAP: una autenticación NTLM capturada se reproduce contra un servidor de archivos o, peor aún, contra la pila SMB de un controlador de dominio. Exigir la firma SMB hace que una sesión reenviada no supere las comprobaciones de integridad y se descarte.
Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options
Microsoft network server: Digitally sign communications (always): Enabled
Microsoft network client: Digitally sign communications (always): EnabledEquivalentes en el registro:
HKLM\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters
RequireSecuritySignature (DWORD) = 1
HKLM\SYSTEM\CurrentControlSet\Services\LanManWorkstation\Parameters
RequireSecuritySignature (DWORD) = 1Aplíquelo primero a los controladores de dominio (son el objetivo de relay más valioso) y después a estaciones de trabajo y servidores de archivos en un despliegue por fases. Verifique:
Get-SmbServerConfiguration | Select-Object RequireSecuritySignature
Get-SmbClientConfiguration | Select-Object RequireSecuritySignatureAuditar y restringir NTLM
En lugar de deshabilitar NTLM sin más, lo que rompe todo lo que no haya migrado a Kerberos, utilice el flujo de trabajo Restrict NTLM de auditar primero y aplicar después.
Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options
Network security: Restrict NTLM: Audit NTLM authentication in this domain: Enable all
Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers: Audit allLos eventos de auditoría (ID 8001-8004) se registran en Microsoft-Windows-NTLM/Operational, no en el registro System. Revíselos durante un ciclo de negocio completo, elabore una lista de permitidos con los servicios que todavía necesitan NTLM de forma legítima y después pase de Audit a Deny para todo lo demás:
Network security: Restrict NTLM: NTLM authentication in this domain: Deny all
Network security: Restrict NTLM: Add server exceptions in this domain: <legacy app servers>Deshabilitar NTLMv1
NTLMv1 es criptográficamente débil y debe deshabilitarse por completo; solo NTLMv2 necesita seguir disponible como alternativa para los equipos que aún no pueden usar Kerberos.
Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options
Network security: LAN Manager authentication level: Send NTLMv2 response only. Refuse LM & NTLMRegistro:
HKLM\SYSTEM\CurrentControlSet\Control\Lsa
LmCompatibilityLevel (DWORD) = 5Verifique:
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LmCompatibilityLevelQué se rompe
- Firma LDAP/enlace de canal: escáneres de red antiguos, impresoras y equipos multifunción con búsquedas LDAP de libreta de direcciones integradas, algunos dispositivos de copia de seguridad y monitorización, y puentes de identidad de terceros que se enlazan sin firma. Los eventos 2886-2889 los identifican antes de aplicar.
- Firma SMB: dispositivos NAS muy antiguos que solo admiten SMBv1 y algunos sistemas industriales o embebidos; la sobrecarga de la firma también supone un pequeño coste de rendimiento en transferencias de archivos de gran volumen sobre enlaces lentos.
- Deshabilitación de LLMNR/NBT-NS: los entornos que aún dependen de la resolución de nombres NetBIOS para búsquedas de nombres planos heredados (aplicaciones anteriores a DNS, algún software de línea de negocio) pueden sufrir fallos intermitentes de resolución de nombres; compruebe antes la cobertura de DNS.
- LmCompatibilityLevel = 5: cualquier dispositivo o aplicación con NTLMv1 codificado de forma fija, normalmente fotocopiadoras muy antiguas, algunos equipos SCADA/ICS y clientes SMB no Windows sin parchear.
Para el hardening relacionado, consulte Hardening de Kerberos y Hardening de controladores de dominio. La técnica de relay en sí se explica en NTLM relay.
Preguntas frecuentes
¿Exigir la firma LDAP romperá algo?
Rompe cualquier aplicación o dispositivo que se enlace a LDAP en texto claro sin soporte de firma, incluidos algunos escáneres de red antiguos, impresoras y conectores de identidad de terceros. Pruebe en modo auditoría con los eventos 2886-2889 antes de aplicarla.
¿Cuál es la diferencia entre la firma LDAP y el enlace de canal LDAP?
La firma LDAP (LDAPServerIntegrity) protege el tráfico LDAP en el puerto 389 frente a la manipulación y el relay. El enlace de canal (LdapEnforceChannelBinding) vincula una sesión LDAPS (puerto 636) al canal TLS subyacente y cierra una ruta de relay distinta que la firma por sí sola no cubre.
¿Puedo deshabilitar NTLM por completo?
En la mayoría de los entornos, no: las aplicaciones heredadas, los equipos de grupo de trabajo y algunos servicios de VPN o impresión siguen dependiendo de NTLM. El camino realista es auditar y después aplicar directivas Restrict NTLM limitadas a lo que haya verificado como seguro, a la vez que deshabilita NTLMv1 en todas partes.
Frenar el NTLM relay: firma LDAP, SMB y LLMNR