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.
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.
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.
Performs basic target validation and DNS reconnaissance.
- Domain vs IP detection
- A record resolution
- Reverse DNS for IP addresses
- Graceful error handling
Controlled TCP port scanning over a small set of common ports.
- Sequential TCP connect scanning
- Short timeouts
- No banner grabbing
- Identification of open ports
Passive HTTP/HTTPS fingerprinting.
- HTTPS-first detection
- Limited redirect handling
- Header extraction (Server, X-Powered-By)
- HTML title extraction when applicable
Lightweight directory enumeration.
- Runs only if a web service is detected
- Small, reasonable wordlist
- Sequential requests with short timeouts
- Path and status code collection
Run all modules:
python recon.py example.com --allRun specific modules:
python recon.py example.com --dns
python recon.py example.com --ports
python recon.py example.com --web --dirsEnable verbose logging:
python recon.py example.com --all --verboseTwo reports are generated automatically under the reports/ directory.
Machine-readable output suitable for:
- Automation
- Pipelines
- Post-processing
- Tool integration
Human-readable output ready for:
- Pentest reports
- Write-ups
- Training labs
Both reports reflect exactly the collected data without interpretation.
- Cybersecurity recruiters
- Junior pentesters and interns
- Security learners using labs (HTB, TryHackMe)
- Anyone interested in professional recon automation
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.
The toolkit is considered complete within its defined scope. Future improvements should preserve the same philosophy: low impact, clarity, and professional design.