Skip to main content

Overview

The EyeWitness_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

Example

Input File Format

Create a text file with one URL per line:

EyeWitness Options

The script executes EyeWitness with the following configuration:

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
Output file: EyeWitnessReport_[Timestamp].tar.gz

Workflow

  1. File Upload - Transfers target URL file to remote system
  2. Directory Creation - Creates temporary output directory
  3. Script Generation - Builds EyeWitness execution script
  4. Execution - Runs EyeWitness with configured options
  5. Archiving - Compresses report directory into tar.gz
  6. Download - Transfers archive to local documentation directory
  7. Cleanup - Removes temporary files from remote system

Installation

Remote System Setup

Install EyeWitness on the remote Linux system:
The setup script installs:
  • 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:
Screenshot failures:
Memory issues with large scans:

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 --resolve option ensures DNS resolution before screenshot attempts