loading
loading
Recon
A fast, accurate subdomain enumeration tool that brute-forces names through open resolvers.
overview
subbrute takes a target domain and a wordlist of candidate labels, then resolves every name to learn which ones exist. It generates the names itself rather than reading a dataset, so it surfaces hosts that never appear in certificate transparency logs, search results, or DNS aggregators.
The trick is the open resolver. Instead of querying the target's own name servers, subbrute spreads lookups across a pool of public resolvers, which sidesteps per-server DNS rate limiting and keeps brute-force traffic off the target's infrastructure. The community project behind it aimed for the fastest, most accurate DNS brute forcing, and the resolver pool is how it gets there.
Reach for subbrute when passive discovery has run dry and you want the long tail of guessable names. On Trickest, the node takes a target and a --subs wordlist and writes a file and folder of resolved subdomains; merge those with a passive finder like subfinder, then hand the union to httpx to see which names respond.
source github.com/TheRook/subbrute
use cases
Resolve a wordlist against a domain to find subdomains that never show up in certificate logs or search-engine sources.
Route queries through open resolvers so brute forcing dodges rate limits and sends no direct traffic to the target's DNS.
Merge subbrute's brute-forced names with a passive finder's output for a fuller subdomain set before probing.
Supply a --targets file of domains and brute-force every one of them in a single pass.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| target | STRING | · | Target domain to brute-force subdomains for (positional). |
| subs | FILE | --subs | A file with the list of candidate subdomain labels to try. |
| targets | FILE | --targets | A file of newline-delimited domains to brute-force in one run. |
| resolvers | FILE | --resolvers | A file of DNS resolvers; falls back to the internal resolvers.txt if empty. |
| process-count | STRING | --process_count | Number of lookup threads to run (default 8). |
| print-data | BOOLEAN | -p | Print the data from found DNS records instead of the hostname alone (default false). |
Showing key inputs. subbrute exposes 7 inputs in total.
| Name | Type | Flag | Description |
|---|---|---|---|
| subs | FILE | --subs | A file with the list of candidate subdomain labels. |
| target | STRING | · | Target domain to brute-force subdomains for (positional). |
| targets | FILE | --targets | A file containing a newline-delimited list of domains to brute-force. |
| verbose | BOOLEAN | --verbose | Print debug information. |
| resolvers | FILE | --resolvers | A file with a list of DNS resolvers; uses the internal resolvers.txt if empty. |
| print-data | BOOLEAN | -p | Print data from found DNS records (default false). |
| process-count | STRING | --process_count | Number of lookup threads to run (default 8). |
example
# brute-force subdomains through open resolvers, 16 lookup threadssubbrute --subs /wordlists/dns/names.txt --resolvers resolvers.txt --process_count 16 example.comns1.example.commail.example.comvpn.example.comapi.example.comdev.example.comstaging.example.comautodiscover.example.comowa.example.comguidance
Use subbrute for active subdomain brute forcing when you want names that passive sources never see. It generates and resolves names, so pair it with a passive finder like subfinder for coverage and follow both with httpx to find live hosts. Supply fresh open resolvers for speed.
Passive enumeration from datasets. subbrute brute-forces names; run both and merge for fuller coverage.
Async DNS brute-forcer. subbrute's open-resolver routing keeps queries off the target's name servers.
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 subdomain wordlist feed subbrute, which resolves names through open resolvers and writes the discovered subdomains as output.
Facts on this page come from the live Trickest tool library.