
Инструмент для сбора скриншотов RDP, веб-страниц и VNC в одном месте
Новый инструмент для сбора снимков экрана RDP, веб- и VNC-серверов в одном месте.
Этот инструмент всё ещё находится в разработке, в основном работоспособен, но пока не завершён. Пожалуйста, сообщайте об ошибках и запросах функций через GitHub issues.
Поскольку Eyewitness недавно прекратил поддержку RDP, не осталось рабочего CLI-инструмента для захвата снимков экрана RDP. Nessus по-прежнему работает, но извлечение изображений из него — муторное дело, и они не включаются в файл экспорта.
Я решил, что это хорошая возможность написать новый, более мощный инструмент, чем предыдущие. Ознакомьтесь со списком возможностей!
Для захвата веб-снимков Scrying в настоящее время требует установленного Chromium или Google Chrome. Установите с помощью pacman -S chromium или эквивалентной команды для вашей ОС.
Скачайте последний релиз на странице релизов. Доступен пакет Debian для дистрибутивов, его использующих (установка: sudo dpkg -i scrying*.deb), а также сжатые бинарники для Windows, Mac и других Linux.
Захват одной веб-страницы, RDP- или VNC-сервера:
$ 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 # или аналог для вашей ОС
$ xvfb-run scrying -t http://example.com
Автоматический захват снимков из вывода nmap:
$ 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
Файлы изображений сохраняются в формате PNG в следующей структуре каталогов:
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
