Overview
TheEyeWitness_remote.bat script automates web application reconnaissance using EyeWitness. It captures screenshots of web applications, performs active scanning, and generates comprehensive visual reports of discovered web services on remote Linux systems.
Prerequisites
- Remote Linux system with SSH access
- EyeWitness installed on remote system
- PuTTY tools (plink.exe, pscp.exe) on Windows
- Python with Selenium dependencies on remote system
Usage
Parameters
| Parameter | Description |
|---|---|
Proyecto | Project name |
File | Local file containing target URLs (one per line) |
Documentacion | Output directory path for reports |
Timestamp | Timestamp identifier for report files |
DirApp | EyeWitness installation directory on remote system |
Server | Remote server IP or hostname |
Username | SSH username |
Password | SSH password |
Example
Input File Format
Create a text file with one URL per line:EyeWitness Options
The script executes EyeWitness with the following configuration:| Option | Value | Description |
|---|---|---|
-f | Input file | File containing target URLs |
--web | Enabled | Web application mode |
--timeout | 20 seconds | Request timeout |
--threads | 10 | Concurrent threads |
--user-agent | Chrome 41 | Custom user agent string |
--prepend-https | Enabled | Try HTTPS for all targets |
--active-scan | Enabled | Perform active scanning |
--resolve | Enabled | Resolve domain names |
--no-prompt | Enabled | Non-interactive mode |
-d | Output directory | Report destination |
User Agent
Generated Reports
The script generates a compressed archive containing:- Screenshots - PNG images of each web application
- HTML Report - Interactive report with all findings
- Source Code - HTML source of captured pages
- Report Data - JSON/XML data files
- Categorization - Applications grouped by technology
EyeWitnessReport_[Timestamp].tar.gz
Workflow
- File Upload - Transfers target URL file to remote system
- Directory Creation - Creates temporary output directory
- Script Generation - Builds EyeWitness execution script
- Execution - Runs EyeWitness with configured options
- Archiving - Compresses report directory into tar.gz
- Download - Transfers archive to local documentation directory
- Cleanup - Removes temporary files from remote system
Installation
Remote System Setup
Install EyeWitness on the remote Linux system:- Python dependencies
- Selenium WebDriver
- PhantomJS/Chrome drivers
- Image processing libraries
Script Execution Details
Report Contents
After extraction, the report directory contains:Active Scan Features
When--active-scan is enabled, EyeWitness performs:
- Default Credentials - Tests common username/password combinations
- Directory Enumeration - Checks for common paths
- Technology Detection - Identifies frameworks and platforms
- Vulnerability Indicators - Flags potential security issues
Use Cases
Network Scanning Integration
Combine with Nmap or other scanners:Subdomain Reconnaissance
Use with Recon-ng output:Performance Tuning
Thread Configuration
Adjust threads based on target count and network:Timeout Settings
Troubleshooting
Common Issues
Selenium/WebDriver errors:Output Example
The HTML report includes:- Visual thumbnails of all web applications
- HTTP response headers
- Server information
- Certificate details (HTTPS)
- Technology fingerprints
- Categorization by server type
- Interactive filtering and sorting
Security Considerations
- User Agent - Default configuration uses Chrome user agent to avoid WAF blocks
- HTTPS - Automatically tries HTTPS connections
- Active Scanning - May trigger IDS/IPS alerts
- Rate Limiting - Respect target application rate limits
- Authorization - Only scan systems you have permission to test
References
Notes
- Requires Python 2.7 or Python 3.x on remote system
- Screenshots are captured using headless browser (Chromium/PhantomJS)
- Report generation can take significant time for large target lists
- Archive compression reduces transfer size significantly
- The
--resolveoption ensures DNS resolution before screenshot attempts