You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The most powerful subdomain enumeration tool on the market.
Aggregates 47+ sources, DNS brute forcing, live probing, screenshots, takeover detection, cloud asset discovery, and rich HTML reports — all in one tool.
# Debian / Ubuntu / Kali
sudo apt install tor && sudo service tor start
# macOS
brew install tor && brew services start tor
🚀 Usage
Basic Usage
# Single domain
python3 subhunterx.py -d example.com
# Multiple domains from file
python3 subhunterx.py -l domains.txt
Advanced Usage
# Recursive enumeration (subdomains of subdomains)
python3 subhunterx.py -d example.com --recursive
# Use custom wordlist for brute force
python3 subhunterx.py -d example.com --wordlist /path/to/wordlist.txt
# Route through TOR (anonymous)
python3 subhunterx.py -d example.com --tor
# Use a proxy (Burp Suite, ZAP, etc.)
python3 subhunterx.py -d example.com --proxy http://127.0.0.1:8080
# Disable screenshots (faster)
python3 subhunterx.py -d example.com --no-screenshot
# Disable brute force (passive only)
python3 subhunterx.py -d example.com --no-brute
# Custom thread count and timeout
python3 subhunterx.py -d example.com --threads 200 --timeout 15
# Custom config file
python3 subhunterx.py -d example.com -c /path/to/config.yaml
All Options
usage: subhunterx.py [-h] [-d DOMAIN] [-l LIST] [-c CONFIG]
[--recursive] [--proxy PROXY] [--tor]
[--no-screenshot] [--no-brute]
[--wordlist WORDLIST] [--threads THREADS]
[--timeout TIMEOUT] [-v]
options:
-h, --help Show this help message and exit
-d, --domain Single target domain
-l, --list File containing list of domains (one per line)
-c, --config Config file path (default: config/config.yaml)
--recursive Enable recursive subdomain enumeration
--proxy Proxy URL (e.g. http://127.0.0.1:8080)
--tor Route all traffic through TOR
--no-screenshot Disable live subdomain screenshots
--no-brute Disable DNS brute force
--wordlist Custom wordlist path for brute force
--threads Thread count for DNS resolution (default: 100)
--timeout HTTP request timeout in seconds (default: 10)
-v, --version Show version and exit
📁 Output Structure
output/
└── example.com_20260101_120000/
├── all-subdomains.txt ← All unique subdomains found
├── live-subdomains.txt ← Only live/reachable subdomains
├── dead-subdomains.txt ← Only dead/unreachable subdomains
├── dead-subdomains-details.txt ← Dead subdomains with error details
├── live-subdomains.csv ← Live results in CSV format
├── dead-subdomains.csv ← Dead results in CSV format
├── results.json ← Full results in JSON format
├── report.html ← Beautiful HTML report
└── live-subdomains-screenshots/
├── www.example.com.png
├── api.example.com.png
└── ...
📡 Sources (47+)
Certificate Transparency
Source
Type
API Key
crt.sh
Cert Transparency
Free
Certspotter
Cert Transparency
Free
Threat Intelligence & OSINT
Source
Type
API Key
Shodan
Internet Scanner
Required
Censys
Internet Scanner
Required
VirusTotal
Threat Intel
Required
AlienVault OTX
Threat Intel
Free
SecurityTrails
DNS History
Required
BinaryEdge
Threat Intel
Required
ThreatCrowd
Threat Intel
Free
ThreatMiner
Threat Intel
Free
FullHunt
Asset Discovery
Required
LeakIX
Threat Intel
Free
GreyNoise
Internet Noise
Free
Internet Scanners
Source
Type
API Key
ZoomEye
Internet Scanner
Required
FOFA
Internet Scanner
Required
DNS & Passive DNS
Source
Type
API Key
HackerTarget
DNS Lookup
Free
DNSDumpster
DNS Recon
Free
BufferOver
DNS Dataset
Free
Robtex
DNS Graph
Free
CIRCL PassiveDNS
Passive DNS
Free
RapidDNS
Passive DNS
Free
Anubis DB
DNS Dataset
Free
Columbus
DNS Dataset
Free
PassiveTotal
Passive DNS
Free
Riddler.io
DNS Dataset
Free
DNSrepo
DNS Dataset
Free
Public APIs & Databases
Source
Type
API Key
C99.nl
Subdomain API
Required
WhoisXMLAPI
WHOIS Data
Required
Chaos (ProjectDiscovery)
Bug Bounty DB
Required
Subdomain.center
Subdomain API
Free
Omnisint / Ceres
DNS Dataset
Free
Recon.dev
Recon API
Free
ShrewdEye
Recon API
Free
Synapsint
OSINT
Free
Phonebook.cz
OSINT
Free
ViewDNS
DNS Tools
Free
Netcraft
Site Report
Free
Web Archives & Crawling
Source
Type
API Key
Wayback Machine
Web Archive
Free
CommonCrawl
Web Crawl
Free
URLScan.io
URL Scanner
Free
WebArchive CDX
Web Archive
Free
PublicWWW
Source Search
Free
Code Search
Source
Type
API Key
GitHub
Code Search
Required
Search Engine Dorking
Source
Type
API Key
Google
Dork
Free
Bing
Dork
Free
Baidu
Dork
Free
DNS Brute Force
Source
Type
Custom Wordlist
DNS Brute Force
Permutation Engine
DNS Mutation
⚙️ Configuration
Edit config/config.yaml to set your API keys and preferences:
Port scanning integration (top 1000 ports per live subdomain)
Technology fingerprinting (Wappalyzer-style)
Nuclei templates auto-run on live subdomains
Diff mode (compare new scan vs old scan)
ASN & geolocation mapping per subdomain
Web dashboard for viewing results
v1.2.0 — Future 🔮
GraphQL API for integration
Docker container
Kubernetes deployment
CI/CD pipeline integration
Machine learning false positive filtering
Auto-generated bug report templates
Integration with Burp Suite Extension
📋 Requirements
Tool
Required
Purpose
Python 3.8+
✅ Required
Core runtime
pip packages
✅ Required
See requirements.txt
Chrome/Chromium
⚠️ Optional
Screenshots
TOR
⚠️ Optional
Anonymous scanning
Go + httprobe
⚠️ Optional
Alternative HTTP prober
⚠️ Legal Disclaimer
SubHunterX is intended for legal security research, bug bounty hunting, and authorized penetration testing ONLY.
Always obtain proper written authorization before scanning any domain or network you do not own.
The author is not responsible for any misuse or damage caused by this tool.
Use responsibly and ethically.