subdomain-enumeration
Agent skill fromuphiago/recon-skills
Map subdomains via crt.sh and subfinder at recon kickoff.
How to install subdomain-enumeration
install subdomain-enumeration
# install the recon-skills pack with the skills CLI
npx skills add uphiago/recon-skills# or add only this skill to Claude Code: copy the folder
recon/subdomain-enumeration/
# into
~/.claude/skills/subdomain-enumeration/ (all projects)
.claude/skills/subdomain-enumeration/ (one project)
1# Subdomain Enumeration Skill23Comprehensive subdomain discovery using certificate transparency logs (crt.sh), DNS brute force, and passive sources. The first step in any recon pipeline — you can't attack what you don't know exists. Subdomain enumeration consistently reveals staging environments, internal admin panels, API gateways, and forgotten WordPress installs that are softer targets than the production site.45## When to Use67- Starting recon on any target domain.8- Production site is well-secured — find softer entry points.9- After `skill_view(name='wp-mass-recon')` — enumerate subdomains for each WordPress target.10- Building a complete asset inventory for a target organization.1112## Prerequisites1314- `curl`, `httpx`, `dig`, `jq`, `dnsx`, and `subfinder`.15- A DNS brute-force wordlist, supplied by the operator.16- Approval to disclose the domain to third-party passive sources such as crt.sh, crt.name, and subfinder providers.1718## How to Run1920```bash21DOMAIN="${1:-example.com}"22OUTPUT_ROOT="${OUTPUT_DIR:-./output}"23OUTDIR="$OUTPUT_ROOT/subdomains/$DOMAIN"2425if [[ ! "$DOMAIN" =~ ^[A-Za-z0-9.-]+$ ]]; then26 echo "Invalid domain: $DOMAIN" >&227 exit 228fi2930mkdir -p "$OUTDIR"3132# Passive: crt.sh (retry: it frequently returns 502 while its database refreshes)33for attempt in 1 2 3; do34 curl -fsS --max-time 30 --connect-timeout 10 \35 "https://crt.sh/?q=%25.$DOMAIN&output=json" -o "$OUTDIR/crtsh_raw.json" && break36 sleep 1537done38…
Excerpt shown under the repository's MIT license.
