hacktricks/network-services-pentesting/pentesting-vnc.md
2023-08-03 19:12:22 +00:00

6.5 KiB
Raw Blame History

5800,5801,5900,5901 - VNC渗透测试

☁️ HackTricks云 ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

基本信息

在计算机领域,虚拟网络计算VNC是一种使用远程帧缓冲协议RFB来远程控制另一台计算机的图形桌面共享系统。它将一个计算机的键盘和鼠标事件传输到另一台计算机然后将图形屏幕更新传回到另一台计算机通过网络进行中继。
来自wikipedia

VNC通常使用端口5800或5801或5900或5901

PORT    STATE SERVICE
5900/tcp open  vnc

枚举

VNC

Virtual Network Computing (VNC) 是一种用于远程控制计算机的图形化桌面共享系统。它允许用户通过网络连接到远程计算机,并在本地计算机上查看和操作远程计算机的桌面。

端口扫描

使用端口扫描工具如Nmap扫描目标主机以确定是否开放了VNC服务。默认情况下VNC使用TCP端口5900和5901。如果发现这些端口开放则可能存在VNC服务。

nmap -p 5900-5901 <target_ip>

VNC协议版本

使用VNC协议版本扫描工具如vnccrack扫描目标主机以确定正在使用的VNC协议版本。不同的协议版本可能存在不同的漏洞和弱点。

vnccrack -t <target_ip>

VNC认证绕过

尝试使用常见的用户名和密码组合进行VNC认证。还可以尝试使用弱密码字典进行暴力破解。

vncviewer -passwd <password_file> <target_ip>:<port>

VNC截屏

使用VNC截屏工具如vncsnapshot获取远程计算机的屏幕截图。

vncsnapshot -passwd <password_file> <target_ip>:<port> <output_file>

VNC会话劫持

使用VNC会话劫持工具如vncinject劫持正在进行的VNC会话以获取远程计算机的控制权。

vncinject -passwd <password_file> <target_ip>:<port>

VNC漏洞利用

根据目标主机的VNC版本和已知的漏洞尝试利用已知的VNC漏洞进行攻击。

VNC字典攻击

使用VNC字典攻击工具如vncrack进行字典攻击以尝试破解VNC认证密码。

vncrack -u <username> -P <password_file> <target_ip>:<port>

VNC会话劫持

使用VNC会话劫持工具如vncinject劫持正在进行的VNC会话以获取远程计算机的控制权。

vncinject -passwd <password_file> <target_ip>:<port>

VNC漏洞利用

根据目标主机的VNC版本和已知的漏洞尝试利用已知的VNC漏洞进行攻击。

nmap -sV --script vnc-info,realvnc-auth-bypass,vnc-title -p <PORT> <IP>
msf> use auxiliary/scanner/vnc/vnc_none_auth

暴力破解

使用Kali连接到VNC

vncviewer [-passwd passwd.txt] <IP>::5901

解密VNC密码

默认的密码存储在~/.vnc/passwd

如果你有VNC密码并且它看起来是加密的几个字节就像是一个加密的密码。它可能是使用3des进行加密的。你可以使用https://github.com/jeroennijhof/vncpwd获取明文密码。

make
vncpwd <vnc password file>

你可以这样做因为多年前已经破解了用于加密明文VNC密码的3DES密码。
对于Windows,你还可以使用这个工具:https://www.raymond.cc/blog/download/did/232/
我也将工具保存在这里以便访问:

{% file src="../.gitbook/assets/vncpwd.zip" %}

Shodan

  • port:5900 RFB
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