A new tool for collecting RDP, web and VNC screenshots all in one place This tool is still a work-in-progress and should be mostly usable but is not yet complete.
Please file any bugs or feature requests as GitHub issues Since Eyewitness recently dropped support for RDP there isn't a working CLI tool for capturing RDP screenshots.
Nessus still works, but it's a pain to get the images out and they're not included in the export file. I thought this was a good opportunity to write a fresh tool that's more powerful than those that came before. Check out the feature list! For web screenshotting, scrying currently depends on there being an installation of Chromium or Google Chrome. Install with Download the latest release from the releases tab. There's a Debian package available for distros that use them (install with Grab a single web page, RDP server, or VNC server: Run on a headless server: Automatically grab screenshots from an nmap output: Choose a different output directory for images: Run from a targets file: Run through a web proxy: Image files are saved as PNG in the following directory structure: Check out the report at Features with ticks next to them have been implemented, others are TODOpacman -S chromium
or the equivalent for your OS.sudo dpkg -i scrying*.deb
), and zipped binaries for Windows, Mac, and other Linuxes.$ scrying -t http://example.com
$ scrying -t rdp://192.0.2.1
$ scrying -t 2001:db8::5 --mode web
$ scrying -t 2001:db8::5 --mode rdp
$ scrying -t 192.0.2.2
$ scrying -t vnc://[2001:db8::53]:5901
# apt install xvfb # or OS equivalent
$ xvfb-run scrying -t http://example.com
$ nmap -iL targets.txt -p 80,443,8080,8443,3389 -oX targets.xml
$ scrying --nmap targets.xml
$ scrying -t 2001:db8::3 --output-dir /tmp/scrying_outputs
$ cat targets.txt
http://example.com
rdp://192.0.2.1
2001:db8::5
$ scrying -f targets.txt
$ scrying -t http://example.com --web-proxy http://127.0.0.1:8080
$ scrying -t http://example.com --web-proxy socks5://\[::1\]:1080
output
├── report.html
├── rdp
│ └── 192.0.2.1-3389.png
├── vnc
│ └── 192.0.2.1-5900.png
└── web
└── https_example.com.png
output/report.html
!USAGE:
scrying [OPTIONS] <--file <FILE>|--nmap <NMAP XML FILE>|--nessus <NESSUS XML FILE>|--target <TARGET>>
OPTIONS:
--disable-report Don't create a report.html [aliases: no-report]
-f, --file <FILE> Targets file, one per line
-h, --help Print help information
-l, --log-file <LOG FILE> Save logs to the given file
-m, --mode <MODE> Force targets to be parsed as `web`, `rdp`, `vnc` [default:
auto] [possible values: web, rdp, vnc, auto]
--nessus <NESSUS XML FILE> Nessus XML file
--nmap <NMAP XML FILE> Nmap XML file
-o, --output <OUTPUT DIR> Directory to save the captured images in [default: output]
--proxy <PROXY> Default SOCKS5 proxy to use for connections e.g.
socks5://[::1]:1080
--rdp-domain <RDP DOMAIN> Domain name to provide to RDP servers that request one
--rdp-pass <RDP PASS> Password to provide to RDP servers that request one
--rdp-proxy <RDP PROXY> SOCKS5 proxy to use for RDP connections e.g.
socks5://[::1]:1080
--rdp-timeout <RDP TIMEOUT> Seconds to wait after last bitmap before saving an image
[default: 2]
--rdp-user <RDP USER> Username to provide to RDP servers that request one
-s, --silent Suppress most log messages
--size <SIZE> Set the size of captured images in pixels. Due to protocol
limitations, sizes greater than 65535x65535 may get truncated
in interesting ways. This argument has no effect on VNC
screenshots. [default: 1280x1024]
-t, --target <TARGET> Target, e.g. http://example.com, rdp://[2001:db8::4]
--test-import Exit after importing targets
--threads <THREADS> Number of worker threads for each target type [default: 10]
-v, --verbose Increase log verbosity
-V, --version Print version information
--vnc-auth <VNC AUTH> Password to provide to VNC servers that request one
--web-mode <WEB MODE> Choose between headless Chrom{e,ium} or native webview (GTK
on Linux, Edge WebView2 on Windows, Cocoa WebView on Mac
[default: chrome] [possible values: chrome, native]
--web-path <WEB PATH> Append a path to web requests. Provide multiple to request
each path sequentially
--web-proxy <WEB PROXY> HTTP/SOCKS Proxy to use for web requests e.g.
http://[::1]:8080