subfinder
Discover subdomains of a target domain using passive and active enumeration techniques. Use when tasks involve subdomain enumeration, attack surface mapping, DNS reconnaissance, finding hidden services, identifying forgotten subdomains, or expanding the scope of a security assessment. Subfinder uses passive sources (certificate transparency logs, DNS datasets, search engines) to find subdomains without touching the target directly.
What this skill does
# Subfinder ## Overview Discover subdomains of a target domain using passive sources. Subfinder queries certificate transparency logs, DNS datasets, search engines, and other OSINT sources to enumerate subdomains without directly touching the target infrastructure. ## Instructions ### Installation ```bash # Go install (requires Go 1.21+) go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest # Or download binary # https://github.com/projectdiscovery/subfinder/releases # Or Docker docker pull projectdiscovery/subfinder:latest ``` ### Basic Usage ```bash # Enumerate subdomains for a single domain subfinder -d example.com # Multiple domains subfinder -d example.com,example.org # From a file of domains subfinder -dL domains.txt # Output to file subfinder -d example.com -o subdomains.txt # JSON output (includes source information) subfinder -d example.com -oJ -o subdomains.json ``` ### Configuration ### API keys for better results Subfinder works without API keys but returns significantly more results with them. Configure in `~/.config/subfinder/provider-config.yaml`: ```yaml # ~/.config/subfinder/provider-config.yaml # Add API keys for passive sources to dramatically increase results binaryedge: - your-binaryedge-api-key # https://app.binaryedge.io censys: - your-censys-api-id:api-secret # https://search.censys.io/account/api chaos: - your-chaos-api-key # https://chaos.projectdiscovery.io github: - your-github-token # Personal access token (public repos scope) shodan: - your-shodan-api-key # https://account.shodan.io securitytrails: - your-securitytrails-key # https://securitytrails.com/app/account virustotal: - your-virustotal-api-key # https://www.virustotal.com/gui/my-apikey # Free sources that don't need keys: # Certificate Transparency (crtsh), DNSdumpster, HackerTarget, # Wayback Machine, AlienVault OTX, RapidDNS ``` ### Source selection ```bash # Use all sources (default) subfinder -d example.com -all # Use only specific sources subfinder -d example.com -s crtsh,dnsdumpster,hackertarget # Exclude noisy sources subfinder -d example.com -es github # List available sources subfinder -ls ``` ### Advanced Usage ### Recursive enumeration Find subdomains of subdomains (e.g., dev.api.example.com): ```bash # Enable recursive mode — finds deeper subdomains subfinder -d example.com -recursive # Limit recursion depth subfinder -d example.com -recursive -max-depth 3 ``` ### Filtering and processing ```bash # Show only results from specific sources subfinder -d example.com -cs # Show source for each subdomain # Pipe to other tools for validation subfinder -d example.com -silent | httpx -silent # Check which are live subfinder -d example.com -silent | dnsx -silent # Resolve DNS subfinder -d example.com -silent | naabu -silent # Port scan # Rate limiting (respect API limits) subfinder -d example.com -rate-limit 5 # 5 requests/second max subfinder -d example.com -t 10 # 10 concurrent threads ``` ### Integration with other recon tools ```bash # Full recon pipeline: # 1. Find subdomains subfinder -d target.com -o subs.txt # 2. Check which are live (httpx) cat subs.txt | httpx -silent -status-code -title -o live.txt # 3. Screenshot live hosts (gowitness) cat live.txt | gowitness file -f - # 4. Port scan discovered hosts (naabu) cat subs.txt | naabu -silent -top-ports 1000 -o ports.txt # 5. Run vulnerability scan (nuclei) cat live.txt | nuclei -t cves/ -severity critical,high -o vulns.txt ``` ### Passive vs Active Enumeration Subfinder is passive by default — it queries third-party data sources, NOT the target: ``` PASSIVE (subfinder default) — safe, stealthy ├── Certificate Transparency logs (crt.sh, Google CT) ├── DNS aggregation (SecurityTrails, DNSdumpster) ├── Search engines (Google, Bing dorking) ├── Threat intelligence (Shodan, Censys, BinaryEdge) └── Internet archives (Wayback Machine) ACTIVE (use additional tools) — touches the target ├── DNS brute-forcing (shuffledns, puredns) ├── DNS zone transfers (dig axfr) ├── Virtual host discovery (ffuf -H "Host: FUZZ.target.com") └── TLS/SSL cert inspection (direct connection) ``` For authorized pentests, combine both: subfinder for passive discovery, then active brute-forcing for what passive sources missed. ### Interpreting Results Common subdomain patterns and what they reveal: ``` admin.example.com → Admin panel (high-value target) staging.example.com → Staging environment (often less secured) dev.example.com → Development server (may have debug enabled) api.example.com → API endpoint (test for auth bypass) old.example.com → Legacy application (likely unpatched) vpn.example.com → VPN gateway (credential attacks) mail.example.com → Mail server (phishing target) jenkins.example.com → CI/CD (code execution potential) grafana.example.com → Monitoring (information disclosure) *.s3.amazonaws.com → S3 buckets (check for public access) ``` Prioritize targets: admin panels, staging environments, and legacy hosts are the highest-value findings because they're often less secured than production. ## Examples ### Map the attack surface of a target domain ```prompt Run subdomain enumeration on our domain example.com using subfinder. Find all subdomains, check which ones are live with httpx, identify the web technologies with whatweb, and produce a prioritized target list. Flag any staging, development, or admin subdomains as high-priority. Include the source for each subdomain so we know which passive sources are most valuable for this target. ``` ### Find forgotten or shadow IT subdomains ```prompt Our company has 5 registered domains. Enumerate all subdomains across all of them, cross-reference with our known asset inventory (list provided), and identify any subdomains we don't recognize — potential shadow IT or forgotten services. For each unknown subdomain, check if it's live, what it's running, and whether it has a valid TLS certificate. ``` ### Set up continuous subdomain monitoring ```prompt Build a subdomain monitoring pipeline that runs weekly on our 3 primary domains. It should compare results against the previous week's baseline, alert on new subdomains (potential new attack surface or subdomain takeover), and generate a diff report. Store historical data for trend analysis. Use subfinder for enumeration and httpx for liveness checks. ``` ## Guidelines - Only run against domains you have explicit written authorization to test - Passive enumeration (subfinder default) does not touch the target, but active tools like httpx and naabu do — ensure they are in scope - Configure API keys for better coverage — free sources alone miss many subdomains - Use rate limiting (`-rate-limit`) to avoid overwhelming third-party data sources - Validate findings before reporting — some passive sources return stale or incorrect data - Combine with active DNS brute-forcing (puredns, shuffledns) for comprehensive coverage on authorized engagements
Related in Security
mac-ops
IncludedComprehensive macOS workstation operations — diagnose kernel panics, identify failing drives, audit launchd startup items, decode wake reasons, triage TCC permission denials, manage APFS snapshots, recover from no-boot. Use for: Mac is slow, slow bootup, won't boot, kernel panic, kernel_task hot, mds_stores CPU, photoanalysisd, cloudd, login loop, gray screen, sleep wake failure, drive failing, IO errors, APFS snapshots eating space, Time Machine local snapshots, Spotlight indexing, launchd, LaunchAgent, LaunchDaemon, login items, TCC permissions, Full Disk Access, Screen Recording denied, Gatekeeper, quarantine, com.apple.quarantine, app is damaged, helper tool, /Library/PrivilegedHelperTools, pmset, wake reasons, dark wake, sysdiagnose, panic.ips, DiagnosticReports, configuration profile, MDM profile, remote diagnostics over SSH.
a11y-audit
IncludedRun accessibility audits on web projects combining automated scanning (axe-core, Lighthouse) with WCAG 2.1 AA compliance mapping, manual check guidance, and structured reporting. Output is configurable: markdown report only, markdown plus machine-readable JSON, or markdown plus issue tracker integration. Use this skill whenever the user mentions "accessibility audit", "a11y audit", "WCAG audit", "accessibility check", "compliance scan", or asks to check a web project for accessibility issues. Also trigger when the user wants to verify WCAG conformance or map findings to a specific standard (CAN-ASC-6.2, EN 301 549, ADA/AODA).
erpclaw
IncludedAI-native ERP system with self-extending OS. Full accounting, invoicing, inventory, purchasing, tax, billing, HR, payroll, advanced accounting (ASC 606/842, intercompany, consolidation), and financial reporting. 413 actions across 14 domains, 43 expansion modules. Constitutional guardrails, adversarial audit, schema migration. Double-entry GL, immutable audit trail, US GAAP.
assess
IncludedAssesses and rates quality 0-10 across multiple dimensions (correctness, maintainability, security, performance, testability, simplicity) with pros/cons analysis. Compares against project conventions and prior decisions from memory. Produces structured evaluation reports with actionable improvement suggestions. Use when evaluating code, designs, architectures, or comparing alternative approaches.
spring-boot-security-jwt
IncludedProvides JWT authentication and authorization patterns for Spring Boot 3.5.x covering token generation with JJWT, Bearer/cookie authentication, database/OAuth2 integration, and RBAC/permission-based access control using Spring Security 6.x. Use when implementing authentication or authorization in Spring Boot applications.
code-hardcode-audit
IncludedDetect hardcoded values, magic numbers, and leaked secrets. TRIGGERS - hardcode audit, magic numbers, PLR2004, secret scanning.