Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pentesting Recon Toolkit

Pentesting Recon Toolkit is a modular Python tool designed to automate the information gathering phase of a penetration test in a controlled and professional manner. Its goal is to collect essential technical information about a target and produce structured, reusable output suitable for reports, write-ups, and further analysis.

This project is not an exploitation framework or an aggressive scanner. It focuses exclusively on low-impact reconnaissance, prioritizing clarity, control, and understanding of the recon process.

Why Information Gathering Matters

The reconnaissance phase defines the real attack surface of a target. Proper information gathering allows pentesters to identify exposed services, technologies in use, and potential entry points while reducing noise and avoiding incorrect assumptions. Automating this phase responsibly improves consistency and efficiency without sacrificing accuracy.

Architecture Overview

The toolkit follows a modular architecture. Each recon step lives in its own module and returns results using a shared data contract. A central orchestrator coordinates execution and generates reports, keeping data collection fully separated from presentation.

Modules

DNS

Performs basic target validation and DNS reconnaissance.

  • Domain vs IP detection
  • A record resolution
  • Reverse DNS for IP addresses
  • Graceful error handling

Ports

Controlled TCP port scanning over a small set of common ports.

  • Sequential TCP connect scanning
  • Short timeouts
  • No banner grabbing
  • Identification of open ports

Web

Passive HTTP/HTTPS fingerprinting.

  • HTTPS-first detection
  • Limited redirect handling
  • Header extraction (Server, X-Powered-By)
  • HTML title extraction when applicable

Dirs

Lightweight directory enumeration.

  • Runs only if a web service is detected
  • Small, reasonable wordlist
  • Sequential requests with short timeouts
  • Path and status code collection

Usage

Run all modules:

python recon.py example.com --all

Run specific modules:

python recon.py example.com --dns
python recon.py example.com --ports
python recon.py example.com --web --dirs

Enable verbose logging:

python recon.py example.com --all --verbose

Generated Reports

Two reports are generated automatically under the reports/ directory.

JSON Report

Machine-readable output suitable for:

  • Automation
  • Pipelines
  • Post-processing
  • Tool integration

Markdown Report

Human-readable output ready for:

  • Pentest reports
  • Write-ups
  • Training labs

Both reports reflect exactly the collected data without interpretation.

Intended Audience

  • Cybersecurity recruiters
  • Junior pentesters and interns
  • Security learners using labs (HTB, TryHackMe)
  • Anyone interested in professional recon automation

Non-Goals

This project intentionally does not include:

  • Exploitation
  • Aggressive or noisy scanning
  • Brute-force attacks
  • Defense evasion techniques

The focus is on responsible reconnaissance and clean engineering practices.

Project Status

The toolkit is considered complete within its defined scope. Future improvements should preserve the same philosophy: low impact, clarity, and professional design.

About

Pentesting Recon Toolkit is a modular Python toolkit that automates the information gathering phase of a penetration test, providing structured DNS, port, and web reconnaissance with professional JSON and Markdown reporting.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages