Skip to content

A python-based tool for automating passive and active reconnaisance

Notifications You must be signed in to change notification settings

abds059/Custom-recon-tool

Repository files navigation

Custom Recon Tool

A modular, Python-based reconnaissance tool for passive and active information gathering. Designed to run cross-platform on Windows and Linux, and fully Docker-compatible.


Features

Passive Recon

  • DNS Enumeration: (--dns) using dnspython
    Supports A, MX, TXT, and NS records.
  • Subdomain Enumeration (--subdomains) using crt.sh
  • WHOIS Lookup (--whois) using python-whois

Active Recon

  • Port Scanning (--portscan) using Python sockets
  • Banner Grabbing and Technology Detection for open ports

Reporting

  • Generates TXT, JSON, and HTML summary reports
  • Includes timestamps, IP resolutions, and module outputs
  • Reports saved in output/reports/ directory
  • Raw results saved in output/raw/ directory

Installation

1. Clone the repository

git clone https://github.com/<username>/custom-recon-tool.git
cd custom-recon-tool
mkdir -p output/raw output/reports

2. Set up Python environment

python -m venv venv
source venv/bin/activate   # Linux
venv\Scripts\activate      # Windows
pip install -r requirements.txt

3. Run the tool

python main.py example.com --dns --subdomains --whois --portscan -vv

-v increases verbosity (-v=INFO, -vv=DEBUG)


Docker Usage

Build the Docker image:

docker build -t custom-recon-tool .

Create the output folder:

mkdir -p output/raw output/reports

Run the tool inside Docker:

docker run --rm \
  -v "$(pwd)/output:/app/output" \
  custom-recon-tool example.com --dns --subdomains --whois -vv

Reports and raw results are mapped to your local output/ folder.


Folder Structure

recon_tool/
│
├── main.py
├── requirements.txt
├── config.py
├── logger.py
├── dispatcher.py
├── reporting.py
├── passive/
│   ├── dns/
│   ├── subdomains/
│   └── whois/
├── active/
│   ├── portscan/
│   ├── banner/
│   └── tech/
├── output/
│   ├── raw/
│   └── reports/
└── README.md

CLI Options

Option Description
--dns Run DNS enumeration
--subdomains Run subdomain enumeration (crt.sh)
--whois Run WHOIS lookup
--portscan Run socket-based port scanning and banner grabbing
-v, -vv Increase logging verbosity

Notes

  • Passive modules may fail if external services (crt.sh, WHOIS) are slow or blocked.
  • Default output directories are created automatically.
  • Ensure Docker is installed to use the containerized version.

License

MIT License Feel free to modify and extend this tool for personal or educational purposes.


Author

Abdur Rehman Siddiqui

About

A python-based tool for automating passive and active reconnaisance

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published