Guía técnica para auditar la calidad de las contraseñas en Active Directory o LDAP
Mantener un entorno corporativo seguro es una de las tareas más críticas y complejas para cualquier administrador de sistemas. A pesar de contar con firewalls avanzados y sistemas de detección de intrusos, el eslabón más débil sigue siendo la identidad: las contraseñas de los usuarios.
Auditar periódicamente la calidad de las contraseñas en un directorio activo (Active Directory) o LDAP nos permite identificar credenciales débiles, duplicadas o comprometidas antes de que un atacante las explote para un movimiento lateral.
Paso 1: Exportación segura de hashes
El primer paso consiste en extraer la base de datos de Active Directory (ntds.dit) de forma segura. Nunca se debe realizar esto en texto plano ni exponer los datos fuera del controlador de dominio. El método estándar es utilizar la herramienta nativa ntdsutil con la técnica "Install From Media" (IFM):
# Ejecutar en un controlador de dominio como Administrador ntdsutil activate instance ntds ifm create full C:\ADBackup quit quit
Esto creará una copia del archivo de base de datos y del registro (SYSTEM) necesarios para descifrar los hashes NTLM localmente en un entorno aislado de auditoría.
Paso 2: Extracción y descifrado de hashes
Una vez obtenidos los archivos, podemos utilizar herramientas de código abierto como secretsdump.py (de la suite Impacket) para extraer los hashes NTLM de los usuarios:
secretsdump.py -ntds C:\ADBackup\Active Directory\ntds.dit -system C:\ADBackup\registry\SYSTEM LOCAL -outputfile hashes.txt
El archivo resultante contendrá las identidades de los usuarios y sus correspondientes hashes NTLM.
Paso 3: Cruce con bases de datos filtradas (Have I Been Pwned)
Para verificar si alguna contraseña ha sido expuesta previamente, podemos cruzar nuestra lista de hashes con la base de datos pública de Have I Been Pwned. Esto se realiza de manera segura mediante la API de contraseñas de HIBP (usando el prefijo de rango K-Anonymity) para no revelar nunca la contraseña real.
Existen scripts de PowerShell y Python que automatizan este proceso comparando el hash NTLM local con los hashes comprometidos.
Conclusión y mitigación
Auditar tus sistemas de identidad es la mejor forma preventiva de defensa. Una vez detectados los usuarios vulnerables, es fundamental obligarles a actualizar sus contraseñas por claves de alta seguridad.
¿Necesitas crear credenciales de servicio robustas y complejas para tu infraestructura? No dejes que tus administradores inventen sus claves; utiliza nuestro Generador de Contraseñas para asegurar todos tus despliegues empresariales con claves de alta entropía.