一款用於在一個地方收集 RDP、Web 和 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 - 使用平台 Web 渲染器,可選擇提供在每個伺服器上嘗試的路徑
✔️ 產生 HTML 報告以便輕鬆瀏覽結果
✔️ VNC - 支援發送身份驗證
✔️ RDP - 大部分工作正常,不支援「普通 RDP」模式,請參閱 #15
✔️ 自訂捕捉影像的大小(Web 和 RDP;VNC 通常不允許這樣做)
代理支援 - SOCKS 適用於 RDP。 Web 目前已損壞,等待將 set_proxy 指令包含在 webkit2gtk #11 中
視訊串流 - 追蹤問題 #5
檔案名稱中的時間戳選項
從 msf services -o csv 輸出讀取目標
對 RDP 使用者名稱進行 OCR,無論是即時使用者名稱或影像目錄
NLA/auth 來測試憑證
解析 Dirble JSON 輸出以取得整個網站的螢幕截圖 - 等待 nccgroup/dirble#51
完整的跨平台支援 - 在 Linux 和 Windows 上經過測試; Mac 支援已被取消優先級,等待截取可可 Web 視圖的好主意
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