VNC (Virtual Network Computing) provides graphical remote desktop access and typically runs on TCP port 5900 and above (display :0 = 5900, :1 = 5901, etc.). Nmap identifies it as vnc. Common implementations include TightVNC, RealVNC, TigerVNC, and UltraVNC.
VNC authentication often relies on a single shared password rather than per-user credentials. Many installations use weak or default passwords, and some are configured with no authentication at all. VNC traffic is unencrypted by default, making it possible to intercept session data on a shared network. The VNC authentication challenge-response can also be captured and cracked offline.
Use nmap --script vnc-info to check the VNC version and authentication requirements. Test for no-auth access with vncviewer. Brute-force the password with hydra or crowbar. If the encrypted password file is accessible (often ~/.vnc/passwd), it uses a known fixed DES key and can be decrypted directly.
Enumeration
VNC discovery, auth probing, version fingerprinting, default creds
VNC Authentication Probing
VNC Service Discovery and Version Fingerprinting
Exploitation
Brute force, bypass auth, hijack sessions, and decrypt VNC hashes
VNC Brute Force and Default Credential Exploitation
Exploit VNC services via brute force and default credentials using Hydra, Metasploit, and manual techniques to gain unauthorised remote desktop access.
CVE-2006-2369 – RealVNC Authentication Bypass
VNC Reverse Connection – Receiving Sessions from Behind NAT
Exploit VNC reverse connections to receive sessions from NAT-restricted targets, bypassing firewall constraints during post-exploitation access.
VNC Session Hijacking – Stealing Active Sessions
VNC Unauthenticated Access – No-Auth Desktop Access
VNC Password Hash Extraction and Decryption
Covers extracting stored VNC password hashes from registry/config files and decrypting them using DES-based algorithms to recover plaintext credentials during exploitation.
Persistence
Guides on maintaining access via reverse VNC callbacks