Table of Contents

Recon & Expanding Attack Surface

Run recon while doing manual testing in parallel. Don't wait for tools to finish before hacking.

Pre-Hack Research

Before touching the site:

  1. Search for disclosed bugs: site:google.com “domain.com” vulnerability
  2. Check HackerOne hacktivity and OpenBugBounty for past findings
  3. Read disclosed reports – they create leads and show what bypasses worked
  4. Sometimes you can bypass old “fixed” bugs
  5. Identify the tech stack: Wappalyzer, BuiltWith, retire.js
  6. Check for known CVEs on identified platforms

Subdomain Enumeration

amass enum -brute -active -d domain.com -o amass-output.txt
subfinder -d domain.com -o subs.txt
cat amass-output.txt subs.txt | sort -u | tee all-subs.txt
cat all-subs.txt | httprobe -p http:81 -p http:3000 -p https:8443 -c 50 | tee online.txt
cat online.txt | aquatone
cat all-subs.txt | dnsgen - | httprobe   # permutation discovery

What to Look for in Subdomains

Google Dorking

site:target.com inurl:& -movies
site:target.com inurl:register inurl:&
site:target.com inurl:login
site:target.com ext:php | ext:aspx | ext:jsp | ext:txt | ext:xml | ext:bak

GitHub / Shodan Dorking

robots.txt & Historical Files

# Scan robots.txt on every subdomain via Burp Intruder
# Historical URLs
gau target.com | sort -u > gau-urls.txt
waybackurls target.com | sort -u > wb-urls.txt

Directory & File Brute Force

ffuf -ac -v -u https://domain/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt

JS File Analysis

gau target.com | grep "\.js$" | tee js-files.txt
# Use linkfinder to extract endpoints
python3 linkfinder.py -i https://target.com/app.js -o cli

Parameter Discovery

Cert Transparency Monitoring

curl https://certspotter.com/api/v0/certs?domain=domain.com

Custom Wordlists

See Also