Categorías
Explotación de Software Hacking Services - Software

10 Herramientas esenciales para pentesting en Active Directory – Parte 2 de 2

Demostración en vídeo de éste post:

En el post anterior explicaba algunas de las herramientas que a mi juicio, son fundamentales para labores de explotación y post-explotación en sistemas Windows, especialmente aquellos que se encuentran en un entorno de Directorio Activo. En éste post, explicaré cinco herramientas más. Posiblemente ya las conoces (o no), en todo caso aquí van:

6. BloodHound y SilentHound

BloodHound es una utilidad que se me parece mucho a Maltego, al menos visualmente porque sus funcionalidades son completamente distintas. Se trata de una herramienta que recibe un fichero con información de un dominio y te permite hacer consultas interesantes con el objetivo de descubrir malas configuraciones o vulnerabilidades en el entorno. Su funcionamiento es simple, en primer lugar necesitas ejecutar un «Collector» sobre una máquina unida a un dominio. Dicho programa viene en dos formatos: «exe» y «powershell», ambos se encuentran disponibles en su repositorio de GitHub. Una vez se ejecuta dicho componente, se generan ficheros comprimidos que debes descargar a tu máquina como atacante para luego subirlos a tu servidor de BloodHound, el cual hará todo el trabajo de cargar la información para su posterior visualización. Como he mencionado antes, me recuerda a Maltego ya que enseña toda la información en una «paleta» con muchos elementos, por lo que si se trata de un dominio grande puede ser un tanto difícil de visualizar todo, no obstante las consultas que ya trae preparadas permiten extraer información muy valiosa del entorno y tener una idea de por dónde empezar a atacar.
El problema que tiene BloodHound es que es extremadamente invasivo, realiza consultas sobre el dominio que son fáciles de identificar por cualquier mecanismo de seguridad perimetral, en otras palabras: genera mucho ruido. Por este motivo, existe otra herramienta llamada SilentHound que realiza menos consultas y de una forma más sigilosa, evitando generar demasiadas alarmas sobre el objetivo. Es una alternativa que en la mayoría de los casos, resulta más interesante que utilizar el Collector que viene incluido en BloodHound.

7. PingCastle

Se trata de un programa pensado para realizar pentesting sobre entornos de Active Directory partiendo de una estación de trabajo. Tal como se describe en su página oficial, es capaz de ejecutar pruebas al mejor estilo de BloodHound, pero de una forma menos intrusiva. Es un programa que viene unicamente en formato EXE y para poder usarlo se debe subir a la estación de trabajo, aquí no es posible ejecutar el Invoke-Binary de Evil-WinRM ya que no se trata de un Assembly de C#. Cuenta con varias opciones por línea de comandos y cuando finaliza su ejecución, genera un informe en formato HTML muy completo con toda la información recolectada. En mi opinión, los informes generados por PingCastle pueden aportar más valor que las consultas preparadas que incluye BloodHound.

8. Impacket

Probablemente ya has visto la serie de posts sobre Impacket que se han publicado en éste blog, si no es el caso de aconsejo que los leas. Se trata de una de las librerías más potentes que existen en el mundo de Python para pentesting sobre Windows. Si bien un desarrollador le puede sacar el máximo provecho, cuenta con scripts que permiten explotar todo su potencial. Estos scripts se encuentran en el directorio de «examples» y permiten, entre otras cosas, levantar servidores de diferentes tipos, volcar información sensible de una máquina Windows previamente comprometida, generar una shell usando diferentes métodos, entre muchas otras cosas interesantes.

9. WinPEAS

Se trata de otra herramienta de la que ya se ha hablado en éste blog. Es desarrollada y mantenida por Carlos Polop, autor de uno de los mejores recursos disponibles para pentesting: book.hacktricks.xyz. Esta herramienta ejecuta un checklist sobre una estación de trabajo y enseña malas configuraciones que potencialmente pueden representar una brecha de seguridad, así como CVEs o vulnerabilidades que pueden estar presentes en el sistema. Cuenta con un sistema de colores que le hace especialmente interesante, ya que rápidamente puedes enfocarte en lo que con una alta probabilidad puede ser un problema de seguridad, algo que otras herramientas de post-explotación desafortunadamente no tienen. Además de WinPEAS, también tienes otras para Linux y Mac, las cuales siguen la misma filosofía y son especialmente interesantes. Las encuentras disponibles en el proyecto PEAS-Ng

10. Mimikatz

Finalmente tenemos Mimikatz (o Kiwi). Es una herramienta que lleva muchos años en el sector y es poco probable que no lo hayas escuchado antes. En mi opinión es un «must» para las labores de post-explotación en sistemas Windows ya que te permite, entre otras cosas, exportar los tickets de Kerberos que se encuentran cargados en la memoria del proceso LSASS. Solamente por esto ya merece la pena utilizarla. Uno de sus usos más habituales consiste en extraer contraseñas en texto plano que se cargan en la memoria del proceso LSASS en sistemas inferiores a Windows 8,  no obstante, hay que tener en cuenta que para sacarle el máximo provecho necesitas permisos de administrador.

