Zum Inhalt

Subfinder Subdomain Enumeration Cheat Sheet

Überblick

Subfinder ist ein leistungsstarkes Subdomain-Entdeckungstool, das von Project Discovery entwickelt wurde und valide Subdomains für Websites mit passiven Online-Quellen entdeckt. Es verfügt über eine einfache modulare Architektur und ist für Geschwindigkeit und Effizienz optimiert. Subfinder verwendet verschiedene öffentliche und private Quellen, um Subdomains zu finden, einschließlich Suchmaschinen, DNS-Aggregatoren und Zertifikat Transparenz Protokolle.

Was ist los? Subfinder abgesehen von anderen Subdomain-Enumerations-Tools ist seine umfangreiche Quellenabdeckung und seine Fähigkeit, API-Schlüssel für verbesserte Ergebnisse zu verwenden. Durch die gleichzeitige Nutzung mehrerer Datenquellen kann Subfinder Subdomains entdecken, die von anderen Tools verfehlt werden könnten. Es ist so konzipiert, dass sie leicht in Sicherheits-Workflows integriert werden kann und in Kombination mit anderen Tools zur umfassenden Aufklärung eingesetzt werden kann.

Subfinder wird von Sicherheitsforschern, Bug-Bounty-Jägern und Penetrations-Testern als ersten Schritt in der Aufklärung verwendet, um die Angriffsfläche einer Zielorganisation abzubilden. Sein passiver Ansatz bedeutet, dass es nicht verdächtige Traffic auf das Ziel erzeugt, so dass es für die stehlende Aufklärung geeignet ist.

Installation

Verwenden Sie Go

```bash

Install using Go (requires Go 1.20 or later)

go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest

Verify installation

subfinder -version ```_

Verwendung von Docker

```bash

Pull the latest Docker image

docker pull projectdiscovery/subfinder:latest

Run Subfinder using Docker

docker run -it projectdiscovery/subfinder:latest -h ```_

Verwendung von Homebrew (macOS)

```bash

Install using Homebrew

brew install subfinder

Verify installation

subfinder -version ```_

Verwendung von PDTM (Projekt Discovery Tools Manager)

```bash

Install PDTM first if not already installed

go install -v github.com/projectdiscovery/pdtm/cmd/pdtm@latest

Install Subfinder using PDTM

pdtm -i subfinder

Verify installation

subfinder -version ```_

Auf Kali Linux

```bash

Install using apt

sudo apt install subfinder

Verify installation

subfinder -version ```_

Basisnutzung

Aufzählung von Subdomains

```bash

Enumerate subdomains for a single domain

subfinder -d example.com

Enumerate subdomains for multiple domains

subfinder -d example.com,hackerone.com

Enumerate subdomains from a list of domains

subfinder -dL domains.txt ```_

Ausgabeoptionen

```bash

Save results to a file

subfinder -d example.com -o results.txt

Output in JSON format

subfinder -d example.com -oJ -o results.json

Output in JSONL format

subfinder -d example.com -oJ -nW -o results.jsonl

Output in CSV format

subfinder -d example.com -oC -o results.csv

Silent mode (only subdomains)

subfinder -d example.com -silent ```_

Grundfilterung

```bash

Remove wildcard subdomains

subfinder -d example.com -nW

Exclude specific subdomains

subfinder -d example.com -exclude-domains dev.example.com,stage.example.com

Match specific subdomains

subfinder -d example.com -match-domain api.example.com ```_

Erweiterte Nutzung

Quelle Auswahl

```bash

List all available sources

subfinder -ls

Use specific sources

subfinder -d example.com -sources censys,shodan,virustotal

Exclude specific sources

subfinder -d example.com -exclude-sources alienvault,threatcrowd ```_

API Konfiguration

```bash

Set API keys interactively

subfinder -set-config

Set specific API key

subfinder -set-config VirusTotal=APIKEY

Use a custom configuration file

subfinder -d example.com -config config.yaml ```_

Wiederkehrende Zählung

```bash

Enable recursive subdomain discovery

subfinder -d example.com -recursive

Set maximum recursion depth

subfinder -d example.com -recursive -max-depth 2 ```_

DNS-Resolution

```bash

Resolve discovered subdomains

subfinder -d example.com -resolve

Use custom resolvers

subfinder -d example.com -resolve -r resolvers.txt ```_

Aktive Zählung

```bash

Enable active enumeration

subfinder -d example.com -active

Set timeout for active enumeration

subfinder -d example.com -active -timeout 10 ```_

Leistungsoptimierung

Concurrency und Rate Limiting

```bash

Set source concurrency (default: 10)

subfinder -d example.com -sc 20

Set host concurrency (default: 10)

subfinder -d example.com -hc 20

Set rate limit

subfinder -d example.com -rate-limit 100 ```_

