recon-osint logo

recon-osint

Comprehensive reconnaissance and OSINT — subdomain enumeration, CVE lookup, breach intelligence, DNS history, social profiling, attack surface mapping

SKILL.md

Full skill instructions

Reconnaissance & OSINT

When to Activate

  • A new engagement begins and you need a full external attack-surface map for a set of root domains / ASNs.
  • Expanding scope: pivoting from one discovered asset (subdomain, IP block, cloud account) to the rest of the estate.
  • Hunting dangling DNS / subdomain-takeover candidates, including S3 buckets referenced by CI/CD assets.
  • Building a target profile for social engineering / initial access (emails, usernames, breach + infostealer exposure).
  • Discovering leaked secrets in public GitHub/GitLab orgs and exposed cloud storage.
  • Triaging which discovered CVEs actually matter (KEV + EPSS + exposure) before weaponization.

Technique Map

TechniqueATT&CKCWEReferenceScript
Passive subdomain enum (subfinder/amass/CT logs)T1590.002, T1596.001CWE-200references/subdomain-discovery.mdscripts/recon_orchestrator.py
DNS brute / permutation / resolution (puredns/alterx/dnsx)T1595.002, T1590.002CWE-200references/subdomain-discovery.mdscripts/recon_orchestrator.py
ASN → CIDR → reverse-DNS expansionT1590.005, T1596.005CWE-200references/subdomain-discovery.mdscripts/recon_orchestrator.py
HTTP probing + tech fingerprint (httpx)T1595.002, T1592.002CWE-200references/attack-surface-mapping.mdscripts/recon_orchestrator.py
Headless crawling + archive URLs (katana/gau)T1595.002, T1593.003CWE-200references/attack-surface-mapping.mdscripts/js_secret_hunter.py
JavaScript endpoint / secret extractionT1593.003, T1552.001CWE-540references/attack-surface-mapping.mdscripts/js_secret_hunter.py
Subdomain takeover (dangling CNAME/NS)T1583.001, T1584.001CWE-350references/subdomain-takeover.mdscripts/subdomain_takeover.py
Deleted-S3 takeover → supply-chain pivotT1583.001, T1195.002CWE-350references/subdomain-takeover.mdscripts/subdomain_takeover.py
Multi-cloud bucket/blob enum (cloud_enum)T1580, T1596.005CWE-732references/cloud-saas-recon.mdscripts/cloud_asset_enum.py
Azure tenant outsider recon (AADInternals)T1590.001, T1589CWE-200references/cloud-saas-recon.mdscripts/cloud_asset_enum.py
GitHub/GitLab dorking + secret scanningT1593.003, T1213.003CWE-540references/cloud-saas-recon.mdscripts/cloud_asset_enum.py
Email/username harvesting (theHarvester)T1589.002, T1591CWE-200references/breach-credential-intel.mdscripts/breach_intel.py
Breach + infostealer credential intel (HIBP/DeHashed)T1589.001, T1596CWE-522references/breach-credential-intel.mdscripts/breach_intel.py
CVE enrichment + prioritization (NVD/EPSS/KEV)T1592.002, T1596CWE-1395references/cve-exploit-intel.mdscripts/cve_prioritizer.py
Shodan InternetDB exposure → CVE mappingT1596.005, T1595.002CWE-200references/cve-exploit-intel.mdscripts/cve_prioritizer.py

Quick Start

export DOMAIN=target.com
# 0. Validate resolvers once (puredns needs a clean list)
dnsvalidator -tL https://public-dns.info/nameservers.txt -threads 100 -o resolvers.txt

# 1. Full discovery + probe + crawl + takeover + nuclei, JSONL out (see orchestrator)
python3 scripts/recon_orchestrator.py -d $DOMAIN -o out/ --resolvers resolvers.txt --nuclei

# 2. JS/endpoint + secret hunting over live hosts
python3 scripts/js_secret_hunter.py -l out/httpx_live.txt -o out/js/

