In bug bounty hunting, reconnaissance is the battlefield—and automation is your tactical edge. When done right, automated recon doesn’t just save time—it uncovers vulnerabilities that others miss. I didn’t just try this. I scaled it. Optimized it. Weaponized it. And I found 100+ bugs.
Here’s how you can replicate the process.

The Problem with Manual Recon
Manual recon is slow, repetitive, and error-prone. Subdomains are missed. Passive intel is limited. And fatigue sets in. To break through, I built a system that runs 24/7, with zero manual intervention after launch.
Tool | Purpose |
---|---|
amass | Subdomain enumeration |
subfinder | Fast passive subdomain grabber |
httpx | Probe live domains |
nuclei | Vulnerability template engine |
waybackurls | Old URL discovery |
gf + qsreplace | Parametric fuzzing |
dnsx | DNS resolution |
chaos | Pull domains from bug bounty scope |
Step-by-Step Guide to Automated Recon
Here’s a practical, replicable workflow to automate recon and find bugs like a pro, inspired by tools like ARWAD and reconFTW.
1. Passive Recon with OSINT
Start with open-source intelligence (OSINT) to gather data without touching the target:
- Shodan: Find exposed databases or servers (e.g., port 27017 for MongoDB).
Example: shodan search org:example.com port:80 - Wayback Machine: Discover deleted pages or old endpoints with vulnerabilities.
Example: Use waybackurls example.com to extract archived URLs. - GitHub Leaks: Search for exposed API keys or credentials.
Example: github-search.py -k “example.com api_key”.
Pro Tip: Use tools like theHarvester for email and subdomain discovery.
2. Subdomain Enumeration
Subdomains are goldmines for bugs like takeovers or misconfigurations. Automate with:
- Subfinder: subfinder -d example.com -o subdomains.txt
- Amass: amass enum -passive -d example.com -o amass_subdomains.txt
- Combine: cat subdomains.txt amass_subdomains.txt | sort -u > all_subdomains.txt
3. Resolve and Filter Live Subdomains
Verify which subdomains are active and gather metadata:
- Httpx: httpx -l all_subdomains.txt -o live_subdomains.txt -sc -title -tech-detect
This checks for HTTP status codes, titles, and technologies (e.g., WordPress, Laravel). - Filter by Status: Extract subdomains with HTTP 200, 401, or 403 for further testing:
grep ‘\[200\]’ metadata.txt | cut -d ” ” -f 1 > 200.txt
4. Port Scanning and Service Detection
Identify open ports and services to uncover attack surfaces:
- Nmap: nmap -iL live_subdomains.txt -p 80,443,8080 -sV -oN ports.txt
Focus on common ports like 80 (HTTP), 443 (HTTPS), or 8080 (web servers). - MassDNS: For faster DNS resolution across large subdomain lists.
5. Vulnerability Scanning
Automate vulnerability detection with tools like Nuclei:
- Nuclei: nuclei -l live_subdomains.txt -t cves/ -t misconfigurations/ -o vulnerabilities.txt
Scans for XSS, SSRF, SQLi, and more. - Custom Payloads: Test for business logic flaws or specific misconfigurations (e.g., exposed Springboot Heapdump).

Automation Logic
- Target Acquisition
- Pull domains from public bug bounty programs.
- Feed them into
chaos
andsubfinder
to extract subdomains.
- Liveness Check
- Use
httpx
to validate which hosts are alive. - Eliminate dead targets early.
- Use
- Historical Discovery
- Scrape archived endpoints using
waybackurls
. - Merge them into custom wordlists.
- Scrape archived endpoints using
- Vulnerability Scanning
- Run
nuclei
with tuned templates for XSS, SSRF, IDOR, etc. - Chain
gf
+qsreplace
to test common injection points.
- Run
- Alerting & Logging
- Results logged daily.
- Notifications via Discord webhook when a critical or high is triggered.
Results: 100+ Bugs, 20+ Valid Reports
This system uncovered:
- Forgotten admin panels
- Exposed
.git
directories - Open redirects
- Misconfigured CORS headers
- Leaky endpoints from old JavaScript files
Over 20 reports were accepted by bounty platforms, and dozens of minor issues were confirmed by private programs.

Lessons Learned
- Automation ≠ Intelligence
Automated tools surface targets. You still need to investigate, validate, and exploit manually. - Templates Are Everything
Most bounty hunters runnuclei
with default templates. I built custom templates to test for program-specific flaws. - Noise Reduction Matters
Without rate-limiting and proper filtering, your scans will trigger WAFs or get you banned. - Time > Speed
I scheduled recon to run daily at off-peak hours, avoiding bans and allowing continuous passive discovery.
Scaling It Further
To make this system scalable:
- Dockerized the toolchain
- Scheduled with
cron
andscreen
- Set up
tmux
logging for long scans - Implemented email + Discord alerting
Final Word
Recon isn’t about brute force. It’s about efficient signal discovery at scale. If you want consistent wins in bug bounty programs, stop running subfinder
once a week. Build a pipeline. Automate. Iterate. And let the system do what humans can’t.