Timeout Optionen

```bash

Set timeout for passive sources

subfinder -d example.com -timeout 30

Set timeout for active resolution

subfinder -d example.com -resolve -timeout-resolve 5 ```_

Optimierung für große Scans

```bash

Use all sources for comprehensive results

subfinder -d example.com -all

Increase concurrency for faster scanning

subfinder -d example.com -sc 50 -hc 50 ```_

Integration mit anderen Tools

Pipeline mit HTTPX

```bash

Find subdomains and probe for HTTP services

subfinder -d example.com -silent|httpx -silent

Find subdomains, resolve them, and probe for HTTP services

subfinder -d example.com -silent -resolve|httpx -silent ```_

Pipeline mit Nuclei

```bash

Find subdomains and scan for vulnerabilities

| subfinder -d example.com -silent | httpx -silent | nuclei -t cves/ |

Find subdomains with specific patterns and scan for vulnerabilities

| subfinder -d example.com -silent | grep api | httpx -silent | nuclei -t apis/ | ```_

Pipeline mit Naabu

```bash

Find subdomains and scan for open ports

subfinder -d example.com -silent|naabu -silent

Find subdomains, scan for open ports, and probe for HTTP services

| subfinder -d example.com -silent | naabu -silent | httpx -silent | ```_

Produktionsanpassung

Zollausgabe Format

```bash

Output only specific fields in JSON format

subfinder -d example.com -oJ|jq '.host'

Count total subdomains

subfinder -d example.com -silent|wc -l

Sort output alphabetically

subfinder -d example.com -silent|sort ```_

Filterausgang

```bash

Filter subdomains by pattern

subfinder -d example.com -silent|grep api

Filter out specific patterns

subfinder -d example.com -silent|grep -v dev

Find unique root subdomains

| subfinder -d example.com -silent | awk -F. '\\{print $(NF-1)"."$NF\\}' | sort -u | ```_

Erweiterte Filterung

```bash

Filter by subdomain level

subfinder -d example.com -silent|awk -F. 'NF==3' # 2nd level subdomains subfinder -d example.com -silent|awk -F. 'NF==4' # 3rd level subdomains subfinder -d example.com -silent|awk -F. 'NF>=5' # Deep level subdomains

Filter by specific patterns

| subfinder -d example.com -silent | grep -E '(api | dev | stage | test)' |

Exclude common development subdomains

| subfinder -d example.com -silent | grep -v -E '(dev | stage | test | uat)' | ```_

API Schlüsselkonfiguration

API konfigurieren Schlüssel

Subfinder unterstützt verschiedene API-Anbieter. So konfigurieren Sie diese:

```bash

Create a configuration file

mkdir -p $HOME/.config/subfinder cat > $HOME/.config/subfinder/config.yaml << EOF resolvers: - 1.1.1.1 - 8.8.8.8 sources: - alienvault - censys - shodan - virustotal binaryedge: - 0bf8919b-aab9-42e4-9574-d3b639324597 censys: - ac244e2f-b635-4581-878a-33f4e79a2c13:dd510d6e-1b6e-4655-83f6-f347b363def9 certspotter: - 0412e8d1-5a86-47b4-a1a6-2a3b4a104a1a github: - ghp_16C7e42F292c6912E7710c838347Ae178B4a passivetotal: - sample-email@user.com:sample-password securitytrails: - 9e56ef28-540b-4e0c-a51e-aba1f0d2d4d3 shodan: - AAAAClP1bJJSRMEYJazgwhJKrggRwKA virustotal: - 6f5e5b82a6b5a61951c6a659d4a4522b34b3950d1e35e93131a7f63a3c352553 EOF ```_

Unterstützte API Provider

| | Provider | Description | | | --- | --- | | | BinaryEdge | Search for internet-exposed devices | | | | Censys | Search engine for internet-connected devices | | | | Certspotter | Certificate transparency monitoring | | | | GitHub | Code hosting platform | | | | PassiveTotal | Threat intelligence platform | | | | SecurityTrails | DNS and domain data provider | | | | Shodan | Search engine for internet-connected devices | | | | VirusTotal | File and URL analysis service | |

Fehlerbehebung

Gemeinsame Themen

  1. *Begrenzung durch Quellen * ```bash # Reduce concurrency subfinder -d example.com -sc 5

# Add delay between requests subfinder -d example.com -delay 2

```_

  1. API Schlüsselfragen ```bash # Verify API key configuration cat $HOME/.config/subfinder/config.yaml

# Test specific source subfinder -d example.com -sources censys

```_

  1. *DNS-Resolutionsfragen ```bash # Use custom resolvers subfinder -d example.com -resolve -r resolvers.txt

# Increase resolution timeout subfinder -d example.com -resolve -timeout-resolve 10

```_

  1. *Memory Issues ```bash # Process domains one by one for domain in $(cat domains.txt); do subfinder -d $domain -o "$domain-subs.txt"; done

```_

