Subfinder
Énumération passive rapide de sous-domaines à partir de plus de 40 sources, dont la transparence des certificats, des API DNS et des moteurs de recherche. Fait partie de la suite ProjectDiscovery. Fast passive subdomain enumeration using 40+ sources including certificate transparency, DNS APIs, and search engines. Part of the ProjectDiscovery toolkit.
↗ https://github.com/projectdiscovery/subfinderOverview
Subfinder is a passive subdomain discovery tool that queries multiple online sources simultaneously: certificate transparency logs, Shodan, VirusTotal, Censys, SecurityTrails, and dozens more. It’s fast, quiet (no direct interaction with the target), and integrates seamlessly into the ProjectDiscovery toolchain.
Basic Usage
Single domain
subfinder -d target.com
Multiple domains
subfinder -d target.com,example.org
Domains from file
subfinder -dL domains.txt
Output to file
subfinder -d target.com -o subdomains.txt
Output as JSON
subfinder -d target.com -oJ -o results.json
Verbose (show sources)
subfinder -d target.com -v
All sources (slower but more thorough)
subfinder -d target.com -all
API Keys Configuration
Configure at ~/.config/subfinder/provider-config.yaml:
shodan:
- YOUR_KEY
censys:
- YOUR_ID:YOUR_SECRET
virustotal:
- YOUR_KEY
securitytrails:
- YOUR_KEY
github:
- YOUR_TOKEN
binaryedge:
- YOUR_KEY
Pipeline Integration
Pipe to httpx to find live hosts
subfinder -d target.com -silent | httpx -silent
Pipe to nuclei for vulnerability scanning
subfinder -d target.com -silent | httpx -silent | nuclei -t technologies/
Find subdomains and resolve IPs
subfinder -d target.com | dnsx -a -resp
# Combine with nmap
subfinder -d target.com -silent | httpx -silent -o live_hosts.txt
nmap -iL live_hosts.txt -sV
Filtering & Output
Exclude specific sources
subfinder -d target.com -es shodan,virustotal
Use only specific sources
subfinder -d target.com -s crtsh,hackertarget
Output only unique (default behaviour)
subfinder -d target.com -nW # disable wildcard filtering
Rate limit
subfinder -d target.com -rL 10 # 10 requests/second
Tips
- API keys dramatically increase coverage — at minimum get free VirusTotal and GitHub tokens
- Combine with
amassfor maximum passive coverage (cat results_amass.txt results_subfinder.txt | sort -u) subfinder -alluses many more sources but is significantly slower- Use
-silentin pipelines to suppress banner output
Help / Man page
subfinder [flags]
-d domain Target domain
-dL file File with domains
-o file Output file
-oJ JSON output
-oD directory Output to directory (one file per domain)
-all Use all sources
-s sources Use specific sources (comma-separated)
-es sources Exclude specific sources
-v Verbose (show sources)
-silent Print only subdomains
-nW Disable wildcard filtering
-rL rate Rate limit (requests/second)
-t threads Number of concurrent threads
-timeout N Timeout in seconds
-config file Config file path
-provider-config Provider config file path
Vue d’ensemble
Subfinder est un outil de découverte passive de sous-domaines qui interroge simultanément de multiples sources en ligne : logs de transparence des certificats, Shodan, VirusTotal, Censys, SecurityTrails, et des dizaines d’autres. Il est rapide, discret (aucune interaction directe avec la cible), et s’intègre parfaitement dans la chaîne d’outils ProjectDiscovery.
Utilisation de base
# Domaine unique
subfinder -d target.com
# Plusieurs domaines
subfinder -d target.com,example.org
# Domaines depuis un fichier
subfinder -dL domains.txt
# Sortie vers un fichier
subfinder -d target.com -o subdomains.txt
# Sortie en JSON
subfinder -d target.com -oJ -o results.json
# Verbeux (affiche les sources)
subfinder -d target.com -v
# Toutes les sources (plus lent mais plus exhaustif)
subfinder -d target.com -all
Configuration des clés API
Configurer dans ~/.config/subfinder/provider-config.yaml :
shodan:
- YOUR_KEY
censys:
- YOUR_ID:YOUR_SECRET
virustotal:
- YOUR_KEY
securitytrails:
- YOUR_KEY
github:
- YOUR_TOKEN
binaryedge:
- YOUR_KEY
Intégration en pipeline
# Rediriger vers httpx pour trouver les hôtes actifs
subfinder -d target.com -silent | httpx -silent
# Rediriger vers nuclei pour le scan de vulnérabilités
subfinder -d target.com -silent | httpx -silent | nuclei -t technologies/
# Trouver des sous-domaines et résoudre les IP
subfinder -d target.com | dnsx -a -resp
# Combiner avec nmap
subfinder -d target.com -silent | httpx -silent -o live_hosts.txt
nmap -iL live_hosts.txt -sV
Filtrage et sortie
# Exclure des sources spécifiques
subfinder -d target.com -es shodan,virustotal
# Utiliser uniquement des sources spécifiques
subfinder -d target.com -s crtsh,hackertarget
# Sortie uniquement unique (comportement par défaut)
subfinder -d target.com -nW # désactiver le filtrage des wildcards
# Limiter le débit
subfinder -d target.com -rL 10 # 10 requêtes/seconde
Conseils
- Les clés API augmentent considérablement la couverture : au minimum, obtenir des tokens gratuits VirusTotal et GitHub
- Combiner avec
amasspour une couverture passive maximale (cat results_amass.txt results_subfinder.txt | sort -u) subfinder -allutilise beaucoup plus de sources mais est nettement plus lent- Utiliser
-silentdans les pipelines pour supprimer la bannière
Aide / Page de manuel
subfinder [flags]
-d domain Target domain
-dL file File with domains
-o file Output file
-oJ JSON output
-oD directory Output to directory (one file per domain)
-all Use all sources
-s sources Use specific sources (comma-separated)
-es sources Exclude specific sources
-v Verbose (show sources)
-silent Print only subdomains
-nW Disable wildcard filtering
-rL rate Rate limit (requests/second)
-t threads Number of concurrent threads
-timeout N Timeout in seconds
-config file Config file path
-provider-config Provider config file path