Esto esto, espero que este listado te haya parecido interesante y sobre todo útil. Si conoces alguna otra que merezca la pena incluir en éste post, puedes dejarla en los comentarios.

Un saludo y Happy Hack!
Adastra.

 

Categorías
Cracking Explotación de Software Hacking Services - Software

10 Herramientas esenciales para pentesting en Active Directory – Parte 1 de 2

Demostración en vídeo de éste post:

Hay una gran cantidad y variedad de herramientas que apoyan en el proceso de pentesting sobre sistemas Windows y muy concretamente, sobre entornos de Active Directory. En este post y el siguiente enumeraré 10 herramientas que en mi experiencia, son esenciales cuando se realiza una auditoría de seguridad en éste tipo de entornos. Obviamente hay bastantes más, pero creo que éstas representan un buen punto de partida para tener un «arsenal» lo suficientemente sólido a la hora de ejecutar auditorías sobre sistemas Windows.

1. Evil-WinRM

Evil-WinRM es, con diferencia, una de las herramientas más útiles cuando se trata de realizar labores de post-explotación sobre un sistema Windows. Utiliza el protocolo WinRM para el establecimiento de conexiones remotas con sistemas Windows y genera una shell interactiva. Cuenta con varios comandos que permiten subir y descargar ficheros, ejecutar assemblies de C# en memoria, importar scripts de Powershell, entre muchas otras cosas. Si quieres aprender en detalle cómo funciona, te recomiendo los siguientes vídeos publicados en el canal de YouTube:

Evil WinRM Shell sobre WinRM para pentesting en sistemas Windows Parte 1 de 2
Evil WinRM Shell sobre WinRM para pentesting en sistemas Windows Parte 2 de 2

2. GhostPack

Se trata de un conjunto de herramientas muy potente para labores de pentesting sobre sistemas Windows. Cuenta con utilidades tan conocidas como Rubeus, Seatbelt, SharpDPAPI y SharpUp. Estas herramientas se encuentran desarrolladas en C# y es necesario descargar el código del proyecto y compilar la solución DotNet, lo cual no es nada complejo de hacer aunque puede llevar algo de tiempo. Ya se ha escrito sobre estas herramientas en el blog, así que te recomiendo su lectura en los siguientes posts:

Post-explotación en sistemas Windows con GhostPack – Parte 1 de 3
Post-explotación en sistemas Windows con GhostPack – Parte 2 de 3
Post-explotación en sistemas Windows con GhostPack – Parte 3 de 3

3. CrackMapExec

En este caso es una herramienta que últimamente está ganando popularidad y no es para menos. Permite la ejecución de pruebas sobre servicios comunes en un entorno de Active Directory, tales como SMB, RDP, MSSQL, entre otros. Es una utilidad que se puede ejecutar desde la máquina del atacante y funciona perfectamente. Aunque no hace falta un usuario para que las pruebas se lleven a cabo correctamente, la herramienta permite indicar un usuario y contraseña (local o de dominio) para lanzar pruebas sobre el sistema objetivo de la forma más completa posible. Si quieres aprender un poco más sobre el uso de ésta herramienta, puedes leer el siguiente post y ver el vídeo que le acompaña en YouTube.

4. ADReaper

Es una utilidad orientada a la enumeración remota, permite extraer información variada de un sistema Windows ejecutando consultas LDAP. Tal y como ocurre con CrackMapExec, es posible ejecutar la herramienta sin indicar un usuario de dominio, sin embargo, podrá extraer mucha más información si se especifica uno y por este motivo, puede ser vista como una herramienta orientada a la post-explotación.

5. Certify y Certipy

Estas dos utilidades se han vuelto muy populares tras la aparición de las múltiples vulnerabilidades que afectan a la PKI diseñada por Microsoft para sistemas Windows Server, también conocida como AD CS (Active Directory Certificate Services). Son herramientas que de hecho, no explotan ninguna vulnerabilidad, simplemente realizan consultas sobre los servicios de AD CS y permiten detectar malas configuraciones que le permiten a un atacante la explotación del entorno. La principal diferencia es que Cerify se encuentra desarrollada en C# y es necesario subir el programa a una estación de trabajo unida al dominio o ejecutarla desde memoria con Invoke-Binary de Evil-WinRM, mientras que Certipy es un script en Python que se puede ejecutar desde la máquina del atacante, en donde solamente es necesario indicar las credenciales de un usuario de dominio para su ejecución.

En éste post se han mencionado cinco herramientas fundamentales para entornos de Active Directory, en el siguiente post se mencionarán cinco más que también considero fundamentales.

Un saludo y Happy Hack!
Adastra.