Skip to main content

recon-hunter

Full-stack recon-to-bug master skill. Runs passive + active recon, attack surface mapping, and bug discovery in one continuous 16-phase pipeline — all phases in order, zero skips. Triggers on: "recon", "enumerate", "subdomain", "find bugs", "attack surface", "map the target", "what's exposed", "scan this", or any domain/IP handed without further instruction. Produces a ranked finding list with PoC curl commands. Use for unauthenticated coverage before any authenticated testing begins.

معلومات المصدر

المستودع
pruthuraut/BB-skill
آخر نشاط في المصدر
٥ أكتوبر ٢٠٢٦ في ١٧:٣١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
recon-hunter
description
Full-stack recon-to-bug master skill. Runs passive + active recon, attack surface mapping, and bug discovery in one continuous 16-phase pipeline — all phases in order, zero skips. Triggers on: "recon", "enumerate", "subdomain", "find bugs", "attack surface", "map the target", "what's exposed", "scan this", or any domain/IP handed without further instruction. Produces a ranked finding list with PoC curl commands. Use for unauthenticated coverage before any authenticated testing begins.
version
1.0.0
author
Bug Bounty Multi-Agent Skills Framework
compatibility
["Antigravity / Gemini CLI","Claude Code","Cursor IDE","OpenAI Codex / OpenCode","DeepSeek"]
# RECON-HUNTER — Full Recon + Bug Discovery Pipeline **One rule: impact first. Only report what an attacker can abuse RIGHT NOW.** Kill theoretical findings before they reach the report. ``` [ TARGET ROOT DOMAIN / IP ] │ ┌──────────────────────────────────────────┴──────────────────────────────────────────┐ ▼ ▼ [ PHASE 01-04: PERIMETER & HOST MAPPING ] [ PHASE 05-08: URLS, CRAWL & JAVASCRIPT ] • Phase 01: Passive Subdomain Enumeration (zero-touch) • Phase 05: Historical URL Collection & Juicy Probing • Phase 02: DNS Resolution & httpx Fingerprint Pass • Phase 06: Active Multi-Engine Crawl (Katana/GoSpider) • Phase 03: Non-CDN Port Scanning & Service Probing • Phase 07: Target-Derived Directory & Endpoint Fuzzing • Phase 04: Subdomain Takeover & CNAME Dangling Audit • Phase 08: JavaScript Analysis, SSR State & Secrets │ │ └──────────────────────────────────────────┬──────────────────────────────────────────┘ ▼ ┌──────────────────────────────────────────┴──────────────────────────────────────────┐ ▼ ▼ [ PHASE 09-12: VULNERABILITY & EXPOSURE ] [ PHASE 13-16: PROTOCOLS, SUPPLY & TRIAGE ] • Phase 09: Nuclei Automated Vulnerability Scan • Phase 13: SSRF Entry Point Parameter Mining & OOB • Phase 10: Cloud Storage & Firebase Bucket Permutation • Phase 14: GraphQL Discovery & Schema Introspection • Phase 11: Source Code, VCS & 21 Sensitive Configs • Phase 15: Org Secret Hunt & Dependency Confusion • Phase 12: CORS Origin Reflection & Credential Audit • Phase 16: Headless Screenshotting & Visual Triage │ │ └──────────────────────────────────────────┬──────────────────────────────────────────┘ ▼ [ CONSOLIDATED FINDINGS TRIAGE ] • CRITICAL / HIGH / MEDIUM / SSRF • 60-Second Copyable PoC Curl Standard • 16-Phase Completed Coverage Ledger ``` --- ## Master Skill Delegation Architecture While `recon-hunter` coordinates the rapid 16-phase pipeline end-to-end, each phase maps directly to our specialized framework skills: | Phase | Title | Primary Engine / Commands | Specialized Skill Reference | |---|---|---|---| | **Phase 01** | Passive Subdomain Enum | `crt.sh`, `subfinder`, `amass`, `chaos`, `cero`, `github-subdomains` | [subdomainenum](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/subdomainenum/SKILL.md) | | **Phase 02** | DNS Resolution & Tech Detect | `dnsx`, `httpx -title -tech-detect -cdn -follow-redirects` | [techfingerprint](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/techfingerprint/SKILL.md) | | **Phase 03** | Port Scan & Services | `naabu` (non-CDN), `nmap -sV`, unauth service verification | [techfingerprint](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/techfingerprint/SKILL.md) | | **Phase 04** | Subdomain Takeover | `nuclei -t takeovers/`, `subjack`, 11 signature grep loop | [subdomainenum](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/subdomainenum/SKILL.md) | | **Phase 05** | Historical URLs & Juicy Files | `waybackurls`, `gau`, `waymore`, juicy extension `httpx -mc 200` | [contentdiscovery](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/contentdiscovery/SKILL.md) | | **Phase 06** | Active Web Crawl | `katana -jc -jsl -d 5 -kf all -aff`, `gospider`, `hakrawler` | [linkparamdiscovery](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/linkparamdiscovery/SKILL.md) | | **Phase 07** | Directory & Endpoint Fuzzing | Target-derived wordlist (`unfurl`), `ffuf -ac`, API fuzzing | [contentdiscovery](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/contentdiscovery/SKILL.md) | | **Phase 08** | JS Analysis & Secret Extraction| `js-beautify`, `trufflehog`, `gitleaks`, live token validation | [jsrecon](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/jsrecon/SKILL.md) | | **Phase 09** | Nuclei Automated Vulnerability| `nuclei -severity critical,high,medium`, priority exposures | [contentdiscovery](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/contentdiscovery/SKILL.md) | | **Phase 10** | Cloud Storage & Buckets | Multi-cloud S3/GCS/Azure permutations, Firebase RTDB shallow | [cloud-supplychain](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/cloud-supplychain/SKILL.md) | | **Phase 11** | Source Code & Config Exposure | `.git/config`, `.env`, Spring actuators, 21 sensitive paths | [contentdiscovery](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/contentdiscovery/SKILL.md) | | **Phase 12** | CORS Origin Reflection | Arbitrary origin, `Origin: null`, `Allow-Credentials: true` | [api-security](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/api-security/SKILL.md) | | **Phase 13** | SSRF Entry Point Discovery | Regex parameter filtering, Out-Of-Band interactsh verification | [ssrf-audit](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/ssrf-audit/SKILL.md) | | **Phase 14** | GraphQL Discovery & Schema | `{__typename}` probe, full schema introspection dump | [api-security](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/api-security/SKILL.md) | | **Phase 15** | Org Secrets & Supply Chain | `trufflehog github --org`, npm package registry 404 audit | [cloud-supplychain](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/cloud-supplychain/SKILL.md) | | **Phase 16** | Screenshot & Visual Triage | `gowitness file -f subs/live_http.txt --resolution 1280x800` | [techfingerprint](file:///c:/Users/rautp/Documents/BBskill/.agents/skills/techfingerprint/SKILL.md) | --- ## PHASE 0 — Setup ```bash T="<target_apex_domain>" # Set apex domain OUT="artifacts/recon_${T}" mkdir -p "$OUT"/{subs,urls,js,ports,screenshots,findings,cloud} ``` --- ## PHASE 1 — Passive Subdomain Enumeration (zero-touch) Goal: maximum breadth before touching target infrastructure. ```bash # 1. Certificate transparency curl -s "https://crt.sh/?q=%25.$T&output=json" \ | jq -r '.[].name_value' | sed 's/\*\.//g' | sort -u >> "$OUT/subs/raw.txt" # 2. subfinder (all sources) subfinder -d "$T" -all -silent >> "$OUT/subs/raw.txt" # 3. amass passive amass enum -passive -d "$T" -o "$OUT/subs/amass.txt" 2>/dev/null cat "$OUT/subs/amass.txt" >> "$OUT/subs/raw.txt" # 4. chaos (ProjectDiscovery dataset) chaos -d "$T" -silent 2>/dev/null >> "$OUT/subs/raw.txt" # 5. github-subdomains (requires GITHUB_TOKEN env) github-subdomains -d "$T" -t "$GITHUB_TOKEN" -o "$OUT/subs/github.txt" 2>/dev/null cat "$OUT/subs/github.txt" >> "$OUT/subs/raw.txt" # 6. cero (TLS SAN scraping) cero "$T" 2>/dev/null >> "$OUT/subs/raw.txt" # Deduplicate sort -u "$OUT/subs/raw.txt" -o "$OUT/subs/all.txt" wc -l "$OUT/subs/all.txt" ``` **Bug signals during enumeration:** - Subdomains matching `*.s3.amazonaws.com`, `*.pages.dev`, `*.netlify.app`, `*.github.io`, `*.azurewebsites.net`, `*.vercel.app` -> *queue for takeover check (Phase 4)* - `dev-`, `staging-`, `internal-`, `admin-`, `api-` prefixes -> *high-value targets, prioritize* --- ## PHASE 2 — DNS Resolution + Live Host Discovery ```bash # Resolve all subs to live IPs dnsx -l "$OUT/subs/all.txt" -resp -a -cname -silent -o "$OUT/subs/resolved.txt" cat "$OUT/subs/resolved.txt" | awk '{print $1}' > "$OUT/subs/live_hosts.txt" # httpx — full fingerprint pass httpx -l "$OUT/subs/live_hosts.txt" \ -title -tech-detect -status-code -content-length \ -ip -cdn -cname -follow-redirects \ -mc 200,201,204,301,302,307,401,403,404,500 \ -o "$OUT/subs/httpx.json" -j -silent # Extract live HTTP hosts cat "$OUT/subs/httpx.json" | jq -r '.url' > "$OUT/subs/live_http.txt" wc -l "$OUT/subs/live_http.txt" ``` **Bug signals:** - `401`/`403` on `admin.*`, `internal.*`, `api.*` -> *queue for 403 bypass* - `500` responses -> *server errors, potential injection surface* - CDN=false + IP exposed -> *origin IP bypass candidate* - `tech-detect` shows old versions -> *CVE check queue* --- ## PHASE 3 — Port Scanning + Service Discovery Run only against non-CDN IPs (CDN scanning is wasteful and often out-of-scope). ```bash # Extract non-CDN IPs from httpx output cat "$OUT/subs/httpx.json" | jq -r 'select(.cdn==false) | .host' | sort -u > "$OUT/ports/ips.txt" # Fast port scan — top 1000 + common web/service ports naabu -l "$OUT/ports/ips.txt" -top-ports 1000 \ -p 80,443,8080,8443,8888,9000,9200,9300,5601,3000,3001,4000,5000,6379,27017,5432,3306,2375,2376 \ -o "$OUT/ports/open.txt" -silent # Service banner + version (nmap on open ports only) nmap -iL "$OUT/ports/open.txt" -sV --open -T4 \ --script=banner,http-title,http-server-header \ -oN "$OUT/ports/nmap.txt" -oX "$OUT/ports/nmap.xml" 2>/dev/null ``` **High-value service signals -> immediate bug checks:** | Service | Port | Unauthenticated Impact Probe Command | |---|---|---| | **Elasticsearch** | 9200/9300 | `curl -sk http://IP:9200/_cat/indices?v` | | **Kibana** | 5601 | `curl -sk http://IP:5601/api/status` | | **Redis** | 6379 | `redis-cli -h IP ping` | | **MongoDB** | 27017 | `mongo --host IP --eval "db.adminCommand('listDatabases')"` | | **Docker API** | 2375/2376 | `curl -sk http://IP:2375/v1.41/containers/json` | | **Kubernetes** | 6443/10250 | `curl -sk https://IP:10250/pods -k` | | **Spring Actuator** | 8080/8443 | `curl -sk http://HOST/actuator` | | **Prometheus** | 9090 | `curl -sk http://HOST:9090/metrics` | | **Grafana** | 3000 | Default `admin:admin` login | | **Jenkins** | 8080 | `curl -sk http://HOST:8080/api/json` | --- ## PHASE 4 — Subdomain Takeover Check ```bash # 1. nuclei takeover templates against all live hosts nuclei -l "$OUT/subs/live_http.txt" \ -t http/takeovers/ \ -severity medium,high,critical \ -o "$OUT/findings/takeovers.txt" -silent # 2. subjack for CNAME-based takeover subjack -w "$OUT/subs/all.txt" -t 100 -timeout 30 \ -o "$OUT/findings/subjack.txt" -ssl 2>/dev/null # 3. Real-time fingerprint grep loop for host in $(cat "$OUT/subs/live_http.txt"); do body=$(curl -sk --max-time 6 "$host") for sig in "There isn't a GitHub Pages site here" \ "The specified bucket does not exist" \ "NoSuchBucket" \ "Repository not found" \ "Project not found" \ "Fastly error: unknown domain" \ "This shop is currently unavailable" \ "Domain not configured" \ "404 Not Found" \ "You're Almost There" \ "a Netlify site"; do echo "$body" | grep -qi "$sig" && echo "[TAKEOVER?] $host — $sig" | tee -a "$OUT/findings/takeovers.txt" done done ``` --- ## PHASE 5 — Historical URL Collection + Secret Hunting in URLs ```bash # Collect historical URLs — three sources for host in $(cat "$OUT/subs/live_hosts.txt"); do echo "$host" | waybackurls 2>/dev/null >> "$OUT/urls/all.txt" echo "$host" | gau --subs 2>/dev/null >> "$OUT/urls/all.txt" waymore -i "$host" -mode U -oU /tmp/wm.txt 2>/dev/null cat /tmp/wm.txt >> "$OUT/urls/all.txt" done
عرض على GitHub
ملف SKILL.md هذا كبير جدا، لذلك يعرض SkillsMP القسم الاول فقط هنا. عرض على GitHub