# 3. Dangling-DNS / subdomain-takeover triage
python3 scripts/subdomain_takeover.py -l out/all_subdomains.txt -o out/takeovers.jsonl

# 4. Cloud + code recon (buckets, Azure tenant, GitHub secrets)
python3 scripts/cloud_asset_enum.py -k $DOMAIN --company target --azure-domain $DOMAIN --gh-org target

# 5. People + breach/infostealer intel
python3 scripts/breach_intel.py --domain $DOMAIN --harvest --hibp --dehashed

# 6. Triage CVEs from fingerprints → KEV/EPSS/exposure ranked
python3 scripts/cve_prioritizer.py --from-httpx out/httpx_live.txt --ip-file out/ips.txt -o out/cve_ranked.jsonl

OPSEC & Detection (summary)

TechniqueTelemetry / IOCDetection (Sigma/EDR)OPSEC note
Passive enum (CT/API)None on target; queries hit 3rd-party APIsTarget cannot see it; CT-log monitoring (certstream) detects new certs onlyFully passive — prefer for stealth; no target traffic
DNS brute / resolutionBurst of NXDOMAIN/A queries to authoritative + resolversDNS firewall: high-volume distinct-label rate per source IP; Zeek dns.cc/NXDOMAIN ratioThrottle -rate, rotate resolvers, never brute a single auth NS directly
httpx / katana probingSpike of HTTP(S) requests, odd UA, favicon/JARM fetchesWAF/CDN: request-rate + UA anomaly; access-log User-Agent: *httpx*/*katana*Set custom UA, low -rl, route via proxy pool / cloud egress
Subdomain takeover checkHTTP GET to dangling host (lands on 3rd-party)3rd-party provider logs; CT for new cert on claimed hostVerify with passive fingerprint before any claim; claiming is loud
Cloud bucket enumDNS + HTTP to *.s3/blob/storage.googleapisCloud provider access logs; GuardDuty Discovery:S3/*Hits provider, not target; still rate-limited / loggable
Azure tenant reconRequests to login.microsoftonline.comEntra sign-in/audit logs do not see unauth realm probesgetuserrealm/OpenID are unauth & invisible to tenant
GitHub/GitLab dorkingAPI/search queries from your tokenGitHub audit log (only org members'); secret-scanning alertsUse a throwaway token; respect rate limits to avoid bans
Breach/infostealer lookup3rd-party API calls (HIBP/DeHashed)None on targetHandle PII per ROE/GDPR; document lawful basis
CVE enrichmentNVD/EPSS/KEV/Shodan API callsNone on targetMap exposure to in-scope assets only

Deep Dives

  • references/subdomain-discovery.md — Passive sources + CT logs, puredns/massdns resolution, alterx permutations, ASN→CIDR→PTR expansion, wildcard handling.
  • references/attack-surface-mapping.md — httpx enrichment (-td -favicon -jarm -asn), katana headless/authenticated crawling, gau/wayback archive mining, JS endpoint + secret extraction, nuclei triage of the live set.
  • references/subdomain-takeover.md — Dangling-DNS theory, can-i-take-over-xyz fingerprints, subzy/baddns/nuclei detection, the 2024-2025 deleted-S3 → CI/CD supply-chain pivot, NS-delegation takeover.
  • references/cloud-saas-recon.md — cloud_enum multi-cloud, AADInternals/MicroBurst Azure tenant + blob recon (incl. the June-2025 Get-AADIntTenantDomains patch), GrayhatWarfare, GitHub/GitLab dorking with trufflehog/gitleaks/noseyparker.
  • references/breach-credential-intel.md — theHarvester 4.x, HIBP API v3 (ALIEN TXTBASE), DeHashed, infostealer-log intel (Snowflake-style aged creds), username/email format derivation, password-pattern modeling.
  • references/cve-exploit-intel.md — NVD 2.0 API + the 2026 selective-enrichment shift, EPSS v4, CISA KEV, Shodan InternetDB, searchsploit/nuclei, the KEV×EPSS×exposure prioritization stack.