RDP, 웹 및 VNC 스크린샷을 모두 한곳에 수집하기 위한 새로운 도구
이 도구는 아직 작업이 진행 중이며 대부분 사용할 수 있어야 하지만 아직 완료되지 않았습니다. 버그나 기능 요청이 있으면 GitHub 문제로 제출해 주세요.
목격자가 최근 RDP에 대한 지원을 중단했기 때문에 RDP 스크린샷을 캡처하는 데 작동하는 CLI 도구가 없습니다. Nessus는 여전히 작동하지만 이미지를 내보내는 것이 힘들고 내보내기 파일에 포함되지 않습니다.
나는 이것이 이전 도구보다 더 강력한 새로운 도구를 작성할 수 있는 좋은 기회라고 생각했습니다. 기능 목록을 확인해보세요!
웹 스크린샷의 경우 현재 Chromium 또는 Google Chrome 설치 여부에 따라 스크라이닝이 달라집니다. pacman -S chromium
또는 해당 OS에 해당하는 프로그램을 사용하여 설치하세요.
릴리스 탭에서 최신 릴리스를 다운로드하세요. 이를 사용하는 배포판에 사용할 수 있는 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에서 작동합니다. webkit2gtk #11에 set_proxy 명령이 포함되어 현재 웹이 손상되었습니다.
비디오 스트림 - 추적 문제 #5
파일 이름의 타임스탬프 옵션
msf services -o csv 출력에서 대상 읽기
라이브 또는 이미지 디렉터리의 RDP 사용자 이름에 대한 OCR
자격 증명을 테스트하기 위한 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