Новый инструмент для сбора снимков экрана RDP, Интернета и VNC в одном месте.
Этот инструмент все еще находится в стадии разработки и должен быть в основном пригоден для использования, но еще не завершен. Пожалуйста, сообщайте о любых ошибках или запросах функций как о проблемах GitHub.
Поскольку Eyewitness недавно прекратил поддержку RDP, рабочего инструмента CLI для захвата снимков экрана RDP не существует. Nessus по-прежнему работает, но извлекать изображения сложно, и они не включаются в файл экспорта.
Я подумал, что это хорошая возможность написать новый инструмент, более мощный, чем те, что были раньше. Ознакомьтесь со списком функций!
Для создания веб-скриншотов просмотр в настоящее время зависит от установки 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 # or OS equivalent $ 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
!
Функции с галочками рядом с ними реализованы, остальные — TODO
✔️ Автоматически решать, следует ли рассматривать ввод как веб-адрес или сервер RDP.
✔️ Автоматически создавать выходной каталог, если он еще не существует.
✔️ Сохраняйте изображения с согласованными и уникальными именами файлов, полученными на основе хоста/IP-адреса.
✔️ Полная поддержка литералов IPv6 и IPv4, а также имен хостов.
✔️ Прочитайте цели из файла и решите, являются ли они RDP или HTTP, или используйте подсказки.
✔️ Разумно анализируйте цели на основе выходных данных Nmap и Nessus.
✔️ HTTP — использует веб-рендеринг платформы, при необходимости укажите пути для проверки на каждом сервере.
✔️ Создает отчет в формате HTML, позволяющий легко просматривать результаты.
✔️ VNC - поддерживает отправку аутентификации
✔️ RDP - в основном работает, не поддерживает режим «простой RDP», см. №15.
✔️ Настроить размер захваченных изображений (веб и RDP; VNC обычно этого не позволяет)
Поддержка прокси — SOCKS работает для RDP. Интернет в настоящее время не работает в ожидании включения команды set_proxy в webkit2gtk #11.
Видеопотоки – проблема с отслеживанием № 5
опция для временных меток в именах файлов
Чтение целей из вывода MSF Services -o CSV
OCR для имен пользователей RDP, как в реальном времени, так и в каталоге изображений.
NLA/авторизация для проверки учетных данных
Разберите вывод Dirble JSON, чтобы получить снимки экрана всего веб-сайта – ожидание nccgroup/dirble#51
Полная кроссплатформенная поддержка — протестировано на Linux и Windows; Поддержка Mac отключена в ожидании хороших идей по созданию скриншотов веб-просмотра какао.
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