
Escaneador rápido de takeover de DNS que verifica zonas hospedadas ausentes consultando servidores de nomes e identificando provedores por impressão digital para identificar subdomínios vulneráveis.
Uma ferramenta rápida para verificar zonas DNS hospedadas ausentes que podem levar à tomada de subdomínio.
Vulnerabilidades de tomada de DNS ocorrem quando um subdomínio (subdominio.exemplo.com) ou domínio tem seu nameserver autoritativo configurado para um provedor (ex: AWS Route 53, Akamai, Microsoft Azure, etc.) mas a zona hospedada foi removida ou excluída. Consequentemente, ao fazer uma solicitação de registros DNS o servidor responde com um erro SERVFAIL. Isso permite que um atacante crie a zona hospedada ausente no serviço que estava sendo usado e, assim, controle todos os registros DNS para aquele (sub)domínio.¹
O jeito fácil! Você pode baixar um binário pré-compilado da página de releases, basta descompactar e executar!
| NOTA: O compilador Go 1.16+ deve estar instalado e configurado! |
Muito rápido e limpo!
▶ go install github.com/pwnesia/dnstake/cmd/dnstake@latest
Compilando manualmente o executável a partir do código fonte:
▶ git clone https://github.com/pwnesia/dnstake
▶ cd dnstake/cmd/dnstake
▶ go build .
▶ (sudo) mv dnstake /usr/local/bin
$ dnstake -h
·▄▄▄▄ ▐ ▄ .▄▄ ·▄▄▄▄▄ ▄▄▄· ▄ •▄ ▄▄▄ .
██▪ ██ •█▌▐█▐█ ▀.•██ ▐█ ▀█ █▌▄▌▪▀▄.▀·
▐█· ▐█▌▐█▐▐▌▄▀▀▀█▄▐█.▪▄█▀▀█ ▐▀▀▄·▐▀▀▪▄
██. ██ ██▐█▌▐█▄▪▐█▐█▌·▐█ ▪▐▌▐█.█▌▐█▄▄▌
▀▀▀▀▀• ▀▀ █▪ ▀▀▀▀ ▀▀▀ ▀ ▀ ·▀ ▀ ▀▀▀
(c) pwnesia.org — v0.0.1
Usage:
[stdin] | dnstake [options]
dnstake -t HOSTNAME [options]
Options:
-t, --target <HOST/FILE> Define single target host/list to check
-c, --concurrent <i> Set the concurrency level (default: 25)
-s, --silent Suppress errors and/or clean output
-o, --output <FILE> Save vulnerable hosts to FILE
-h, --help Display its help
Examples:
dnstake -t (sub.)domain.tld
dnstake -t hosts.txt
dnstake -t hosts.txt -o ./dnstake.out
cat hosts.txt | dnstake
subfinder -silent -d domain.tld | dnstake
DNSTake usa a biblioteca de cliente RetryableDNS para enviar consultas DNS. Engajamento inicial usando DNS do Google e Cloudflare como resolvedor, então verifica e identifica os nameservers do host alvo — se houver um, ele resolve o host alvo novamente com seus IPs de nameserver como resolvedor; se obtiver uma resposta de status DNS estranha (diferente de NOERROR/NXDOMAIN), então é vulnerável a ser tomado. Mais ou menos assim em forma de diagrama.
Provedores DNS atualmente suportados, veja aqui.
DNSTake é distribuído sob a licença MIT. Veja LICENSE.