Ein neues Tool zum Sammeln von RDP-, Web- und VNC-Screenshots an einem Ort
Dieses Tool ist noch in Arbeit und sollte größtenteils nutzbar sein, ist aber noch nicht fertig. Bitte reichen Sie alle Fehler oder Funktionswünsche als GitHub-Probleme ein
Da Eyewitness kürzlich die Unterstützung für RDP eingestellt hat, gibt es kein funktionierendes CLI-Tool zum Erfassen von RDP-Screenshots. Nessus funktioniert immer noch, aber es ist mühsam, die Bilder herauszubekommen, und sie sind nicht in der Exportdatei enthalten.
Ich dachte, dies sei eine gute Gelegenheit, ein neues Tool zu schreiben, das leistungsfähiger ist als die vorherigen. Schauen Sie sich die Funktionsliste an!
Für Web-Screenshots ist das Spähen derzeit auf die Installation von Chromium oder Google Chrome angewiesen. Installieren Sie mit pacman -S chromium
oder dem Äquivalent für Ihr Betriebssystem.
Laden Sie die neueste Version über die Registerkarte „Releases“ herunter. Für Distributionen, die sie verwenden, ist ein Debian-Paket verfügbar (Installation mit sudo dpkg -i scrying*.deb
) sowie gezippte Binärdateien für Windows, Mac und andere Linux-Versionen.
Schnappen Sie sich eine einzelne Webseite, einen RDP-Server oder einen VNC-Server:
$ 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
Auf einem Headless-Server ausführen:
# apt install xvfb # or OS equivalent $ xvfb-run scrying -t http://example.com
Screenshots automatisch aus einer Nmap-Ausgabe abrufen:
$ nmap -iL targets.txt -p 80,443,8080,8443,3389 -oX targets.xml $ scrying --nmap targets.xml
Wählen Sie ein anderes Ausgabeverzeichnis für Bilder:
$ scrying -t 2001:db8::3 --output-dir /tmp/scrying_outputs
Aus einer Zieldatei ausführen:
$ cat targets.txt http://example.com rdp://192.0.2.1 2001:db8::5 $ scrying -f targets.txt
Über einen Web-Proxy ausführen:
$ scrying -t http://example.com --web-proxy http://127.0.0.1:8080 $ scrying -t http://example.com --web-proxy socks5://[::1]:1080
Bilddateien werden als PNG in der folgenden Verzeichnisstruktur gespeichert:
output ├── report.html ├── rdp │ └── 192.0.2.1-3389.png ├── vnc │ └── 192.0.2.1-5900.png └── web └── https_example.com.png
Schauen Sie sich den Bericht unter output/report.html
an!
Funktionen mit Häkchen daneben wurden implementiert, andere sind TODO
✔️ Entscheiden Sie automatisch, ob eine Eingabe als Webadresse oder RDP-Server behandelt werden soll
✔️ Ausgabeverzeichnis automatisch erstellen, falls es noch nicht vorhanden ist
✔️ Speichern Sie Bilder mit konsistenten und eindeutigen Dateinamen, die vom Host/der IP abgeleitet sind
✔️ Volle Unterstützung für IPv6- und IPv4-Literale sowie Hostnamen
✔️ Lesen Sie Ziele aus einer Datei und entscheiden Sie, ob es sich um RDP oder HTTP handelt, oder verwenden Sie Hinweise
✔️ Analysieren Sie Ziele intelligent aus der Nmap- und Nessus-Ausgabe
✔️ HTTP – verwendet den Plattform-Web-Renderer und stellt optional Pfade zum Ausprobieren auf jedem Server bereit
✔️ Erstellt einen HTML-Bericht, um ein einfaches Durchsuchen der Ergebnisse zu ermöglichen
✔️ VNC – unterstützt die Sendeauthentifizierung
✔️ RDP – funktioniert größtenteils, unterstützt den „einfachen RDP“-Modus nicht, siehe Nr. 15
✔️ Passen Sie die Größe der aufgenommenen Bilder an (Web und RDP; VNC lässt dies im Allgemeinen nicht zu)
Proxy-Unterstützung – SOCKS funktioniert für RDP. Das Web ist derzeit unterbrochen, bis der Befehl set_proxy in webkit2gtk #11 aufgenommen wird
Videostreams – Tracking-Problem Nr. 5
Option für Zeitstempel in Dateinamen
Lesen Sie Ziele aus einer MSF-Services-O-CSV-Ausgabe
OCR auf RDP-Benutzernamen, entweder live oder in einem Bildverzeichnis
NLA/Auth zum Testen der Anmeldeinformationen
Analysieren Sie die JSON-Ausgabe von Dirble, um Screenshots einer gesamten Website zu erstellen – warten Sie auf nccgroup/dirble#51
Vollständige plattformübergreifende Unterstützung – getestet unter Linux und Windows; Die Mac-Unterstützung wurde zurückgestuft, bis gute Ideen für das Screenshoting der Kakao-Webansicht vorliegen
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