
MassDNS-Wrapper, in Go geschrieben, um gültige Subdomains mithilfe von aktivem Brute-Force aufzulisten sowie Subdomains mit Wildcard-Filterung aufzulösen und einfacher Ein-/Ausgabe-Unterstützung.
Funktionen • Installation • Ausführung • Wildcard • Lizenz • Discord
shuffleDNS ist ein Wrapper um massdns, geschrieben in Go, der es ermöglicht, gültige Subdomains mittels aktivem Brute-Force aufzulisten sowie Subdomains mit Wildcard-Handling und einfacher Ein-/Ausgabe-Unterstützung aufzulösen.
Basiert auf der Arbeit am massdns-Projekt von @blechschmidt.
shuffledns -h
Dies zeigt die Hilfe für das Tool an. Hier sind alle verfügbaren Schalter.
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 benötigt go1.24+ für eine erfolgreiche Installation. Führe den folgenden Befehl aus, um die neueste Version zu installieren:
go install -v github.com/projectdiscovery/shuffledns/cmd/shuffledns@latest
shuffledns unterstützt zwei Arten von Operationen:
Subdomain-Auflösung
Um eine Liste von Subdomains aufzulösen, übergibst du die Liste der Subdomains über die Option -list.
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt -mode resolve
Dies führt das Tool gegen die Subdomains in example-subdomains.txt aus und gibt die Ergebnisse zurück. Das Tool verwendet die mit -r angegebenen Resolver für die Auflösung.
Du kannst die Liste der Subdomains auch über die Standardeingabe (STDIN) übergeben. Dies ermöglicht eine einfache Integration in Automatisierungspipelines.
subfinder -d example.com | shuffledns -d example.com -r resolvers.txt -mode resolve
Dies verwendet die passiv von subfinder gefundenen Subdomains und löst sie mit shuffledns auf, wobei nur die eindeutigen und gültigen Subdomains zurückgegeben werden.
Brute-Force für Subdomains
shuffledns unterstützt auch Brute-Force für ein Ziel mit einer bestimmten Wortliste. Du kannst das Flag -w verwenden, um eine Wortliste zu übergeben, die zur Generierung von Permutationen verwendet wird, die dann mit massdns aufgelöst werden.
shuffledns -d hackerone.com -w wordlist.txt -r resolvers.txt -mode bruteforce
Dies führt das Tool gegen hackerone.com mit der Wortliste wordlist.txt aus. Der Brute-Force für die Domain kann auch wie im vorherigen Beispiel zur Auflösung der Subdomains über die Standardeingabe erfolgen.
echo hackerone.com | shuffledns -w wordlist.txt -r resolvers.txt -mode bruteforce
Umgang mit WildcardsEine besondere Funktion von |
-d)-Eingabe.shuffledns wird unter der GPL v3 License verteilt.
Voraussetzungen
Das Tool benötigt außerdem eine Liste gültiger Resolver. Das Projekt dnsvalidator kann verwendet werden, um solche Listen zu erstellen. Du musst auch eine Wortliste bereitstellen – du kannst eine benutzerdefinierte Wortliste verwenden oder die commonspeak2-wordlist nutzen. |