2.8 KiB
2.8 KiB
DNS Reconnaissance Tool
A comprehensive DNS reconnaissance tool designed for investigators to gather intelligence on hostnames and IP addresses through multiple data sources.
Features
- DNS Resolution: Query multiple DNS servers (1.1.1.1, 8.8.8.8, 9.9.9.9)
- TLD Expansion: Automatically try all IANA TLDs for hostname-only inputs
- Certificate Transparency: Query crt.sh for SSL certificate information
- Recursive Discovery: Automatically discover and analyze subdomains
- External Intelligence: Optional Shodan and VirusTotal integration
- Multiple Interfaces: Both CLI and web interface available
- Comprehensive Reports: JSON and text output formats
Installation
# Clone or create the project structure
mkdir dns-recon-tool && cd dns-recon-tool
# Install dependencies
pip install -r requirements.txt
Usage
Command Line Interface
# Basic domain scan
python -m src.main example.com
# Try all TLDs for hostname
python -m src.main example
# With API keys and custom depth
python -m src.main example.com --shodan-key YOUR_KEY --virustotal-key YOUR_KEY --max-depth 3
# Save reports
python -m src.main example.com --output results
# JSON only output
python -m src.main example.com --json-only
Web Interface
# Start web server
python -m src.main --web
# Custom port
python -m src.main --web --port 8080
Then open http://localhost:5000 in your browser.
Configuration
The tool uses the following default settings:
- DNS Servers: 1.1.1.1, 8.8.8.8, 9.9.9.9
- Max Recursion Depth: 2
- Rate Limits: DNS (10/s), crt.sh (2/s), Shodan (0.5/s), VirusTotal (0.25/s)
API Keys
For enhanced reconnaissance, obtain API keys from:
- Shodan - Port scanning and service detection
- VirusTotal - Security analysis and reputation
Output
The tool generates two types of reports:
JSON Report
Complete machine-readable data including:
- All discovered hostnames and IPs
- DNS records by type
- Certificate information
- External service results
- Metadata and timing
Text Report
Human-readable summary with:
- Executive summary
- Hostnames by discovery depth
- IP address analysis
- DNS record details
- Certificate analysis
- Security findings
Architecture
src/
├── main.py # CLI entry point
├── web_app.py # Flask web interface
├── config.py # Configuration management
├── data_structures.py # Data models
├── dns_resolver.py # DNS functionality
├── certificate_checker.py # crt.sh integration
├── shodan_client.py # Shodan API
├── virustotal_client.py # VirusTotal API
├── tld_fetcher.py # IANA TLD handling
├── reconnaissance.py # Main logic
└── report_generator.py # Report generation