5800,5801,5900,5901 - Pentesting VNC

Reading time: 3 minutes

tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks

Información Básica

Virtual Network Computing (VNC) es un robusto sistema de compartición de escritorio gráfico que utiliza el protocolo Remote Frame Buffer (RFB) para habilitar el control remoto y la colaboración con otra computadora. Con VNC, los usuarios pueden interactuar sin problemas con una computadora remota al transmitir eventos de teclado y mouse de manera bidireccional. Esto permite el acceso en tiempo real y facilita la asistencia remota o colaboración eficiente a través de una red.

VNC generalmente utiliza los puertos 5800 o 5801 o 5900 o 5901.

PORT    STATE SERVICE
5900/tcp open  vnc

Enumeración

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

Fuerza bruta

Conectar a vnc usando Kali

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

Desencriptar la contraseña de VNC

La contraseña por defecto se almacena en: ~/.vnc/passwd

Si tienes la contraseña de VNC y parece estar encriptada (unos pocos bytes, como si pudiera ser una contraseña encriptada), probablemente esté cifrada con 3des. Puedes obtener la contraseña en texto claro usando https://github.com/jeroennijhof/vncpwd

bash
make
vncpwd <vnc password file>

Puedes hacer esto porque la contraseña utilizada dentro de 3des para encriptar las contraseñas VNC en texto plano fue revertida hace años.
Para Windows también puedes usar esta herramienta: https://www.raymond.cc/blog/download/did/232/
Guardo la herramienta aquí también para facilitar el acceso:

Shodan

  • port:5900 RFB

tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks