Skip to content

ExpertRecon is a powerful reconnaissance and exploitation tool designed for security professionals and ethical hackers. It integrates various reconnaissance techniques and third-party APIs to identify vulnerabilities in target systems.

License

Notifications You must be signed in to change notification settings

Masriyan/ExpertRecon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” ExpertRecon v2

Python 3.9+ License: MIT PRs Welcome

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.


✨ Features

πŸ”Œ Reconnaissance Modules

  • 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

🌐 OSINT API Integrations

  • 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

πŸ›‘οΈ CVE Correlation

  • 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

πŸ“Š Reporting

  • 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

⚑ Scan Profiles

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

πŸš€ Installation

Prerequisites

  • Python 3.9 or higher
  • Nmap installed and in PATH
  • Optional: theHarvester, dnsrecon, subfinder

Quick Install

# 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

Configuration

  1. Copy the example configuration:
cp config.example.yaml config.yaml
  1. Add your API keys in config.yaml:
api_keys:
  shodan_key: "your-shodan-api-key"
  virustotal_key: "your-vt-api-key"
  # ... more keys

Or set them as environment variables:

export SHODAN_KEY="your-shodan-api-key"
export VIRUSTOTAL_KEY="your-vt-api-key"

πŸ“– Usage

Basic Scans

# 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

Module Selection

# 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

Reports

# 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

Multi-Target Scanning

# Scan from file (one target per line)
python -m expertrecon targets.txt --profile quick --parallel 10

CLI Options

python -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

πŸ“ Output Structure

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)

πŸ—οΈ Architecture

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

πŸ”’ Security & Ethics

⚠️ 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

🀝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request

πŸ“œ License

MIT License - See LICENSE for details.


πŸ™ Credits

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!

About

ExpertRecon is a powerful reconnaissance and exploitation tool designed for security professionals and ethical hackers. It integrates various reconnaissance techniques and third-party APIs to identify vulnerabilities in target systems.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages