Available Tools
Recon-ng
Modular reconnaissance framework with a database backend for managing intelligence gathering workflows.
EyeWitness
Web application screenshot tool with server header detection and default credential identification.
Tool Capabilities
Recon-ng
Recon-ng is a full-featured reconnaissance framework with module-based architecture:Core Features
- Workspace Management: Organize reconnaissance data by project
- Database Backend: SQLite database stores all gathered intelligence
- Module System: 70+ modules for various OSINT sources
- API Integration: Support for 15+ third-party APIs
- Report Generation: HTML reports with complete findings
- Query System: SQL-based queries for data analysis
Integrated Modules
SVM’s Recon-ng integration includes the following reconnaissance modules: Domain-to-Host Enumerationnetcraft- Subdomain discovery via Netcraftbing_domain_api- Microsoft Bing API subdomain searchbing_domain_web- Bing web scraping for subdomainsbuiltwith- Technology stack and subdomain discoverybrute_hosts- DNS brute-force subdomain enumerationssl_san- SSL certificate Subject Alternative Name parsingvpnhunter- VPN endpoint discoverycertificate_transparency- CT log subdomain discoverygoogle_site_web- Google search subdomain enumerationhackertarget- HackerTarget API subdomain lookupmx_spf_ip- MX and SPF record parsing for IP discoveryshodan_hostname- Shodan hostname searchthreatcrowd- ThreatCrowd database subdomain lookup
reverse_resolve- Reverse DNS resolution of IP rangesshodan_net- Shodan network block scanning
reverse_resolve- PTR record resolutionresolve- Forward DNS resolutionbing_ip- Bing IP-based searchfreegeoip- IP geolocationipinfodb- IP information database lookupssltools- SSL certificate analysis
API Configuration
Recon-ng supports multiple API keys for enhanced data gathering:- Google API - Google Custom Search
- Bing API - Microsoft Bing Search
- Shodan API - Shodan device search
- GitHub API - GitHub code search
- BuiltWith API - Technology profiling
- FullContact API - Contact information
- VirusTotal API - Threat intelligence
- Censys API - Internet-wide scanning data
API Keys: Configure API keys in the script file before execution. Most modules work without API keys but provide limited results. API keys significantly enhance data coverage.
Execution Workflow
- Workspace Creation: Creates isolated workspace per project
- Domain Addition: Adds target domains to database
- Module Execution: Runs 15+ reconnaissance modules sequentially
- Data Correlation: Cross-references findings across modules
- Report Generation: Produces HTML report and text exports
- Data Export: Exports networks, IPs, and subdomains separately
Output Files
- HTML Report: Complete reconnaissance report with all findings
- Networks List: Identified network blocks (CIDR notation)
- IP Addresses: Unique IP addresses discovered
- Subdomains: Complete subdomain list with IP resolution
Remote Execution: Recon-ng runs on remote Linux servers via SSH. This enables long-running reconnaissance without tying up local resources. Execution can take 30+ minutes depending on target size.
EyeWitness
EyeWitness captures screenshots and analyzes web applications:Core Features
- Web Screenshots: Automated screenshot capture of web applications
- Server Headers: HTTP header analysis and fingerprinting
- Default Credentials: Detection of default login pages
- Certificate Analysis: SSL/TLS certificate inspection
- Active Scanning: Probes for common vulnerabilities
- Multi-Threading: Parallel processing of multiple targets
- Report Generation: HTML report with inline screenshots
Detection Capabilities
- Default web server pages (Apache, IIS, Nginx)
- Default application installations (WordPress, Joomla, etc.)
- Login portals and authentication pages
- Administrative interfaces
- Potential security issues (HTTP on HTTPS ports, etc.)
- Server version information
- Response timing anomalies
Configuration Options
- Protocol Prepending: Automatically prepends HTTPS
- Timeout Settings: Configurable per-request timeout (default: 20s)
- Threading: Concurrent requests (default: 10 threads)
- User-Agent: Custom user-agent string
- Active Scanning: Optional active vulnerability probing
- DNS Resolution: Resolve hostnames before screenshot capture
Input Formats
EyeWitness accepts target lists in the following formats:Execution Workflow
- Target Upload: Uploads target list to remote server
- Script Generation: Creates execution script with parameters
- Screenshot Capture: Captures web application screenshots
- Analysis: Analyzes headers and identifies technologies
- Report Compilation: Generates HTML report with findings
- Archive Creation: Packages screenshots and reports
- Download: Retrieves tar.gz archive to local system
Output Structure
Server Requirements: EyeWitness requires Python and dependencies installed on remote Linux server. Install with:
cd EyeWitness/setup && ./setup.shInformation Gathering Workflow
Reconnaissance Phase
Integration Points
- Domain Input: Start with primary target domains
- Recon-ng Discovery: Enumerate all subdomains and IPs
- Data Export: Extract unique web targets
- EyeWitness Capture: Screenshot all discovered web applications
- Analysis: Review reports for interesting targets
- Project Import: Import findings into SVM project
Use Cases
External Assessment Preparation
External Assessment Preparation
Before external penetration testing:
- Run Recon-ng with target domains
- Export discovered subdomains and IPs
- Run EyeWitness on discovered targets
- Identify interesting applications and technologies
- Plan testing scope based on findings
Attack Surface Mapping
Attack Surface Mapping
For comprehensive asset discovery:
- Configure all Recon-ng API keys
- Execute full reconnaissance against target organization
- Review network blocks and IP ranges
- Screenshot all HTTP/HTTPS services
- Document exposed services and applications
Subdomain Takeover Hunting
Subdomain Takeover Hunting
To identify subdomain takeover opportunities:
- Use Recon-ng certificate transparency module
- Enumerate all subdomains via multiple sources
- Check DNS resolution for each subdomain
- Use EyeWitness to identify error pages
- Investigate unresolved or error-state subdomains
Technology Profiling
Technology Profiling
For technology stack identification:
- Recon-ng BuiltWith module for technology detection
- EyeWitness for server header analysis
- Screenshot analysis for framework identification
- Correlate versions across multiple sources
Best Practices
API Key Management
API Key Management
- Register for API keys from all supported services
- Store API keys securely (not in version control)
- Configure API keys in script before execution
- Monitor API rate limits and usage quotas
- Rotate API keys periodically for security
Data Accuracy
Data Accuracy
- Use multiple reconnaissance modules for verification
- Cross-reference findings across different sources
- Validate discovered subdomains with DNS resolution
- Confirm IP ownership before testing
- Document sources for all intelligence gathered
Execution Timing
Execution Timing
- Run reconnaissance during initial project phases
- Schedule long-running scans during off-hours
- Monitor remote execution via SSH if needed
- Allow sufficient time for complete enumeration (30-60 min)
- Re-run reconnaissance periodically for new assets
Legal Considerations
Legal Considerations
- Only target authorized domains and networks
- Respect robots.txt and API terms of service
- Avoid aggressive scanning that may trigger alerts
- Document authorization for all reconnaissance activities
- Use passive techniques when active scanning is not authorized
Report Analysis
Report Analysis
- Review EyeWitness report for default credentials
- Identify high-value targets (admin panels, APIs)
- Note outdated software versions for exploitation
- Document unusual or interesting findings
- Import all findings into SVM project for tracking
Remote Server Setup
Both tools require Linux servers for execution:Recon-ng Setup
EyeWitness Setup
SVM Remote Access Requirements
- SSH access (port 22)
- Username and password authentication
- plink.exe and pscp.exe (included with SVM)
- Network connectivity to remote server
- Tools installed in known paths