Understanding Reconnaissance: Finding the Unseen

Step 1 -> Asset Discovery (Domains & Subdomains)

Tools: Subfinder + DNSx

# Find subdomains and resolve them
subfinder -d target.com -o subdomains.txt
dnsx -l subdomains.txt -a -resp-only -o resolved.txt

Use shosubgo to extract subdomains from Shodan.

Step 2 -> Probing & Port Scanning

Tools: Naabu + Httpx

naabu -l resolved.txt -p -top-1000 -o ports.txt
httpx -l resolved.txt -title -tech-detect -status-code -o livehosts.txt

Add -web-server in httpx to fingerprint web servers.

Step 3 -> Tech Stack & Framework Detection

Why? Knowing whether the app runs WordPress, Laravel, NGINX, Apache, etc. helps you focus on relevant attack vectors.

Step 4 -> Crawl & Endpoint Discovery

Tools: Katana + Gau

katana -u https://target.com -js-crawl -o endpoints.txt
gau target.com | tee gau.txt

Combine outputs and filter for unique parameters.

Step 5 -> Parameter & Secret Hunting

Tools: GF Patterns

# Extract juicy parameters
gf xss gau.txt > xss-params.txt

👉 Look for parameters like: redirect=, url=, file=, callback= – these are often goldmines.

Step 6 -> JavaScript Recon

Tool: GetJS

getJS --url https://target.com --output jsurls.txt

Inside JavaScript you might find:

  • API endpoints
  • Secrets/tokens
  • Internal links
  • Hidden paths

Step 7 -> CDN, WAF, and DNS Intel

Understanding CDN/WAF configurations helps you:

  • Confirm if requests reach the origin server.
  • Plan rate-limit bypasses.
  • Detect misconfigured edge services.

Advanced Recon & Automation

Once you master the basics, you can scale your recon with automation + AI-powered fingerprinting.

Advanced Asset Discovery

# Parallel subdomain enumeration
subfinder -d target.com -silent | anew subs.txt 
assetfinder -subs-only target.com | anew subs.txt
amass enum -passive -d target.com | anew subs.txt
curl -s "https://crt.sh/?q=%25.target.com&output=json" | jq -r '.[].name_value' | anew subs.txt

# Filter CDNs/WAFs
dnsx -l subs.txt -resp -silent | grep -ivf cdn_providers.txt | anew resolved.txt

Pro Tools: Chaos, Shodan, Commonspeak2

ReconX: Automation Script Example

Here’s a simple automation script that combines multiple steps into one flow:

#!/bin/bash
# ReconX: Autonomous Recon Engine
target=$1
mkdir -p $target/{recon,js,cloud,exploits}

# Phase 1: Asset Mapping
subfinder -d $target -silent | anew $target/recon/subs.txt
amass enum -passive -d $target | httpx -jarm -asn | tee $target/recon/live_jarm.txt
nuclei -l $target/recon/live_jarm.txt -t ~/nuclei-templates/ -es info -o $target/recon/nuclei_tech.txt

# Phase 2: JS Intel
getJS --url-file $target/recon/live_jarm.txt --output $target/js/js_urls.txt
python3 SecretFinder.py -i $target/js/js_urls.txt -o $target/js/secrets.json

# Phase 3: Attack Surface Expansion
waymore -i $target -o $target/recon/waymore  
gf xss $target/recon/waymore/waymore.txt | qsreplace -a | dalfox pipe --silence

This script helps you automate common recon steps and keeps your findings well-organized.

Final Thoughts

Reconnaissance isn’t about running a single command – it’s a process. The more disciplined and creative you are in mapping your target, the better your chances of finding high-value bugs.

Always remember: Tools don’t find bugs. Hackers do.