Dumping Active Directory Hashes - NTDS.dit

A continuación, se describen algunas de las formas de volcar el fichero NTDS.dit

Descripción

El fichero NTDS.dit es la base de datos que almacena la información de los objetos del Directorio Activo, usuarios, grupos, miembros de un grupo, etc., incluyendo los hashes NTLM de las cuentas de usuario y equipos.

Por defecto, el fichero ntds.dir se encuentra en la ruta C:\Windows\NTDS\NTDS.dit dentro del controlador del dominio.

Durante un ejercicio de Red Team este fichero es volcado para obtener los hashes de todos los usuarios y poder realizar otros movimientos laterales entre dominios a los que no se tuviera acceso o hacerse con la cuenta Enterprise Admin (cuenta con mayor privilegios en un entorno de Directorio Activo).

Una vez se han obtenido todos los hash se podrán realizar movimientos laterales mediante técnicas de User impersonation, Pass the Hash, o crackar los hashes obtenidos del fichero.

Ya que el fichero está siendo utilizado por el sistema no se puede puede ser copiado directamente a otra ubicación. Para ello se debe utilizar alguno de los siguientes métodos y herramientas entre, otros:

  • Domain Controller Replication Services

  • Binarios nativos del sistema

  • WMI

Impacket-secretsdump

Impacket-secrectsdump permite extraer los hashes de las cuentas de Windows, incluidos los hashes del fichero ntds.dit, de forma remota o local.

A continuación, se muestra como extraer los hash del fichero ntds.dit de forma remota.

impacket-secretsdump -just-dc atlanta.corp/administrator:Password@IP_DC

Una vez se han obtenido los hashes del fichero ntds.dit se podrán crackear con hashcat

NTDSUtil

ntdsutil es una herramienta nativa del controlador de dominio para permitir que los administradores accedan y administren la base de datos de Windows Active Directory. Sin embargo, un Red Team puede abusar de esta herramienta para hacer una copia del archivo ntds.dit.

powershell "ntdsutil.exe 'ac i ntds' 'ifm' 'create full c:\temp' q q"

Cuando el proceso ha terminado, habrá creado la carpeta Active Directory y Registry dentro de C:\temp

Una vez se tengan estos archivos, se pueden extraer los hashes con la herramienta impacket-secretsdump

impacket-secretsdump -system SYSTEM -security SECURITY -ntds ntds.dit local

Volume Shadow Copy

Volume Shadow Copy es una utilidad nativa de Windows que permite a los administradores realizar backups de los equipos, volúmenes y archivos, incluso si el sistema operativo los está utilizando, a través de la herramienta VSSAdmin.

VSSAdmin permite hacer una instantánea del volumen c:\ del que luego se extraerá el fichero ntds.dit

Crear instantánea de C:\
vssadmin create shadow /for=C:
Copia de ntds.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit c:\temp\ntds.dit

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM c:\temp\SYSTEM
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SECURITY c:\temp\SECURITY

Una vez tenemos la copia del fichero ntds.dit podemos extraer los hashes de las cuentas de usuarios y las cuentas de equipo con la herramienta impacket-secrectsdump

DCSync

DCSync es una técnica que permite a un atacante hacerse pasar por un controlador de dominio mediante el protocolo MS-DSRS (Directory Replication Service) y solicitar a otros controladores de dominio las credenciales de usuario a través de la función GetNCChanges. Para ello, la cuenta que ejecute esta acción debe ser miembro del grupo Domain Admin o Enterprise Admin, para recuperar los hash de contraseñas.

Este ataque puede ser llevado a cabo con módulo dcsyn de mimikatz:

lsadump::dcsync /domain:atlanta.corp /user:aaronp

Mimikatz también puede ser utilizada para volver todos los hashes de las contraseñas.

lsadump::dcsync /domain:atlanta.corp /ALL /CSV

Hashcat

Hashcat permite crackear los hashes del fichero ntds.dit

En este caso, se indicará el tipo de hash a crackear -m 1000 (NTLM).

hashcat -m 1000 --force hashs_secretsdump.txt.ntds /home/iwolf/Desktop/wordlist.txt

Como resultado se ha obtenido una contraseña de 306 hashes.

Por último, se identifica el hash al que pertenece el usuario de la contraseña crackeada.

Last updated