
Wrapper MassDNS scritto in Go per enumerare sottodomini validi usando brute force attivo, oltre a risolvere sottodomini con filtro wildcard e supporto facile input-output.
Funzionalità • Installa • Esegui • Wildcard • Licenza • Discord
shuffleDNS è un wrapper attorno a massdns, scritto in Go, che permette di enumerare sottodomini validi usando brute-force attivo, oltre che risolvere sottodomini con gestione dei wildcard e supporto input-output semplice.
Basato sul lavoro del progetto massdns di @blechschmidt.
shuffledns -h
Questo mostrerà l'aiuto per lo strumento. Ecco tutti gli switch che supporta.
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 richiede go1.24+ per essere installato correttamente. Esegui il seguente comando per installare l'ultima versione:
go install -v github.com/projectdiscovery/shuffledns/cmd/shuffledns@latest
shuffledns supporta due tipi di operazioni:
Risoluzione dei sottodomini
Per risolvere un elenco di sottodomini, puoi passare la lista tramite l'opzione -list.
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt -mode resolve
Questo eseguirà lo strumento contro i sottodomini in example-subdomains.txt e restituirà i risultati. Lo strumento usa i resolver specificati con il flag -r per eseguire la risoluzione.
Puoi anche passare la lista di sottodomini tramite input standard (STDIN). Questo permette una facile integrazione in pipeline di automazione.
subfinder -d example.com | shuffledns -d example.com -r resolvers.txt -mode resolve
In questo modo si usano i sottodomini trovati passivamente da subfinder e vengono risolti con shuffledns, restituendo solo i sottodomini unici e validi.
Brute-force dei sottodomini
shuffledns supporta anche il brute-force su un target con una wordlist data. Puoi usare il flag -w per passare una wordlist che verrà usata per generare permutazioni da risolvere tramite massdns.
shuffledns -d hackerone.com -w wordlist.txt -r resolvers.txt -mode bruteforce
Questo eseguirà lo strumento contro hackerone.com con la wordlist wordlist.txt. Il brute-force del dominio può anche essere fatto con input standard come nell'esempio precedente per la risoluzione dei sottodomini.
echo hackerone.com | shuffledns -w wordlist.txt -r resolvers.txt -mode bruteforce
Gestione dei WildcardUna caratteristica speciale di |
-d).shuffledns è distribuito sotto Licenza GPL v3
Prerequisiti
Lo strumento ha anche bisogno di un elenco di resolver validi. Il progetto dnsvalidator può essere usato per generare queste liste. Devi anche fornire una wordlist; puoi usarne una personalizzata o usare la commonspeak2-wordlist. |