Skip to content

Repository files navigation

πŸ” reconx - Modular Penetration Testing Framework

Python 3.11+License: MITAsyncio

reconx is a comprehensive, CLI-driven penetration testing framework that automates the full reconnaissance-to-exploitation pipeline with intelligent false-positive filtering.

🌟 Key Features

  • 6-Phase Pipeline: Complete workflow from subdomain discovery to targeted exploitation
  • Intelligent FP Filter: Confidence-based scoring engine reduces noise by 60-80%
  • Async Architecture: High-performance concurrent execution with rate limiting
  • Config-Driven: Target and scope defined in config β€” no CLI flags needed
  • Resume Support: Re-run skips completed phases (unless --force)
  • Manual Review TUI: Interactive terminal UI for uncertain findings
  • Multi-Format Reports: JSON, HTML, and Markdown output

πŸ—οΈ Architecture

Phase 1: Discovery β†’ subfinder, amass, assetfinder, crt.sh, chaos
↓
Phase 2: Probing β†’ httpx, masscan, nmap, wafw00f
↓
Phase 3: Crawling β†’ katana, gospider, waybackurls, linkfinder
↓
Phase 4: Enumeration β†’ ffuf, feroxbuster, paramspider, arjun, gf
↓
Phase 5: Scanning β†’ nuclei, secretfinder, trufflehog, nikto
↓
FP Filter β†’ Scoring engine routes findings
↓
Phase 6: Exploitation β†’ sqlmap, dalfox, jwt-tool

πŸš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/maskface02/reconx.git
cd reconx
# Install Python dependencies
pip3 install -r requirements.txt --break-system-packages
# Install external security tools
sudo bash setup_tools.sh

Initialize & Run

# Create configuration template
python3 main.py init
# Edit config.yaml with your target and API keys
vim config.yaml
# Run full pipeline β€” reads target from config.yaml
python3 main.py run

πŸ“‹ Usage Examples

Run Pipeline

# Full pipeline (reads target from config.yaml)
python3 main.py run
# Specific phase only
python3 main.py run --phase 1
# Resume from a specific phase
python3 main.py run --from-phase 3
# Force re-run (skip cached phases)
python3 main.py run --force
# Use alternate config
python3 main.py run --config apple-config.yaml

Manual Review

python3 main.py review

Generate Report

python3 main.py report --format html --output report.html

Check Status

# Show status for config's target
python3 main.py status

Clear Workspace

python3 main.py clear

πŸ”§ Configuration

config.yaml (all settings read from file β€” no CLI target override):

target: example.comscope: [] # Accept all (or specify ["*.example.com"])exclude: []rate_limit: 50threads: 20# Tool paths (leave empty to use PATH)tools: {}# Optional API keyschaos_api_key: ""github_token: ""interactsh_server: ""

Note: The framework uses a 300-second default timeout for tool execution. Slow tools like amass get dedicated runners with extended timeouts (180s). This is managed internally β€” no config needed.

πŸ“Š Output Structure

workspaces/
└── example.com/
β”œβ”€β”€ phase1_output.json # Discovered subdomains
β”œβ”€β”€ phase2_output.json # HTTP probes with tech stack
β”œβ”€β”€ phase3_output.json # Crawled URLs
β”œβ”€β”€ phase4_output.json # Discovered parameters
β”œβ”€β”€ phase5_output.json # Raw findings
β”œβ”€β”€ confirmed_findings.json # High-confidence findings
β”œβ”€β”€ review_queue.json # Medium-confidence (manual review)
β”œβ”€β”€ dropped_findings.json # Low-confidence (filtered)
β”œβ”€β”€ exploit_results.json # Exploitation results
β”œβ”€β”€ raw/ # Tool raw outputs
β”œβ”€β”€ logs/ # Execution logs
└── exploits/ # Exploitation artifacts

🧠 False Positive Filter

Intelligent scoring system:

  • Positive signals: Response diff (+30), nuclei matcher (+25), CVE match (+20)
  • Negative signals: WAF detected (-15), timing-only (-20), generic template (-10)
  • Routing: β‰₯50=auto-confirm, 20-49=manual review, <20=drop

πŸ› οΈ Integrated Tools

25+ security tools integrated:

  • Discovery: subfinder, amass (passive + active), assetfinder, dnsx, crt.sh, chaos API
  • Probing: httpx, masscan, nmap, wafw00f
  • Crawling: katana, gospider, hakrawler, waybackurls, gau, linkfinder
  • Enumeration: ffuf, feroxbuster, paramspider, arjun, x8, gf
  • Scanning: nuclei, secretfinder, trufflehog, nikto
  • Exploitation: sqlmap, ghauri, dalfox, xsstrike, jwt-tool

πŸ“š Documentation

⚠️ Disclaimer

For authorized security testing only. Always obtain proper authorization before testing any system you do not own.


Made with ❀️ for the security community
Automate the boring, focus on the critical

About

πŸš€ CLI-driven penetration testing framework with 6-phase recon-to-exploit pipeline, intelligent false-positive filtering, and async execution. Python 3.11+

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages