ExpertRecon is a professional-grade attack surface management toolkit designed for security assessments, penetration testing, and threat intelligence gathering. It provides a modular, extensible framework for comprehensive reconnaissance.
- Nmap Integration - Service detection, version scanning, and script scanning
- Subdomain Enumeration - via crt.sh, subfinder, and Certificate Transparency
- SSL/TLS Analysis - Certificate validation, expiry checks, TLS version detection
- HTTP Headers Analysis - Security headers grading, fingerprinting, recommendations
- Technology Detection - Wappalyzer-style CMS/framework identification
- WHOIS Lookup - Domain registration and ownership data
- Web Screenshots - Headless browser captures via Playwright
- theHarvester - Email and host discovery
- DNSRecon - DNS enumeration and zone transfer detection
- Shodan - Internet-wide scanning data
- Censys - Certificate and host intelligence
- SecurityTrails - DNS history and subdomain discovery
- VirusTotal - Domain/IP reputation and threat data
- AlienVault OTX - Threat intelligence pulses
- Hunter.io - Email discovery and verification
- FOFA - Chinese cyber asset search
- Driftnet - Asset intelligence
- Enhanced CVE Matching - CPE-based correlation with confidence scoring
- NVD Integration - Official NIST vulnerability data with CVSS 3.1
- ExploitDB Lookup - Known exploit and PoC detection
- Severity Classification - Critical/High/Medium/Low filtering
- Interactive HTML Reports - Modern, responsive design with charts
- Markdown Reports - GitHub-compatible documentation
- STIX 2.1 Export - Threat intelligence sharing format
- JSON/CSV Export - Structured data output
| Profile | Description | Use Case |
|---|---|---|
quick |
Fast surface scan | Initial assessment |
full |
Comprehensive deep scan | Complete audit |
stealth |
Passive reconnaissance | Covert OSINT |
web |
Web application focused | Web app testing |
osint |
OSINT-only, no active scans | Intelligence gathering |
vuln |
Vulnerability focused | CVE hunting |
minimal |
Essential modules only | Quick check |
- Python 3.9 or higher
- Nmap installed and in PATH
- Optional: theHarvester, dnsrecon, subfinder
# Clone the repository
git clone https://github.com/Masriyan/ExpertRecon.git
cd ExpertRecon
# Install dependencies
pip install -r requirements.txt
# Optional: Install Playwright for screenshots
playwright install chromium
# Verify installation
python -m expertrecon --version- Copy the example configuration:
cp config.example.yaml config.yaml- Add your API keys in
config.yaml:
api_keys:
shodan_key: "your-shodan-api-key"
virustotal_key: "your-vt-api-key"
# ... more keysOr set them as environment variables:
export SHODAN_KEY="your-shodan-api-key"
export VIRUSTOTAL_KEY="your-vt-api-key"# Quick scan
python -m expertrecon example.com
# Full comprehensive scan
python -m expertrecon example.com --profile full
# Web-focused scan with HTML report
python -m expertrecon example.com --profile web --html
# OSINT-only (passive) scan
python -m expertrecon example.com --profile osint# Enable specific modules
python -m expertrecon example.com --modules nmap subdomain ssl
# Enable OSINT APIs
python -m expertrecon example.com --shodan --virustotal
# Enable all configured OSINT APIs
python -m expertrecon example.com --all-osint# Generate HTML report
python -m expertrecon example.com --html
# Generate Markdown report
python -m expertrecon example.com --markdown
# Export as STIX 2.1
python -m expertrecon example.com --stix
# All report formats
python -m expertrecon example.com --html --markdown --stix# Scan from file (one target per line)
python -m expertrecon targets.txt --profile quick --parallel 10python -m expertrecon --help| Option | Description |
|---|---|
--profile, -p |
Use predefined scan profile |
--modules |
Enable specific modules |
--parallel, -j |
Parallel targets (default: 5) |
--timeout |
Default timeout in seconds |
--export-dir, -o |
Output directory |
--config, -c |
YAML configuration file |
--html |
Generate HTML report |
--markdown, --md |
Generate Markdown report |
--stix |
Export as STIX 2.1 |
--shodan, --censys, etc. |
Enable specific OSINT APIs |
--all-osint |
Enable all configured APIs |
--nvd |
Use NVD for enhanced CVE data |
--exploitdb |
Check ExploitDB for exploits |
--debug |
Enable debug logging |
--quiet, -q |
Minimal output |
exports/
βββ example.com/
βββ results.json # Full structured results
βββ summary.csv # Service summary
βββ report.html # Interactive HTML report
βββ report.md # Markdown report
βββ findings.stix.json # STIX 2.1 bundle
βββ screenshot.png # Web screenshot (if captured)
expertrecon/
βββ __init__.py # Package exports
βββ __main__.py # Entry point
βββ cli.py # Command-line interface
βββ config.py # Configuration management
βββ core/
β βββ engine.py # Reconnaissance orchestrator
β βββ session.py # HTTP session manager
β βββ utils.py # Utility functions
βββ modules/
β βββ base.py # Abstract module class
β βββ nmap.py # Nmap integration
β βββ subdomain.py # Subdomain enumeration
β βββ ssl_analyzer.py # SSL/TLS analysis
β βββ headers.py # HTTP headers analysis
β βββ tech_detect.py # Technology detection
β βββ whois_lookup.py # WHOIS lookups
β βββ screenshot.py # Web screenshots
β βββ harvester.py # theHarvester integration
β βββ dnsrecon.py # DNSRecon integration
βββ osint/
β βββ shodan.py # Shodan API
β βββ censys.py # Censys API
β βββ virustotal.py # VirusTotal API
β βββ securitytrails.py
β βββ alienvault.py # AlienVault OTX
β βββ hunter.py # Hunter.io
β βββ fofa.py # FOFA API
β βββ driftnet.py # Driftnet API
βββ correlation/
β βββ cve_matcher.py # CVE correlation engine
β βββ nvd.py # NVD API
β βββ exploitdb.py # ExploitDB integration
βββ reporting/
β βββ html_report.py # HTML report generator
β βββ markdown_report.py
β βββ stix_export.py # STIX 2.1 exporter
βββ profiles/
βββ scan_profiles.py # Predefined scan profiles
β οΈ Important: ExpertRecon is designed for authorized security testing only.
- Always obtain proper authorization before scanning
- Respect rate limits on external APIs
- Follow responsible disclosure practices
- Safe mode is enabled by default
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
MIT License - See LICENSE for details.
Built with β€οΈ by sudo3rs
Special thanks to the developers of:
- Nmap, theHarvester, dnsrecon, subfinder
- Shodan, Censys, VirusTotal, SecurityTrails, AlienVault OTX
- The open-source security community
β Star this repo if you find it useful!