
Wrapper do MassDNS escrito em Go para enumerar subdomínios válidos usando força bruta ativa, bem como resolver subdomínios com filtragem de curinga e suporte fácil de entrada e saída.
Funcionalidades • Instalação • Executar • Wildcard • Licença • Discord
shuffleDNS é um wrapper em torno do massdns, escrito em Go, que permite enumerar subdomínios válidos usando bruteforce ativo, bem como resolver subdomínios com tratamento de wildcard e suporte fácil de entrada e saída.
Baseado no trabalho do projeto massdns por @blechschmidt.
shuffledns -h
Isso mostrará a ajuda da ferramenta. Aqui estão todas as opções que ela suporta.
shuffleDNS is a wrapper around massdns written in go that allows you to enumerate valid subdomains using active bruteforce as well as resolve subdomains with wildcard handling and easy input-output support.
Usage:
./shuffledns [flags]
Flags:
Flags:
INPUT:
-d, -domain string[] Domain to find or resolve subdomains for
-ad, -auto-domain Automatically extract root domains
-l, -list string File containing list of subdomains to resolve
-w, -wordlist string File containing words to bruteforce for domain
-r, -resolver string File containing list of resolvers for enumeration
-tr, -trusted-resolver string File containing list of trusted resolvers
-ri, -raw-input string Validate raw full massdns output
-mode string Execution mode (bruteforce, resolve, filter)
RATE-LIMIT:
-t int Number of concurrent massdns resolves (default 10000)
UPDATE:
-up, -update update shuffledns to latest version
-duc, -disable-update-check disable automatic shuffledns update check
OUTPUT:
-o, -output string File to write output to (optional)
-j, -json Make output format as ndjson
-wo, -wildcard-output string Dump wildcard ips to output file
CONFIGURATIONS:
-m, -massdns string Path to the massdns binary
-mcmd, -massdns-cmd string Optional massdns commands to run (example '-i 10')
-directory string Temporary directory for enumeration
OPTIMIZATIONS:
-retries int Number of retries for dns enumeration (default 5)
-sw, -strict-wildcard Perform wildcard check on all found subdomains
-wt int Number of concurrent wildcard checks (default 250)
DEBUG:
-silent Show only subdomains in output
-version Show version of shuffledns
-v Show Verbose output
-nc, -no-color Don't Use colors in output
shuffledns requer go1.24+ para ser instalado com sucesso. Execute o seguinte comando para instalar a versão mais recente:
go install -v github.com/projectdiscovery/shuffledns/cmd/shuffledns@latest
shuffledns suporta dois tipos de operações:
Resolução de Subdomínios
Para resolver uma lista de subdomínios, você pode passar a lista de subdomínios através da opção -list.
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt -mode resolve
Isso executará a ferramenta contra os subdomínios em example-subdomains.txt e retornará os resultados. A ferramenta usa os resolvedores especificados com a flag -r para realizar a resolução.
Você também pode passar a lista de subdomínios pela entrada padrão (STDIN). Isso permite fácil integração em pipelines de automação.
subfinder -d example.com | shuffledns -d example.com -r resolvers.txt -mode resolve
Isso usa os subdomínios encontrados passivamente pelo subfinder e os resolve com o shuffledns, retornando apenas os subdomínios únicos e válidos.
Bruteforce de Subdomínios
shuffledns também suporta bruteforce de um alvo com uma wordlist fornecida. Você pode usar a flag -w para passar uma wordlist que será usada para gerar permutações que serão resolvidas usando massdns.
shuffledns -d hackerone.com -w wordlist.txt -r resolvers.txt -mode bruteforce
Isso executará a ferramenta contra hackerone.com com a wordlist wordlist.txt. O bruteforce de domínio também pode ser feito com entrada padrão, como no exemplo anterior para resolução de subdomínios.
echo hackerone.com | shuffledns -w wordlist.txt -r resolvers.txt -mode bruteforce
Tratamento de WildcardsUma funcionalidade especial do |
-d).shuffledns é distribuído sob a Licença GPL v3
Pré-requisito
A ferramenta também precisa de uma lista de resolvedores válidos. O projeto dnsvalidator pode ser usado para gerar essas listas. Você também precisa fornecer uma wordlist, pode usar uma wordlist personalizada ou usar a commonspeak2-wordlist. |