Una nueva herramienta para recopilar capturas de pantalla RDP, web y VNC, todo en un solo lugar
Esta herramienta aún es un trabajo en progreso y debería ser utilizable en su mayor parte, pero aún no está completa. Presente cualquier error o solicitud de funciones como problemas de GitHub.
Dado que Eyewitness recientemente dejó de admitir RDP, no existe una herramienta CLI que funcione para capturar capturas de pantalla de RDP. Nessus todavía funciona, pero es complicado sacar las imágenes y no están incluidas en el archivo de exportación.
Pensé que esta era una buena oportunidad para escribir una herramienta nueva que sea más poderosa que las anteriores. ¡Consulta la lista de funciones!
Para las capturas de pantalla web, la visualización actualmente depende de que haya una instalación de Chromium o Google Chrome. Instale con pacman -S chromium
o el equivalente para su sistema operativo.
Descargue la última versión desde la pestaña de versiones. Hay un paquete Debian disponible para distribuciones que los usan (instalar con sudo dpkg -i scrying*.deb
) y binarios comprimidos para Windows, Mac y otros Linux.
Tome una sola página web, servidor RDP o servidor 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
Ejecutar en un servidor sin cabeza:
# apt install xvfb # or OS equivalent $ xvfb-run scrying -t http://example.com
Tome capturas de pantalla automáticamente desde una salida de nmap:
$ nmap -iL targets.txt -p 80,443,8080,8443,3389 -oX targets.xml $ scrying --nmap targets.xml
Elija un directorio de salida diferente para las imágenes:
$ scrying -t 2001:db8::3 --output-dir /tmp/scrying_outputs
Ejecutar desde un archivo de destino:
$ cat targets.txt http://example.com rdp://192.0.2.1 2001:db8::5 $ scrying -f targets.txt
Ejecutar a través de un proxy web:
$ scrying -t http://example.com --web-proxy http://127.0.0.1:8080 $ scrying -t http://example.com --web-proxy socks5://[::1]:1080
Los archivos de imagen se guardan como PNG en la siguiente estructura de directorios:
output ├── report.html ├── rdp │ └── 192.0.2.1-3389.png ├── vnc │ └── 192.0.2.1-5900.png └── web └── https_example.com.png
¡Consulte el informe en output/report.html
!
Se han implementado funciones con marcas de verificación al lado, otras son TODO
✔️ Decidir automáticamente si una entrada debe tratarse como una dirección web o un servidor RDP
✔️ Crear automáticamente un directorio de salida si aún no existe
✔️ Guarde imágenes con nombres de archivo únicos y consistentes derivados del host/IP
✔️ Soporte completo para literales IPv6 e IPv4, así como nombres de host
✔️ Leer destinos de un archivo y decidir si son RDP o HTTP o usar sugerencias
✔️ Analizar objetivos de forma inteligente a partir de la salida de Nmap y Nessus
✔️ HTTP: utiliza el renderizador web de la plataforma; opcionalmente proporciona rutas para probar en cada servidor
✔️ Produce un informe HTML para permitir una fácil navegación de los resultados
✔️ VNC: admite el envío de autenticación
✔️ RDP: funciona en su mayor parte, no admite el modo "RDP simple", consulte el n.º 15
✔️ Personalizar el tamaño de las imágenes capturadas (web y RDP; VNC generalmente no lo permite)
Soporte de proxy: SOCKS funciona para RDP. La web actualmente no funciona a la espera de la inclusión del comando set_proxy en webkit2gtk #11
Transmisiones de vídeo: problema de seguimiento n.º 5
opción para marcas de tiempo en nombres de archivos
Leer objetivos desde una salida de servicios msf -o csv
OCR en nombres de usuario RDP, ya sea en vivo o en un directorio de imágenes
NLA/auth para probar las credenciales
Analizar la salida JSON de Dirble para tomar capturas de pantalla de un sitio web completo - esperando nccgroup/dirble#51
Soporte multiplataforma completo: probado en Linux y Windows; Se ha quitado prioridad al soporte de Mac en espera de buenas ideas para hacer capturas de pantalla de la vista web de cacao
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