Barebones re-implementation of Eyewitness in Python 3.7 that uses Asyncio and Pyppeteer (headless chrome/chromium).
Depending on how mature this project gets, I might submit this as a PR to the original Eyewitness repository in order to update the project.
- Python >= 3.7
- No dependency/installation hell (currently uses only 2 third party packages)
- Asyncio provides Mad Max level speeds
- Headless chrome/chromium is just straight up gangsta
usage: witnessme.py [-h] [-p PORTS [PORTS ...]] [--threads THREADS]
target [target ...]
positional arguments:
target The target IP(s), range(s), CIDR(s) or hostname(s)
optional arguments:
-h, --help show this help message and exit
-p PORTS [PORTS ...], --ports PORTS [PORTS ...]
Ports (default: [80, 8080, 443, 8443])
--threads THREADS Number of concurrent threads (default: 25)
- Scan an entire subnet and take a screenshot of every HTTP & HTTPS webpage:
python witnessme.py 192.168.1.0/24
Store server info to a database- HTML report generation
- Cmdline script to search database
- Support NMap & .nessus files as input
- Web server categorization & signature support
- Accept URLs as targets (cmdline and files)