← Blog

Impacket SecretsDump — Extracción de Hashes de NTDS.dit

Dump de hashes desde NTDS.dit con impacket-secretsdump: combinación de la base de datos de Active Directory y el SYSTEM hive para descifrar credenciales.

1. Operational Scope & Technical Objective

impacket-secretsdump es la utilidad de Impacket que extrae credenciales del almacén de Active Directory. El caso de uso clásico en un engagement es offline: tras conseguir copias de ntds.dit (la base de datos de AD con los hashes) y del SYSTEM hive (que contiene la bootkey que cifra los secretos), secretsdump reconstruye todos los hashes NTLM de dominio sin necesidad de tocar el DC de nuevo — menos ruido y sin depender de una sesión viva.

2. High-Impact Syntax & Command Cheatsheet

# Dump de hashes desde una copia local de NTDS.dit + SYSTEM hive
impacket-secretsdump -ntds ntds.dit -system SYSTEM.bin LOCAL
#   -ntds    -> ruta a la base de datos de AD (ntds.dit)
#   -system  -> SYSTEM hive (contiene la bootkey para descifrar los secretos)
#   LOCAL    -> procesa ficheros locales (sin conexión de red al DC)
# Salida: hashes LM/NTLM por usuario, listos para pass-the-hash o crackeo

# Variante SAM/LSA local (máquina, no dominio)
impacket-secretsdump -sam SAM -system SYSTEM LOCAL

# Dump remoto autenticado (alternativa cuando se tienen credenciales de admin)
impacket-secretsdump -just-dc DOMAIN/user:pass@<DC_IP>

3. Real-World Offensive/Defensive Scenarios

De DC comprometido a dominio comprometido. El flujo ofensivo es: (1) obtener ntds.dit y SYSTEM.bin (volumen shadow copy, vssadmin, o dump del proceso lsass); (2) ejecutar secretsdump offline en local; (3) usar los hashes NTLM obtenidos para Pass-the-Hash (psexec, wmiexec, smbexec de la misma suite Impacket) o crackear los débiles con john/hashcat.

Lectura de la salida: qué priorizar. Los usuarios que terminan en $ son cuentas de máquina (hostname$): sus contraseñas son aleatorias de 120+ bits, generadas por el sistema, e inviables para crackeo — pierden el tiempo. Las cuentas a atacar son las de usuario real: Administrator, cuentas de servicio y las que el DC marca con hashes repetidos o débiles.

Defensa. La exfiltración de ntds.dit solo es posible si ya se tiene ejecución como administrador o SYSTEM en el DC: el control real es contener ese primer compromiso. Mitigaciones: separar los admin del dominio en tier-0, limitar el uso de cuentas privilegiadas interactivas (evita que lsass acumule credenciales), monitorizar el acceso a volúmenes shadow copies y a los privilegios SeBackup/SeRestore, y usar Protected Users / Credential Guard para que el material de lsass sea ilegible.