Вирус index_backup.php (.htaccess вируc). Обнаружение, лечение и удаление опубликовал Gennady категория  
просмотры 35 351

Вирус index_backup.php (.htaccess вируc). Обнаружение, лечение и удаление

Описание вируса

Вирус index_backup.php модифицирует или создает (при отсутствии) файл .htaccess, а также файл index_backup.php, на который собственно и идет переадресация из файла .htaccess во всех папках сайта содержащих файл index.php. Как правило, вирус заражает все сайты на аккаунте, а также может раскидать в разные папки по сайтам на площадке (в пределах аккаунта) .php файлы —  бэкдоры для последующего использования. Вирус может заразить любые CMS, в моем случае вирус затронул WordPress, Joomla, Bitrix, Drupal и самописную CMS.

Быстрое удаление вируса index_backup.php

Чтобы быстро восстановить трафик с поисковых систем,  т.е добиться статуса «Вредоносный код на сайте не обнаружен» в инструментах вебмастера Яндекс, Google — достаточно удалить код см. листинг 1, из файла  .htaccess в коре вашего сайта

После удаления из корневого файла «левого» редиректа, обязательно заходим в инструменты вебмастера и заказываем перепроверку сайта, если вам повезет — то в течении несколько часов, редко минут надпись вида  «сайт может угрожать безопасности вашего компьютера»  исчезнет, если нет (поисковые роботы слишком заняты) — ожидание перепроверки может продлится несколько дней.

Важно понимать, что мы только позаботились о трафике, но при этом не удалили вирус полностью. Т.е если у вас, например, стоит WordPress то следы вируса еще будут в нескольких местах, но как правило это не индексируемые ПС страницы, и следовательно наличие следов вируса не так критично.

Код вставлямый вирусом в .htaccess файл, листинг 1:


Код index_backup.php файла приводить не буду, не вижу смысла, тем более он закодирован base64.

Поиск вируса на сайте, и путей его проникновения

В моем случае мне достался сайт уже с вирусом и я, по незнанию, имел неосторожность разместить его с десятками других сайтов на аккаунте.  В один прекрасный день, я получил уведомление от Яндекса о том что все мои сайты содержат вредоносный код. 4 из нескольких десятков сайтов на площадке выводились в поиске Яндекса с предупреждением «На сайте обнаружен потенциально опасный код». Заражены были все сайты на площадке, но Яндекс определил только 4 самых посещаемых. Гугл, при этом, определил только 1 из зараженных (думаю, это связано с преимущественным трафиком из яндекса на мои сайты). Итак, вирус активизировался, значит у нас есть точное время использования дыры безопасности сайта — время изменения-создания файла.


Поиск вируса на основе его активности

Скачиваем логи доступа к сайту, или запрашиваем их в службе поддержки хостинга. Нас интересуют логи ftp подключений к сайтам хостинговой площадки, и http-access логи (много весят, особенно если сайт посещаемый и если на вашем аккаунте размещено много сайтов).

  1. На основании информации создания файлов index_backup.php  или изменения-создания  файла .htaccess, смотрим дату и время создания, с точностью до минуты
  2. Смотрим весь фтп лог, в моем случае он всего несколько десятков строк — коннекты с левых ip не обнаружены, ни в день активности вируса ни ранее, т.е такой способ проникновения, как кража фтп пароля отпадает, дополнительное подтверждение этому — отсутствие подобных проблем на других хостинговых площадках в том числе данного хостинга (при краже пароля через троян на компьютере пользователя, с высокой вероятностью  пострадали бы все площадки)
  3. Смотрим http лог — данные переданные методом POST, на основании  времени создания (которое определили ранее) сужаем временной диапазон поиска до 1 минуты. Нас интересуют обращения к нестандартным именам файлов  CMS сайта, вот пример найденного использовани из лога (дата, ip адрес злоумышленника, названия сайта, путь к вирусу изменены):
    в строке после POST видим путь к файлу бэкдора
    с помощью которого была осуществлена вирусная деятельность

Поиск вируса php утилитами, антивирусами

Для CMS cуществуют разные плагины поиска вирусов на сайте и проверки безопасности, также существуют универсальные php скрипты, суть которых — сканирование дерева сайта, на предмет выявления подозрительных файлов имеющие нехарактерные для вашей CMS названия, шифрованных файлов, файлов содержащих известные вирусные сигнатуры, но имхо, эти действия нужно совершать, когда нет вирусной активности, но вы знаете, что вирусы или дыры присутствуют.

Удаление php вируса с сайта

Вариант полного восстановления из резервной копии не рассматриваю — у многих даже за сутки накапливается столько ценной информации на сайте, что терять — перезаливать ее не хочется. Самый простой, и наверное правильный способ удаления вируса с сайта (но не самый быстрый, зависит от качества хостинга и грамотности специалистов и их загрузки),  при проведенном анализе, —  это написать письмо в службу поддержки хостинга, что я и сделал. Содержание примерно следующее:

  1. Прошу удалить по всей площадке логин_площадки файлы index_backup.php, файлы .htaccess, и восстановить из резервной копии за указываем нужную дату файлы .htaccess
  2. Прилагаю архив файла с найденным вирусом с паролем 123,  прошу на основе его сигнатуры проверить все файлы площадки (архивируем файл, чтобы антивирусы почтовых программ не вырезали или удалили файл, или попусту не дали отправить письмо)

