SubFors is a fast, modular subdomain discovery tool that combines multiple enumeration techniques to uncover hidden attack surfaces. Now with API integrations for enhanced reconnaissance.
- Multi-engine enumeration (12 discovery methods)
- API integrations (VirusTotal, DNSDumpster, GitHub)
- Certificate Transparency monitoring
- Brute-force with custom wordlists
- Web Archives analysis
- JavaScript file scanning
- GitHub subdomain extraction
- Smart rate-limiting to avoid detection
- Multiple output formats (TXT/JSON/XML)
- Bulk domain processing
git clone https://github.com/saad-ayady/SubFors
cd SubFors
go build -o subfors main.go
sudo mv subfors /usr/local/bin/
go install github.com/saad-ayady/SubFors/cmd/subfors@latest
subfors -d example.com
subfors -d example.com \
-vt YOUR_VIRUSTOTAL_API_KEY \
-dn YOUR_DNSDUMPSTER_API_KEY \
-gt YOUR_GITHUB_TOKEN \
-oJ results.json
subfors -dL Scope.txt \
-w custom_wordlist.txt \
-vt YOUR_VIRUSTOTAL_API_KEY \
-dn YOUR_DNSDUMPSTER_API_KEY \
-gt YOUR_GITHUB_TOKEN \
-oJ results.json
subfors -dL Scope.txt \
-w custom_wordlist.txt \
-oJ results.json
subfors -dL domains.txt -w custom_wordlist.txt -oX results.xml
Flag | Description | Example |
---|---|---|
-d |
Target domain | -d example.com |
-dL |
File containing domains | -dL domains.txt |
-vt |
VirusTotal API key | -vt abc123def456 |
-dn |
DNSDumpster API key | -dn xyz789uvw012 |
-gt |
GitHub Personal Access Token | -gt ghp_abcd1234xyz |
-w |
Custom wordlist path | -w wordlist.txt |
-o |
Text output file | -o results.txt |
-oJ |
JSON output file | -oJ results.json |
-oX |
XML output file | -oX results.xml |
-t |
Threads (default: 10 ) |
-t 20 |
-timeout |
Timeout in seconds (default: 30 ) |
-timeout 60 |
VirusTotal Integration
- Get your API key from VirusTotal
- Use with
-vt
flag:
subfors -d target.com -vt YOUR_API_KEY
. Queries VirusTotal's subdomains database
. Handles pagination automatically
. Rate-limited to comply with API restrictions
DNSDumpster Integration
- Get your API key from DNSDumpster
- Use with
-dn
flag:
subfors -d target.com -dn YOUR_API_KEY
. Retrieves DNS records including historical data
. Processes A records for subdomains
GitHub Integration
- Get your API key from GitHub Personal Access Token
- Use with
-gt
flag:
subfors -d target.com -gt YOUR_GITHUB_TOKEN
. Searches public code and repositories for subdomains
. Extracts leaked endpoints and configs containing domains
. Avoids GitHub rate-limits using your token
[•] Starting SubFors v0.2 scan for example.com
[✓] VirusTotal API connected (Quota: 498/500)
[✓] GitHub token authenticated
[•] Running 12 discovery modules...
[+] admin.example.com (Certificate Transparency)
[+] api.dev.example.com (VirusTotal)
[+] devops.example.com (GitHub)
[+] legacy.example.com (DNSDumpster)
[+] beta.example.com (Web Archives)
[✓] Scan completed in 2m18s
[✓] Found 612 unique subdomains
[✓] JSON results saved to: results.json
Feature | SubFors | SubFinder | AssetFinder |
---|---|---|---|
API Integrations | ✅ (VT+DNS) | ❌ | ❌ |
Multi-engine | ✅ (11) | ✅ (8) | ❌ |
CT Logs | ✅ | ✅ | ✅ |
Web Archives | ✅ | ❌ | ❌ |
JS Analysis | ✅ | ❌ | ❌ |
GitHub Leaks | ✅ | ❌ | ❌ |
Rate Limiting | ✅ | ❌ | ❌ |
Bulk Processing | ✅ | ✅ | ❌ |
-
Fork the repository
-
Create your feature branch
-
Commit your changes
-
Push to the branch
-
Open a pull request