Adquisición y descifrado del archivo ntds.dit

¿Dónde están?

El archivo ntds.dit es un archivo en el controlador de dominio en el entorno del dominio. Este archivo almacena la información de credenciales (hash) de todos los usuarios del dominio. En un entorno sin dominio, es decir, en un entorno de grupo de trabajo, hay un archivo sam que almacena la información de la contraseña del usuario del host actual. Si desea descifrar el archivo sam y el archivo ntds.dit, debe tener un archivo de sistema.

ntds.dit ubicación del archivo: ubicación del archivo del C:\Windows\NTDS\NTDS.dit
sistema: C:\Windows\System32\config\SYSTEM
ubicación del archivo sam:C:\Windows\System32\config\SAM


sección ntds.dit

Craqueo en línea

El llamado crackeo en línea consiste en crackear directamente el shell existente sin descargar el archivo ntds.dit en el controlador de dominio. Por ejemplo, si tienes una baliza de rebote cs, puedes usar directamente mimikatz para descifrarla en la baliza.La premisa de todo esto es que tienes derechos de administrador.

Mimikatz tiene una función (dcsync), que puede usar el servicio de replicación de directorios (DRS) para extraer hashes de contraseña de archivos NTDS.DIT.

Puede obtener directamente todos los hashes de usuario en el dominio de prueba a través de dcsync
lsadump :: dcsync /domain:test.com / all / csv
Inserte la descripción de la imagen aquí

También puede obtener la información detallada de un solo usuario
lsadump :: dcsync /domain:test.com / user: kertgt
Inserte la descripción de la imagen aquí

Puede ver toda la información detallada de todos los usuarios
lsadump :: lsa / inject
Inserte la descripción de la imagen aquí


Agrietamiento sin conexión

El descifrado sin conexión generalmente requiere dos pasos: el primero es descargar el controlador de dominio remoto ntds.dit al local y luego usarlo para descifrarlo localmente. El archivo ntds.dit ha sido utilizado por el sistema de Windows, por lo que el método de descarga de copia convencional no puede descargar el archivo localmente. Aquí recomiendo los siguientes métodos:

Cómo obtener el archivo ntds.dit

Copie el archivo ntds con vssadmin

vssadmin create shadow /for=C:

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit C:\ShadowCopy
Después de ejecutar el comando anterior, puede copiar ntds.dit al ShadowCopy creado en la unidad C. El resultado de la ejecución se muestra en la siguiente figura:

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

También puede usar este comando para copiar archivos sam o del sistema:
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM C:\system.hiv
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM C:\sam.hiv

Utilice ntdsutil

Inserte la descripción de la imagen aquí
Ingrese los siguientes comandos en la línea de comando a su vez

Ntdsutil "activate instance ntds" Ifm create full C:\ntdsutil Quit quit

Finalmente, la carpeta ntdsutil se generará en la unidad c:
Inserte la descripción de la imagen aquí
esta carpeta contiene archivos del sistema y archivos ntds.dit.

Obtenga el archivo NTDS.dit del servidor de control de dominio a través de NinjaCopy

ninjacopy dirección de descarga: https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-NinjaCopy.ps1

Import-Module -name .\Invoke-NinjaCopy.ps1
Invoke-NinjaCopy -Path "c:\windows\ntds\ntds.dit" -LocalDestination "c:\ntds.dit"
Invoke-NinjaCopy -Path "C:\Windows\System32\config\SYSTEM" -LocalDestination "c:\system.hiv"

Apéndice: Comandos para omitir la estrategia de ejecución de powershell:
cmd: powershell -ep bypass
powershell: Set-ExecutionPolicy Bypass -Scope Process

También puede consultar el siguiente enlace para
omitir la estrategia de ejecución de PowerShell

El resultado de la ejecución es el siguiente:
Inserte la descripción de la imagen aquí
este método no llama al servicio Volume Shadow Copy, por lo que no se genera ningún archivo de registro 7036.

Artículo de referencia: Penetración de dominio :
obtenga el archivo NTDS.dit del servidor de control de dominio

Movimiento de archivo

Necesitamos descargar el archivo al local en este momento. En este momento, suponga que tenemos un shell de ataque de cobalto (además de este método, también podemos usar el comando scp).
En primer lugar, podemos examinar directamente el estado del archivo del host controlado en el cliente de cs. En este momento, descargar el archivo ntds.dit y el archivo system.hiv que obtuvimos en el paso anterior al local: El
primer paso es descargar en el sistema de archivos:
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
El segundo paso es sincronizar con el cliente de cs después de la descarga, es decir, local (no vps).
Inserte la descripción de la imagen aquí
Examinar archivos localmente:
Inserte la descripción de la imagen aquí

Agrietamiento local

Después de descargar el archivo al local, debe comenzar a descifrar la contraseña. En este momento, usamos el script secretsdump.py de impacket.
El comando es:

python3 secretsdump.py -ntds ~/Desktop/ntds.dit -system ~/Desktop/system.hiv LOCAL

Inserte la descripción de la imagen aquí

破解出的密码格式为domain\uid:rid:lmhash:nthash,例如krbtgt的密码要采用最后一个冒号后面的那个,也就是d8d2ad开头的

Supongo que te gusta

Origin blog.csdn.net/qq_41874930/article/details/108141331
Recomendado
Clasificación