SubRecon is a fast and advanced subdomain enumeration tool designed for penetration testers, bug bounty hunters, and security researchers.
It combines multiple passive intelligence sources, high-speed brute-force enumeration, subdomain takeover detection, and professional reporting into a single lightweight tool.
-
🔍 Multi-Source Enumeration
- crt.sh
- AlienVault OTX
- BufferOver
- RapidDNS
- CertSpotter
-
⚡ Fast Brute-force Engine
- Multi-threaded scanning
- 1,600+ subdomains/second (hardware dependent)
-
🚨 Subdomain Takeover Detection
- Detects 20+ common takeover fingerprints
- GitHub Pages
- Heroku
- AWS S3
- Azure
- Netlify
- Vercel
- Firebase
- And many more
-
📊 Multiple Output Formats
- JSON
- CSV
- TXT
- HTML
-
🎨 Professional HTML Report
- Modern dark theme
- Easy to read
- Suitable for client reports
-
🎯 Flexible Output Selection
- Generate only the formats you need using
--format
- Generate only the formats you need using
-
📁 Automatic Wordlist Loading
- Loads
wordlists/common.txtautomatically
- Loads
Clone the repository:
git clone https://github.com/Lutfifakee-Project/SubRecon.gitMove into the project directory:
cd SubReconInstall the required dependencies:
pip install -r requirements.txtpython subrecon.py -d example.compython subrecon.py -d example.com -b -o resultsPassive enumeration + brute-force + takeover detection.
python subrecon.py \
-d example.com \
-b \
--takeover \
-o full_reportGenerate only JSON:
python subrecon.py \
-d example.com \
-o results \
--format jsonGenerate JSON + CSV:
python subrecon.py \
-d example.com \
-o results \
--format json,csvGenerate JSON + HTML:
python subrecon.py \
-d example.com \
-o report \
--format json,htmlGenerate all formats:
python subrecon.py \
-d example.com \
-o report \
--format allpython subrecon.py \
-d example.com \
-b \
-w wordlists/custom.txt \
-o resultspython subrecon.py \
-d google.com \
-b \
--takeover \
-t 100 \
-o google| Format | Extension | Purpose |
|---|---|---|
| JSON | .json |
API integration & automation |
| CSV | .csv |
Excel / Google Sheets |
| TXT | .txt |
Human-readable report |
| HTML | .html |
Professional visual report |
{
"domain": "example.com",
"timestamp": "2026-07-06T13:42:44.641965",
"total_subdomains": 2,
"alive_subdomains": 1,
"takeover_vulnerable": [],
"subdomains": {
"all": [
"*.example.com",
"www.example.com"
],
"alive": {
"www.example.com": {
"url": "https://www.example.com",
"status": 200,
"title": "Example Domain",
"server": "cloudflare",
"content_length": 559
}
}
}
}| Argument | Description | Default |
|---|---|---|
-d, --domain |
Target domain | Required |
-o, --output |
Output filename (without extension) | - |
-t, --threads |
Number of threads | 50 |
-b, --bruteforce |
Enable brute-force | Disabled |
-w, --wordlist |
Custom wordlist | wordlists/common.txt |
--takeover |
Check for takeover vulnerabilities | Disabled |
-v, --verbose |
Verbose output | Disabled |
--format |
Output formats (json,csv,txt,html or all) |
all |
SubRecon/
│
├── subrecon.py
├── requirements.txt
├── README.md
├── LICENSE
│
└── wordlists/
└── common.txt
| Target | Total Subdomains | Alive | Time |
|---|---|---|---|
| example.com | 7 | 1 | ~7 sec |
| google.com | 179 | 65 | ~73 sec |
| github.com | 100+ | 50+ | ~60 sec |
Note: Results depend on network quality, target size, and thread count.
SubRecon collects subdomains from publicly available intelligence sources:
- crt.sh
- AlienVault OTX
- BufferOver.run
- RapidDNS
- CertSpotter
This project is intended only for educational purposes and authorized security testing.
- Only scan domains that you own or have explicit permission to test.
- Do not use this tool for unauthorized activities.
- The author assumes no responsibility for misuse or damage caused by this software.
- Always comply with applicable laws and regulations in your jurisdiction.
Contributions are welcome!
If you have ideas, improvements, or bug fixes:
- Fork the repository.
- Create a new branch.
- Commit your changes.
- Open a Pull Request.
Issues and feature requests are also appreciated.
This project is licensed under the MIT License.
See the LICENSE file for more information.