πŸ›‘οΈ Methodology Checklist

  • Define scope: IPs, domains, CIDRs, out-of-scope exclusions
  • Run passive recon tools first (no direct target contact): WHOIS, crt.sh, Shodan
  • Run active discovery: Nmap ping sweep + port scan on scope
  • Enumerate web services: Gobuster, FFuF, EyeWitness
  • Subdomain brute-force: amass, subfinder, dnsx
  • Aggregate all findings into organised loot structure
  • Feed results into vulnerability scanner (Nessus/OpenVAS)
  • Review and triage scan output before manual testing

🎯 Operational Context

Think Dumber First: Automated recon tools accelerate coverage but miss context β€” always manually review the output. Tools like ReconFTW chain passive OSINT β†’ subdomain enumeration β†’ port scanning β†’ web fingerprinting automatically. Run automation as a background baseline while manually investigating the most interesting initial findings.

When you land here: Large scope with many targets. Define scope clearly before running automation. Use automation for breadth, manual techniques for depth. Key workflow: passive first (no traffic to target) β†’ active enumeration β†’ service-specific probing.


⚑ Tactical Cheatsheet

CommandTactical Outcome
python3 finalrecon.py --full --url http://[DOMAIN] | tee finalrecon_full.log &Run full recon in background, save log
python3 finalrecon.py --sub --url http://[DOMAIN]Subdomain enumeration only
python3 finalrecon.py --dir --url http://[DOMAIN]Directory brute-forcing only
python3 finalrecon.py --crawl --url http://[DOMAIN]Spider target
python3 finalrecon.py --wayback --url http://[DOMAIN]Fetch Wayback Machine URLs
recon-ngLaunch Recon-ng framework
workspaces add [PROJECT]Create isolated workspace in Recon-ng
db insert domainsAdd target domain to Recon-ng DB
marketplace search [KEYWORD]Find modules in Recon-ng
marketplace install [MODULE]Install module
modules load [MODULE] β†’ runExecute module
echo "[TARGET_IP] [DOMAIN]" | sudo tee -a /etc/hostsPre-scan: map domain to IP
nmap -sC -sV -oA nmap_scan [DOMAIN]Parallel Nmap while automation runs

πŸ”¬ Deep Dive & Workflow

Pre-Scan Setup (Critical)

Before any automation:

# Map domain to IP
echo "[TARGET_IP] [DOMAIN]" | sudo tee -a /etc/hosts
 
# Create workspace
mkdir Recon_Target && cd Recon_Target

FinalRecon Flags

FlagDescription
--fullRuns ALL modules: Headers, SSL, Whois, DNS, Subdomains, Crawling
--subSubdomain enumeration
--dirDirectory brute-force
--crawlSpider target
--waybackWayback Machine URL harvesting

Golden command: python3 finalrecon.py --full --url http://[DOMAIN] | tee finalrecon_full.log &

  • | tee saves to file AND shows on screen
  • & puts in background β†’ terminal returned immediately
  • Check dumps/[DOMAIN]/ for structured output files

Recon-ng Workflow

  1. recon-ng
  2. workspaces add [project] β€” isolates target data
  3. db insert domains β†’ enter domain
  4. marketplace search [keyword] β†’ find modules
  5. marketplace install [module] β†’ install
  6. modules load [module] β†’ run

Phase 3: Parallel Manual Checks (While Automation Runs)

While FinalRecon runs (10-20 min), immediately do:

  1. Manual browse β†’ Wappalyzer, copyright dates, β€œPowered By” footers
  2. curl http://[DOMAIN]/robots.txt β†’ note Disallow paths
  3. curl https://[DOMAIN]/.well-known/security.txt β†’ internal emails
  4. Separate tab: nmap -sC -sV -oA nmap_scan [DOMAIN]

Troubleshooting FinalRecon

  • AttributeError: top_domain_under_public_suffix β†’ edit finalrecon.py line ~201: change .top_domain_under_public_suffix β†’ .registered_domain
  • Tool crashes? β†’ Don’t get stuck. Switch to manual:
    • Subdomains: gobuster dns -d [DOMAIN] -w [WORDLIST]
    • Directories: feroxbuster -u http://[DOMAIN]
    • Vulns: nikto -h http://[DOMAIN]

CPTS Golden Rule: Never let a broken tool stop your exam. If automation fails, switch to manual immediately. Documentation > perfect tooling.


πŸ› οΈ Troubleshooting & Edge Cases

ProblemCauseFix
ReconFTW or similar tool times out on large scopeToo many targets for single tool runSplit by subnet or domain; run tool with --passive first, then --active in phases
Automated scan hits rate limit on OSINT APIsAPI key exhaustion or rate limit reachedRegister free API keys for Shodan, Censys, SecurityTrails; configure in tool’s config file
Automation misses custom/internal subdomainsPublic OSINT only, internal DNS not queriedCombine passive automation with active DNS brute-force against discovered DNS servers
Tool produces duplicate results across multiple runsNo deduplication built into toolPipe output through sort -u; maintain a master hosts.txt with deduplication enforced
Automated web scan triggers WAF and IPs get blockedToo aggressive scan rateConfigure tool’s delay settings; use rotating proxies if available; reduce thread count

πŸ“ Reporting Trigger

Finding Title: (Automating recon is operational methodology β€” document tools used, scope covered, and any access denied or rate-limited resources in the methodology section. Individual findings from automated tools become separate report entries.)