Удаление вируса самостоятельно

Для это нужно фактически вручную проверить и отредактировать каждый файл  .htaccess на предмет наличия в нем кода см. листинг 1 , если в нем только указанный код, файл .htaccess  можно удалить,  Удалить все файлы index_backup.php, и удалить найденные файлы .php backdoor (нет гарантии что вы выявили все уязвимости). Конечно процесс можно сильно упросить, и повысить вероятность удаления максимального количества уязвимостей сайта (если вы опытный пользователь), итак: скачайте  к себе текущую копию файлов сайта на компьютер, и его резервную копию:

  1. Используя скачанную резервную копию извлекаем из нее только файлы .htaccess, c сохранением структуры дерева папок, и заливаем на хостинг, заменяя модифицированные вирусом.
  2. Используя антивирус (в частности бесплатный avast спокойно находит данный вирус)  и текущую скачанную копию файлов, находим все вирусы и по аналогичным путям удаляем их с хостинга
  3. Используя ftp клиент(современные фтп клиенты умеют осуществлять поиск файлов на фтп сервере),  делаем поиск файлов index_backup.php и удаляем их разом (все найденные файлы, в моем случае — более 200 штук).

также действия 1 и 3 можно выполнить прямо на сервере через ssh клиент,  но как-то спокойнее работать с копией, и иметь копию на своем компьютере.

В заключение

Данный пост написан на основании моего личного опыта борьбы с вирусом, который я назвал index_backup.php (по названию генерируемого им файла). Если вам есть чем дополнить или есть вопросы связанные с темой поста — пишите в комментариях.  Информация из данного  поста поможет в борьбе не только с указанным вирусом но и с любым другим вирусом на сайте. Также вы должны понимать, что злоумышленник имея 1-бэкдор может залить через него десятки других с разными сигнатурами и принципами действия и, конечно, пользоваться ими не сразу после первичного размещения на сайте, а например, через полгода, когда логи и резервные копии будет уже не восстановить. Поэтому не ленитесь, делайте регулярно полные резервные копии ваших сайтов и скачивайте их себе на компьютер и храните годами. Тогда вы спокойно сможете сравнить, например, все .php файлы, которые были у вас ранее с теми что есть сейчас, и достаточно легко сможете обнаружить раскиданные злоумышленником вирусы-бакдоры, самое сложное найти их.

Если этот текст показался Вам интересным — делитесь ссылкой и лайкайте. Социальные кнопки вверху страницы:-)

Теги:

4 Комментарий

Оставить комментарий
  1. Gennady Август 18, 2013 at 6:34 дп #

    сегодня, описанный в посте php вирус был замечен как вирус создающий файлы phpinfo.php вместо index_backup.php в остальном все тоже самое.

    на основании его повторной вирусной активности было выявлено что вирус долбился на созданные и удаленные при первой активности файлы .php, и когда их не обнаружил 404 ошибка в логах, загрузил их снова, тем самым выдал новые свои виды вирусных файлов, которые уже не определяются антивирусом и имеют простой не шифрованный php+html код

    поискав по содержимому .php файлов
    по фразам что были в найденном вирусном файле: Message sent и $security_code и некоторые другие, было обнаружено несколько аналогичных загрузчиков, которые имеют старую дату создания и имена — замаскированные под папку(одноименные с названием папки в которой они лежат)
    пример:

    удаляем и их, даже интересно имеются ли еще загрузчики у этого вируса…

  2. Gennady Сентябрь 1, 2013 at 3:06 пп #

    следующая вирусная активность вируса изменяющего .htaccess не заставила себя ждать, и выявила новый вид загрузчика вируса на сайт на этот раз через функцию php file_get_contents

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

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

    ищем еще файлы с аналогичным кусками кода, также анализируем все .php файлы сайта имеющие функцию file_get_contents, т.к именно она загружает вирусный код, а параметры ее окружающие наш вредитель ) мог указать разные для усложнения выявления созданных им лазеек на сайт.. Удаляем из найденных файлов левый код

  3. Эгоист Ноябрь 13, 2013 at 3:36 пп #

    да..и меня постигла эта участь. Сижу теперь разгребаю из бэкапов

  4. Violattor Июнь 25, 2016 at 6:56 пп #

    В моем случае было куча срани. Вывожу названия файлов
    post.php
    testosteron.php
    mail.php
    css.php
    dir22.php
    wp-login.php
    admin.php
    htaccess.php
    file.php
    mysql.php
    backup.php
    log.php
    login.php
    functions.php
    gallery.php
    stats.php
    javascript.php
    user.php
    view.php
    page.php
    global.php
    template.php
    article.php
    error.php
    menu.php
    utf19.php
    start24.php
    press.php
    blog94.php
    info.php
    wp-login.php

    f1.html
    k1.html
    help.htbl

    suspected
    footer.php
    diff.php
    press.php
    ini.php
    index.php
    test.php
    callback.php
    list.php
    syslib.php
    dirs.php
    files13.php
    stopgloal.php

    error15.php
    title.php
    xml.php

Добавить комментарий

vk_like_site