EyeWitness

EyeWitness is designed to take screenshots of websites, provide some server header info, and identify default credentials if possible.

  • Owner: RedSiege/EyeWitness
  • Platform:
  • License:: GNU General Public License v3.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

EyeWitness

EyeWitness is designed to take screenshots of websites provide some server header info, and identify default credentials if known.

EyeWitness is designed to run on Kali Linux. It will auto detect the file you give it with the -f flag as either being a text file with URLs on each new line, nmap xml output, or nessus xml output. The --timeout flag is completely optional, and lets you provide the max time to wait when trying to render and screenshot a web page.

A complete usage guide which documents EyeWitness features and its typical use cases is available here - https://www.christophertruncer.com/eyewitness-usage-guide/

Supported Linux Distros:
  • Kali Linux
  • Debian 7+ (at least stable, looking into testing) (Thanks to @themightyshiv)

E-Mail: EyeWitness [@] christophertruncer [dot] com

Setup:

  1. Navigate into the setup directory
  2. Run the setup.sh script

Usage:

./EyeWitness.py -f filename --timeout optionaltimeout

Examples:

./EyeWitness -f urls.txt --web

./EyeWitness -x urls.xml --timeout 8 

./EyeWitness.py -f urls.txt --web --proxy-ip 127.0.0.1 --proxy-port 8080 --proxy-type socks5 --timeout 120

Docker

Now you can execute EyeWitness in a docker container and prevent you from install unnecessary dependencies in your host machine.

Note: execute docker run with the folder path in the host which hold your results (/path/to/results)
Note2: in case you want to scan urls from a file, make sure you put it in the volume folder (if you put urls.txt in /path/to/results, then the argument should be -f /tmp/EyeWitness/urls.txt)

Usage
docker build --build-arg user=$USER --tag eyewitness .
docker run \
    --rm \
    -it \
    -e DISPLAY=$DISPLAY \                   # optional flag in order to use vnc protocol
    -v /tmp/.X11-unix:/tmp/.X11-unix \      # optional flag in order to use vnc protocol
    -v /path/to/results:/tmp/EyeWitness \
    eyewitness \
    EyeWitness_flags_and_input
Example #1 - headless capturing
docker run \
    --rm \
    -it \
    -v ~/EyeWitness:/tmp/EyeWitness \
    eyewitness \
    --web \
    --single http://www.google.com
Call to Action:

I'd love for EyeWitness to identify more default credentials of various web applications.
As you find a device which utilizes default credentials, please e-mail me the source code of the index page and the default creds so I can add it in to EyeWitness!

Main metrics

Overview
Name With OwnerRedSiege/EyeWitness
Primary LanguagePython
Program languagePython (Language Count: 5)
Platform
License:GNU General Public License v3.0
所有者活动
Created At2014-02-26 16:23:25
Pushed At2025-08-04 13:45:11
Last Commit At2024-10-22 16:50:50
Release Count102
Last Release Namev20230525.1 (Posted on )
First Release Name2.0 (Posted on )
用户参与
Stargazers Count5.4k
Watchers Count144
Fork Count887
Commits Count1.2k
Has Issues Enabled
Issues Count458
Issue Open Count29
Pull Requests Count198
Pull Requests Open Count2
Pull Requests Close Count31
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private