# dnsx: resolução DNS e enumeração de registros no recon

> Como instalar e executar o dnsx, como é sua saída de registros, e por que o Tandera resolve cada hostname descoberto antes de sondá-lo.

O `dnsx` é um kit DNS rápido: resolve hostnames, extrai registros e filtra uma lista para o que de fato existe. Numa cadeia de recon ele é o filtro entre a descoberta passiva, que super-reporta, e a sondagem ativa, que você só quer apontar para hosts reais.

## Instalação

```bash
go install -v github.com/projectdiscovery/dnsx/cmd/dnsx@latest
```

## Comandos principais

```bash
# mantém só hostnames que resolvem
dnsx -l hosts.txt -silent

# resolve e mostra os registros A
dnsx -l hosts.txt -silent -a -resp

# tipos de registro específicos
dnsx -l hosts.txt -silent -cname -resp
dnsx -l roots.txt -silent -mx -resp
dnsx -l roots.txt -silent -txt -resp

# JSON para parsear
dnsx -l hosts.txt -json -o dns.jsonl -a -aaaa -cname

# brute-force de uma wordlist contra uma raiz
dnsx -d example.com -w words.txt -silent
```

## Saída

```json
{"host":"api.example.com","a":["93.184.216.34"],"cname":["lb.example-cdn.net"],
 "status_code":"NOERROR"}
```

## Onde ele entra no Tandera

O dnsx roda em **discovery** no `recon_web_lite` e no `recon_web_full`, logo depois dos produtores passivos de subdomínio. Seu papel no pipeline é duplo: descartar hostnames que não resolvem mais e capturar as cadeias de CNAME que a análise de takeover lê depois.

Esse segundo papel importa. O enriquecimento `takeover` do Tandera compara alvos de CNAME contra uma lista de fingerprints de serviços "dangláveis" — a saída do dnsx é a entrada dele.

## Usando em um pentest

**CNAMEs são onde vive o subdomain takeover.** Um hostname que faz CNAME para um serviço que não existe mais é o finding clássico. Extraia os CNAMEs explicitamente (`-cname -resp`) em vez de depender só dos registros A, e procure alvos apontando para buckets de storage, apps PaaS e endpoints de CDN.

**Cuidado com DNS wildcard.** Se qualquer string aleatória resolve, sua lista de subdomínios é ficção. Teste diretamente:

```bash
echo "definitely-not-real-$RANDOM.example.com" | dnsx -silent -a -resp
```

Se isso retornar um endereço, trate toda a enumeração como suspeita e filtre com `-wd example.com` para remover o ruído de wildcard.

**Registros TXT vazam.** Entradas SPF e DMARC rotineiramente citam serviços de terceiros e hostnames internos que a organização nunca pretendeu publicar. `dnsx -txt -resp` no domínio raiz são trinta segundos bem gastos.

---

Canonical: https://tandera.io/pt-br/tools/dnsx
This page as markdown: https://tandera.io/pt-br/tools/dnsx.md
Index for agents: https://tandera.io/llms.txt

Every page here is also available as markdown: append `.md` to the path (e.g. `/recon.md`, `/index.md` for this homepage, `/blog/<slug>.md`), or request the canonical path with `Accept: text/markdown`.
