← retour aux outils back to tools

# 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/subfinder

## Overview

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 `amass` for maximum passive coverage (`cat results_amass.txt results_subfinder.txt | sort -u`)
- `subfinder -all` uses many more sources but is significantly slower
- Use `-silent` in 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 `amass` pour une couverture passive maximale (`cat results_amass.txt results_subfinder.txt | sort -u`)
- `subfinder -all` utilise beaucoup plus de sources mais est nettement plus lent
- Utiliser `-silent` dans 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