loading
loading
Recon
A massdns wrapper in Go for active subdomain brute force and resolution with wildcard handling.
overview
shuffleDNS wraps massdns to do two jobs at scale: brute-force new subdomains from a wordlist, and resolve a list of candidate names to find which ones answer. It keeps massdns's raw speed while adding the pipeline conveniences that make it usable, including clean input and output handling and proper wildcard detection.
Wildcard handling is what sets it apart from a naive resolver. Many domains return an answer for any subdomain you ask for, which floods brute-force results with false positives. shuffleDNS detects those wildcard responses and filters them out, with a strict mode that checks every found subdomain and tunable concurrency for both resolution and wildcard checks.
On Trickest, shuffledns is a Recon node that takes a domain plus a resolver list and writes a file and a folder of results. Run it in brute-force mode with a wordlist to expand a target's subdomain set, or in resolve mode over subdomains gathered from passive sources before they reach a prober like httpx.
use cases
Feed a domain, a wordlist, and a resolver list to discover new subdomains fast, with wildcard responses filtered out automatically.
Run resolve mode over subdomains gathered from passive sources to confirm which ones answer before probing.
Use strict wildcard checking so domains that answer for any name do not flood the result set with hosts that do not exist.
Raise concurrent massdns resolves and wildcard checks to push a large wordlist through quickly without overwhelming the resolvers.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| domain | STRING | -d | Domain to find or resolve subdomains for. |
| wordlist | FILE | -w | File of words to brute-force subdomains from. |
| resolvers | FILE | -r | File of DNS resolvers to use for enumeration. |
| subdomains | FILE | -list | File of subdomains to resolve in resolve mode. |
| strict-wildcard | BOOLEAN | -strict-wildcard | Perform a wildcard check on every found subdomain. |
| massdns-command | STRING | -massdns-cmd | Optional massdns commands to forward (example '-i 10'). |
| massdns-resolves | STRING | -t | Number of concurrent massdns resolves (default 10000). |
| show-only-subdomains | BOOLEAN | -silent | Show only subdomains in the output. |
Showing key inputs. shuffledns exposes 12 inputs in total.
| Name | Type | Flag | Description |
|---|---|---|---|
| domain | STRING | -d | Domain to find or resolve subdomains for. |
| no-color | BOOLEAN | -no-color | don't use colors in output |
| wordlist | FILE | -w | file containing words for subdomain bruteforce |
| resolvers | FILE | -r | file containing resolvers for enumeration |
| subdomains | FILE | -list | file containing list of subdomains to resolve |
| massdns-input | FILE | -raw-input | file containing full massdns output |
| massdns-command | STRING | -massdns-cmd | optional massdns commands to run (example '-i 10') |
| strict-wildcard | BOOLEAN | -strict-wildcard | perform wildcard check on all found subdomains |
| massdns-resolves | STRING | -t | number of concurrent massdns resolves (default 10000) |
| number-of-retries | STRING | -retries | number of retries for DNS enumeration (default 5) |
| show-only-subdomains | BOOLEAN | -silent | show only subdomains in output |
| number-of-wildcard-checks | STRING | -wt | number of concurrent wildcard checks (default 25) |
example
# brute-force subdomains from a wordlist with wildcard filteringshuffledns -d example.com -w subdomains.txt -r resolvers.txt -strict-wildcard -o resolved.txtwww.example.comapi.example.commail.example.comdev.example.comstaging.example.comvpn.example.comadmin.example.comgrafana.example.com… (valid hosts after wildcard filtering; a full wordlist run against a live domain returns many more)guidance
Use shuffledns for active subdomain brute force and high-speed resolution with reliable wildcard filtering. It needs a resolver list. For passive subdomains with no traffic to the target, use securitytrails-subdomains and feed the result here to resolve.
Passive subdomain source. Feed its output into shuffledns resolve mode to validate the hosts.
Service intelligence rather than DNS brute force. A different recon lens on the same target.
Web-server misconfiguration checks, run later against resolved hosts rather than for discovery.
faq
related
Asynchronous DNS brute-force tool for fast subdomain enumeration.
OWASP Amass: network mapping and external asset discovery.
OWASP Amass intel: find an organization's root domains and ranges.
OWASP Amass enumeration that produces structured JSON output.
Find related domains and subdomains via shared Google Analytics IDs.
Find domains and subdomains potentially related to a given domain.
A domain and a wordlist feed shuffledns, which brute-forces and resolves subdomains with wildcard filtering and writes the valid hosts.
Facts on this page come from the live Trickest tool library.