Debugging

```bash

Enable verbose mode

subfinder -d example.com -v

Show debug information

subfinder -d example.com -debug

Check source statistics

subfinder -d example.com -stats ```_

Konfiguration

Datei konfigurieren

Subfinder verwendet eine Konfigurationsdatei unter $HOME/.config/subfinder/config.yaml_. Sie können verschiedene Einstellungen in dieser Datei anpassen:

```yaml

Example configuration file

resolvers: - 1.1.1.1 - 8.8.8.8 sources: - alienvault - censys - shodan - virustotal

API keys for different providers

binaryedge: - API_KEY censys: - API_ID:API_SECRET ```_

Umweltvariablen

```bash

Set Subfinder configuration via environment variables

export SUBFINDER_CONFIG_PATH=/path/to/config.yaml export SUBFINDER_SOURCES=censys,shodan,virustotal export SUBFINDER_RESOLVERS=1.1.1.1,8.8.8.8 ```_

Sachgebiet

Kommandozeilenoptionen

| | Flag | Description | | | --- | --- | | | -d, -domain | Domain to find subdomains for | | | | -dL, -domain-list | File containing list of domains | | | | -o, -output | File to write output to | | | | -oJ | Write output in JSON format | | | | -oC | Write output in CSV format | | | | -silent | Show only subdomains in output | | | | -v, -verbose | Show verbose output | | | | -ls, -list-sources | List all available sources | | | | -s, -sources | Sources to use for enumeration | | | | -es, -exclude-sources | Sources to exclude from enumeration | | | | -recursive | Recursive subdomain discovery | | | | -max-depth | Maximum recursion depth | | | | -nW, -no-wildcards | Remove wildcard subdomains | | | | -exclude-domains | Subdomains to exclude from enumeration | | | | -match-domain | Subdomains to match in enumeration | | | | -r, -resolvers | File containing list of resolvers | | | | -resolve | Resolve discovered subdomains | | | | -active | Enable active subdomain enumeration | | | | -timeout | Timeout for passive sources in seconds | | | | -timeout-resolve | Timeout for resolver requests in seconds | | | | -sc, -source-concurrency | Number of concurrent sources | | | | -hc, -host-concurrency | Number of concurrent hosts | | | | -rate-limit | Maximum number of HTTP requests per second | | | | -all | Use all sources for enumeration | | | | -config | Path to configuration file | | | | -set-config | Set configuration values | | | | -version | Show Subfinder version | |

Verfügbare Quellen

| | Source | Description | API Key Required | | | --- | --- | --- | | | Alienvault | Open Threat Exchange | No | | | | Anubis | Subdomain data from Anubis | No | | | | Archiveis | Archive.is URL archive | No | | | | Binaryedge | Internet scanning data | Yes | | | | BufferOver | DNS data | No | | | | Censys | Internet scanning data | Yes | | | | CertSpotter | Certificate transparency logs | Yes (for better results) | | | | Chaos | Project Discovery's Chaos dataset | Yes | | | | Commoncrawl | Web crawl data | No | | | | DNSDB | Passive DNS database | Yes | | | | DNSRepo | DNS records repository | No | | | | Entrust | Certificate transparency logs | No | | | | FacebookCT | Facebook's certificate transparency logs | No | | | | GitHub | Code search | Yes (for better results) | | | | Intelx | Intelligence X data | Yes | | | | PassiveTotal | RiskIQ's passive DNS data | Yes | | | | Rapiddns | DNS records database | No | | | | Riddler | DNS records search | No | | | | SecurityTrails | DNS records database | Yes | | | | Shodan | Internet scanning data | Yes | | | | ThreatBook | Threat intelligence data | Yes | | | | ThreatMiner | Threat intelligence data | No | | | | URLScan | URL scanning service | No | | | | VirusTotal | Security service for files and URLs | Yes | | | | Waybackarchive | Internet Archive's Wayback Machine | No | | | | ZoomEye | Cyberspace search engine | Yes | |

Ressourcen

  • [offizielle Dokumentation](__LINK_3___
  • [GitHub Repository](_LINK_3__
  • [Project Discovery Discord](__LINK_3___

--

*Dieses Betrügereiblatt bietet eine umfassende Referenz für die Verwendung von Subfinder, von der Grundaufzählung bis zur fortgeschrittenen Filterung und Integration mit anderen Werkzeugen. Für die aktuellsten Informationen finden Sie immer die offizielle Dokumentation. *