# 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="https://1580805812-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzDuZE3U19tNNqSAmcpyE%2Fuploads%2FH5gQsNXVc5QNJNTwOZGk%2Fimage.png?alt=media&#x26;token=d2276114-5d7e-4ddd-a5b7-d8d812588965" 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="https://1580805812-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzDuZE3U19tNNqSAmcpyE%2Fuploads%2F13fOQEnPLD1Hun4SXlzl%2Fimage.png?alt=media&#x26;token=52f4dac4-7e29-4270-a644-023d2ee06eb5" 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="https://1580805812-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzDuZE3U19tNNqSAmcpyE%2Fuploads%2F1le0RRDjogPlELHsofns%2Fimage.png?alt=media&#x26;token=68312011-e822-4dc1-abbb-bedda6402867" alt=""><figcaption></figcaption></figure>

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

Para identificar usuarios vulnerables a Kerberoasting:

<figure><img src="https://1580805812-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzDuZE3U19tNNqSAmcpyE%2Fuploads%2Fmod9NqNQ0H1IMW7UWCy1%2Fimage.png?alt=media&#x26;token=c31f047b-d602-40d1-a42c-b79cc9b37eaa" 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="https://1580805812-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzDuZE3U19tNNqSAmcpyE%2Fuploads%2F0KnEUteo00ztdOzJDd6N%2Fimage.png?alt=media&#x26;token=379e8a44-c503-49a0-8f4f-ad3ff79a7f34" 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="https://1580805812-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzDuZE3U19tNNqSAmcpyE%2Fuploads%2FuHEOccu30Ta6FFSERYJg%2Fimage.png?alt=media&#x26;token=e0be23c5-8666-4ae7-913e-1f6c4d257584" 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="https://1580805812-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzDuZE3U19tNNqSAmcpyE%2Fuploads%2FB27qnjzVSDDo1uNzRHXm%2Fimage.png?alt=media&#x26;token=41c00703-a384-4a79-9572-1d690a94afa3" 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="https://1580805812-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzDuZE3U19tNNqSAmcpyE%2Fuploads%2FL2fB3e3nAuEV2ym2OLo1%2Fimage.png?alt=media&#x26;token=25ecf7f8-f546-40b9-a3c9-65f9b0cbfb18" alt=""><figcaption></figcaption></figure>
