Automated reconnaissance lifecycle for penetration testing and bug bounty hunting
Installation β’ Quick Start β’ Features β’ API Keys β’ Usage
- Overview
- Features
- Architecture
- Installation
- API Keys Configuration
- Quick Start
- Usage Examples
- Modules
- Output Formats
- Troubleshooting
ReconX is a Linux-based, terminal-driven reconnaissance and vulnerability assessment framework designed for penetration testers and bug bounty hunters. It automates the full reconnaissance lifecycle from passive information gathering to active vulnerability scanning.
β
Modular Design - Six specialized modules for comprehensive reconnaissance
β
API Optional - Works perfectly without API keys using 7+ free sources
β
Flexible Intensity - 5 robustness levels from quick to aggressive
β
Bug Bounty Safe - Dedicated mode with rate limiting and safe defaults
β
Multi-Format Reports - Export to MD, HTML, JSON, CSV, or PDF
β
Interactive & CLI - Menu-driven interface or command-line operation
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ReconX Feature Stack β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β π‘ Passive Recon β Subdomain enumeration (10+ tools) β
β π DNS Analysis β Zone transfers, DNSSEC, records β
β π Active Scanning β Port scanning, service detection β
β π Web Discovery β Directory fuzzing, tech detection β
β π Enumeration β CMS detection, WordPress/Joomla β
β π‘οΈ Vuln Assessment β Nuclei templates, CVE scanning β
β π Reporting β 5 export formats with metrics β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Level | Name | Description | Tools Used | Speed |
|---|---|---|---|---|
| 1 | Quick | Fast basic scan | Subfinder, crt.sh | β‘β‘β‘ |
| 2 | Light | Standard recon | +Assetfinder, APIs | β‘β‘ |
| 3 | Normal | Balanced approach | +Amass, passive DNS | β‘ |
| 4 | Thorough | Deep enumeration | +All sources, brute | π |
| 5 | Aggressive | Maximum depth | +Chaos, Censys, all | ππ |
ReconX/
βββ reconx.sh # Main execution script
βββ install.sh # Installation script
βββ config/
β βββ reconx.conf # Main settings (robustness, logging)
β βββ tools.conf # API keys & tool configurations
βββ modules/
β βββ passive.sh # Subdomain enumeration
β βββ dns.sh # DNS analysis
β βββ active.sh # Port & service scanning
β βββ web.sh # Web application discovery
β βββ enum.sh # CMS & technology detection
β βββ vuln.sh # Vulnerability assessment
β βββ report.sh # Report generation
βββ utils/
β βββ colors.sh # Terminal colors
β βββ logger.sh # Logging system
β βββ api_validator.sh # API key validation
β βββ config_wizard.sh # Interactive configuration
βββ wordlists/ # Custom wordlists
βββ output/ # Scan results
# Clone the repository
git clone https://github.com/adinathgorakhdubile/ReconX.git
cd ReconX
# Run installer (requires sudo)
sudo chmod +x install.sh
sudo ./install.sh
# The installer will:
# β Install system dependencies
# β Install Go-based tools (subfinder, amass, httpx, etc.)
# β Install Python tools (theHarvester, wpscan)
# β Set up configuration files
# β Create symlink for global access# Verify installation
reconx --version
# Run configuration wizard (optional)
reconx --config-wizard
# Validate API keys (if configured)
reconx --validate-keysIf you prefer manual installation:
# System packages
sudo apt update
sudo apt install -y curl jq nmap masscan nuclei nikto sqlmap git golang-go python3 python3-pip
# Go tools
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/owasp-amass/amass/v4/...@master
go install github.com/projectdiscovery/httpx/cmd/httpx@latest
go install github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
# Python tools
pip3 install theHarvester wpscanReconX works perfectly fine without any API keys using free sources. API keys simply enhance results.
| Service | Free Tier | Purpose | Get API Key |
|---|---|---|---|
| Shodan | 100 results/month | IP/port intelligence | shodan.io/account |
| VirusTotal | 4 req/min | Subdomain discovery | virustotal.com/gui/join-us |
| SecurityTrails | 50 req/month | Historical DNS data | securitytrails.com/app/signup |
| Censys | 250 queries/month | Certificate transparency | search.censys.io/register |
| Chaos | Free for PD | ProjectDiscovery dataset | chaos.projectdiscovery.io |
| WPScan | 25 req/day | WordPress vulnerabilities | wpscan.com/api |
# Launch configuration wizard
./reconx.sh --config-wizard
# Follow the prompts to enter API keysEdit config/tools.conf:
nano config/tools.confAdd your API keys:
# API Keys
SHODAN_API_KEY="your_shodan_api_key_here"
VIRUSTOTAL_API_KEY="your_virustotal_api_key_here"
SECURITYTRAILS_API_KEY="your_securitytrails_api_key_here"
CENSYS_API_ID="your_censys_id_here"
CENSYS_API_SECRET="your_censys_secret_here"
CHAOS_API_KEY="your_chaos_api_key_here"
WPSCAN_API_TOKEN="your_wpscan_token_here"# Validate configured API keys
./reconx.sh --validate-keys
# Output:
# β Shodan API key is valid
# β VirusTotal API key is valid
# β SecurityTrails API key not configured- crt.sh - Certificate Transparency logs
- RapidDNS - DNS records aggregator
- AlienVault OTX - Open Threat Exchange
- Anubis DB - Subdomain database
- URLScan.io - URL scanning service
- CertSpotter - Certificate monitoring
- Riddler.io - DNS data
- CommonCrawl - Web crawl data
# Simple reconnaissance
./reconx.sh -t example.com
# With specific robustness level
./reconx.sh -t example.com -r 3
# Bug bounty safe mode
./reconx.sh -t example.com --bugbounty# Launch interactive menu
./reconx.sh -i
# Navigate menu:
# 1. Enter target domain
# 2. Select modules to run
# 3. Choose robustness level
# 4. Configure export format
# 5. Start scan# Quick subdomain enumeration only
./reconx.sh -t example.com --passive -r 2
# Output: output/example.com/subdomains.txt# Comprehensive scan with normal intensity
./reconx.sh -t example.com --all -r 3
# Runs all modules:
# β Passive reconnaissance
# β DNS analysis
# β Active scanning
# β Web discovery
# β Enumeration
# β Vulnerability assessment# Safe mode with rate limiting
./reconx.sh -t example.com --bugbounty -r 2
# Bug bounty safe settings:
# β Rate limit: 10 req/sec
# β Nmap timing: T2 (polite)
# β Limited port range
# β No aggressive scans# DNS analysis only
./reconx.sh -t example.com --dns
# Web discovery + vulnerability scanning
./reconx.sh -t example.com --web --vuln
# Active scanning with aggressive mode
./reconx.sh -t example.com --active -r 5# Export to HTML
./reconx.sh -t example.com --all --export html
# Export to all formats (MD, HTML, JSON, CSV, PDF)
./reconx.sh -t example.com --all --export all
# Export with full report
./reconx.sh -t example.com --all --report# Custom output directory
./reconx.sh -t example.com -o /tmp/recon --all
# With specific wordlist
./reconx.sh -t example.com --web -w wordlists/custom.txt
# Parallel execution (default: 10 jobs)
./reconx.sh -t example.com --all --parallel 20
# With notifications (Slack/Discord)
./reconx.sh -t example.com --all --notifyPurpose: Subdomain enumeration without touching target
Tools Used:
- Subfinder
- Assetfinder
- Amass (passive mode)
- crt.sh
- Shodan (if API configured)
- VirusTotal (if API configured)
- RapidDNS, AlienVault, Anubis
Output: output/<target>/subdomains.txt
./reconx.sh -t example.com --passive -r 3Purpose: Deep DNS enumeration and analysis
Features:
- Zone transfer attempts
- DNS record enumeration (A, AAAA, MX, TXT, NS, SOA)
- DNSSEC validation
- Reverse DNS lookups
- DNS brute forcing (robustness 4+)
Output: output/<target>/dns/
./reconx.sh -t example.com --dnsPurpose: Port and service discovery
Tools Used:
- Nmap
- Masscan
- RustScan (if installed)
Features:
- Port scanning (top 1000 or custom)
- Service version detection
- OS fingerprinting
- Banner grabbing
Output: output/<target>/ports.txt
./reconx.sh -t example.com --active -r 3Purpose: Web application discovery and mapping
Tools Used:
- httpx
- ffuf
- gobuster
Features:
- Live subdomain probing
- Directory/file fuzzing
- Virtual host discovery
- Technology detection
- Screenshot capture
Output: output/<target>/web/
./reconx.sh -t example.com --webPurpose: CMS and technology enumeration
Tools Used:
- WhatWeb
- WPScan (WordPress)
- Joomscan (Joomla)
- CMSeeK
Output: output/<target>/enum/
./reconx.sh -t example.com --enumPurpose: Automated vulnerability scanning
Tools Used:
- Nuclei
- Nikto
- SQLMap (optional)
Features:
- CVE detection
- Misconfigurations
- Known vulnerabilities
- Template-based scanning
Output: output/<target>/vulns/
./reconx.sh -t example.com --vuln./reconx.sh -t example.com --export mdOutput: output/example.com/report.md
./reconx.sh -t example.com --export htmlOutput: output/example.com/report.html
Includes interactive charts and metrics
./reconx.sh -t example.com --export jsonOutput: output/example.com/report.json
Machine-readable format for automation
./reconx.sh -t example.com --export csvOutput: output/example.com/report.csv
Spreadsheet-compatible
./reconx.sh -t example.com --export pdfOutput: output/example.com/report.pdf
Professional report format
./reconx.sh -t example.com --export allGenerates all 5 formats simultaneously
./reconx.sh [OPTIONS]
Required:
-t, --target <domain> Target domain
Modules:
--passive Passive reconnaissance only
--dns DNS analysis
--active Active port scanning
--web Web application discovery
--enum CMS enumeration
--vuln Vulnerability scanning
--all Run all modules
Configuration:
-r, --robustness <1-5> Scan intensity (default: 3)
--bugbounty Bug bounty safe mode
-i, --interactive Interactive menu mode
-o, --output <dir> Output directory
-w, --wordlist <file> Custom wordlist
Export:
--export <format> md|html|json|csv|pdf|all
--report Generate full report
Utilities:
--config-wizard Interactive configuration
--validate-keys Validate API keys
-h, --help Show help message
-v, --version Show version# Main configuration
config/reconx.conf
# API keys and tool paths
config/tools.conf# Validate your API keys
./reconx.sh --validate-keys
# Check configuration
cat config/tools.conf | grep API_KEY
# Reconfigure using wizard
./reconx.sh --config-wizardAPI keys are completely optional! ReconX uses 7+ free sources:
# Works perfectly without any API keys
./reconx.sh -t example.com --passive -r 3# Fix permissions
chmod +x reconx.sh
chmod +x modules/*.sh
chmod +x utils/*.sh
# For install script
sudo ./install.sh# Reinstall dependencies
sudo ./install.sh
# Manual tool installation
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest# Use lower robustness level
./reconx.sh -t example.com -r 1
# Enable parallel execution
./reconx.sh -t example.com --parallel 20
# Use specific modules only
./reconx.sh -t example.com --passive --dnsThis project is licensed under the MIT License.
Contributions are welcome! Please feel free to submit pull requests.
This tool is for legal security testing only. Always obtain proper authorization before testing any systems. Unauthorized access to computer systems is illegal.
Made with β€οΈ for the security community