Objetos obsoletos
S-OldNtlm
Qué significa
Windows admite varios protocolos de autenticación, desde muy antiguos e inseguros (LM, NTLMv1) hasta modernos y seguros (NTLMv2, Kerberos). Los protocolos más antiguos tienen vulnerabilidades conocidas que los atacantes pueden explotar para capturar y descifrar contraseñas en la red.
El nivel de autenticación de LAN Manager controla qué protocolos se permiten. Debe configurarse en nivel 5, lo que significa "aceptar solo NTLMv2, rechazar todos los protocolos anteriores."
Qué comprueba el análisis
El análisis de AD lee Objetos de Directiva de Grupo (GPO) para verificar que el LmCompatibilityLevel esté configurado en 5. Si ninguna GPO define esta configuración, Windows usa un valor predeterminado de nivel 3, que aún acepta algunos protocolos más débiles.
0-2
LM y/o NTLMv1
No
3
NTLMv2 (pero no rechaza los protocolos antiguos)
No
5
Solo NTLMv2, rechaza LM y NTLMv1
Sí
Por qué puede persistir la alerta
Cambió el registro directamente en lugar de usar una GPO. El análisis de AD lee archivos GPO, no la configuración local del registro. Incluso si el DC tiene el valor correcto en el registro, la alerta persiste si no se estableció mediante Directiva de Grupo.
GPO en conflicto: Una GPO establece el nivel 5, pero otra GPO lo reemplaza con un nivel inferior.
Ninguna GPO en absoluto: Sin ninguna GPO, el valor predeterminado es el nivel 3 (inseguro).
Cómo diagnosticar
# Compruebe la configuración efectiva en cada DC
Get-ADDomainController -Filter * | ForEach-Object {
$level = Invoke-Command -ComputerName $_.HostName -ScriptBlock {
(Get-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa" `
-Name LmCompatibilityLevel -ErrorAction SilentlyContinue).LmCompatibilityLevel
}
Write-Host "$($_.HostName): LmCompatibilityLevel = $level"
}
# Compruebe qué GPO definen esta configuración
Import-Module GroupPolicy
Get-GPO -All | ForEach-Object {
[xml]$r = Get-GPOReport -Guid $_.Id -ReportType Xml
if ($r.InnerXml -match "LmCompatibilityLevel") {
Write-Host "GPO: $($_.DisplayName)"
}
}Cómo corregirlo
Mediante la Consola de administración de directivas de grupo (recomendado):
Abra
gpmc.mscEdite la GPO vinculada a
OU=Domain ControllersVaya a:
Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security OptionsEstablezca "Network security: LAN Manager authentication level" en
Enviar solo respuesta NTLMv2. Rechazar LM y NTLMEstablezca "Seguridad de red: no almacenar el valor hash de LAN Manager en el siguiente cambio de contraseña" en
HabilitadoEjecute
gpupdate /forceen todos los controladores de dominio
Mediante PowerShell:
S-AesNotEnabled
Qué significa
Cuando se autentica en Active Directory, su contraseña se usa para cifrar la comunicación mediante un algoritmo específico. Los algoritmos antiguos (DES, RC4) son débiles y pueden descifrarse con relativa facilidad. Los algoritmos modernos (AES-128, AES-256) son mucho más fuertes.
La compatibilidad con AES se introdujo con Windows Server 2008. Sin embargo, las cuentas que existían antes de la actualización, o las cuentas con configuraciones específicas, pueden seguir usando el cifrado antiguo y más débil.
Qué comprueba el análisis
Una cuenta se marca en dos situaciones:
La contraseña de la cuenta se estableció antes de que su dominio se actualizara a Server 2008. Como las claves de cifrado AES solo se generan cuando se establece una contraseña en un DC moderno, estas contraseñas antiguas solo tienen claves débiles RC4/DES.
La cuenta tiene un Nombre Principal de Servicio (SPN) y sus configuraciones de cifrado no incluyen AES (el
msDS-SupportedEncryptionTypesatributo no tiene indicadores AES).
Cómo diagnosticar
Cómo corregirlo
Para cuentas con contraseñas antiguas: Simplemente restablezca la contraseña. Esto genera nuevas claves AES:
Para cuentas sin configuraciones de cifrado AES: Habilite AES en los tipos de cifrado de la cuenta:
Nota: Habilitar AES no es destructivo: la autenticación existente sigue funcionando. Sin embargo, pruebe con servicios críticos antes de aplicarlo en masa.
Última actualización
¿Te fue útil?

