Subdomain Enum

v1.0.0

Enumerate subdomains for any domain using DNS brute-force and certificate transparency logs (crt.sh). Use when a user needs to discover subdomains, perform r...

0· 301· 1 versions· 1 current· 1 all-time· Updated 2h ago· MIT-0
byJohn Wang@johnnywang2001

Subdomain Enumerator

Discover subdomains for any domain using two complementary techniques: DNS brute-force resolution and certificate transparency log mining via crt.sh.

Quick Start

python3 scripts/subenum.py example.com

Commands

# Basic enumeration (built-in wordlist + crt.sh)
python3 scripts/subenum.py example.com

# Custom wordlist
python3 scripts/subenum.py example.com --wordlist /path/to/wordlist.txt

# Faster with more threads
python3 scripts/subenum.py example.com --threads 20

# DNS only (skip crt.sh)
python3 scripts/subenum.py example.com --no-crtsh

# JSON output
python3 scripts/subenum.py example.com --json

# Save results to file
python3 scripts/subenum.py example.com --output subdomains.txt

# Verbose progress
python3 scripts/subenum.py example.com -v

Options

FlagDefaultDescription
--wordlist, -wbuilt-in (~120 words)Custom wordlist file
--threads, -t10Concurrent DNS resolution threads
--timeout15HTTP timeout for crt.sh query
--no-crtshoffSkip certificate transparency lookup
--jsonoffOutput as JSON
--output, -oWrite results to file
--verbose, -voffShow progress during scan

Techniques

  1. DNS Brute-force — Resolves {word}.{domain} against DNS for each word in the wordlist. Returns IP addresses for live subdomains.
  2. Certificate Transparency (crt.sh) — Queries public CT logs for certificates issued to *.domain, revealing subdomains that may not respond to DNS but have had TLS certificates.

Dependencies

pip install requests

Notes

  • Built-in wordlist covers common subdomains (www, api, mail, staging, etc.)
  • For comprehensive scans, use a larger wordlist (e.g., SecLists DNS wordlists)
  • Results are deduplicated across sources
  • Use responsibly — only scan domains you own or have authorization to test

Version tags

latestvk97e6msw5tdmxwmvpfq0582vdh82q0zk