14 jun 2019

DSInternals PowerShell Module

Buenas a todos, en el post de hoy quería hablaros de algunas de las interesantes funcionalidades del módulo DSInternals de PowerShell, el cual permite sacarle mucho partido a nivel de ciberseguridad al Active Directory jugando con el archivo ntds.dit (sin conexión).

Nuestro objetivo principal siempre suele ser extraer las credenciales del dominio, pero en muchas ocasiones también es útil sacar otros datos, como el historial de credenciales de un usuario, por si las comparte con otro directorio activo de la organización donde no se roten regularmente o incluso si accedemos a otros servicios de la organización (correo, Jira, Jenkins, FTPs, etc.) donde pueda estar haciendo uso de esas credenciales antiguas.

Tenéis más detalles sobre el módulo en el siguiente sitio web:


Os recomiendo echar un vistazo al readme, donde figuran todos los posibles parámetros que podréis utilizar:


Para instalarlo, solamente tendréis que ejecutar la siguiente instrucción:

  • Install-Module -Name DSInternals -Force


Con la siguiente instrucción podremos ver un gran detalle sobre las cuentas del dominio:

  • Get-ADDBAccount -All -DBPath 'ntds.dit' -Bootkey 5XXXXXXXXXXXXXXXXXXXXa

A continuación, os comparto un ejemplo de la salida por consola que arroja, con detalle sobre el último logon, grupos, dominio, distinguishedname, hashes de todo su historial de credenciales, etc.



Otra opción, aplicando algunos filtros más, es exportarnos a un fichero los usuarios y hashes de todo el dominio:
  • Get-ADDBAccount -All -DBPath 'ntds.dit' -Bootkey 5XXXXXXXXXXXXXXXXXXXXa | Format-Custom -View HashcatNT | Out-File hashes.txt -Encoding ASCII



Os recomiendo analizarlo en detalle, porque es un módulo muy interesante para los procesos de pentesting internos.

Saludos!

No hay comentarios:

Publicar un comentario