Лечим Джумлу — PHP.Hide, Trojan.PHP-43, phpshell и прочие…

Начинается все, с вот такого милого сообщения от хостера клиенту, цитирую с некоторыми купюрами

Здравствуйте!
Домен newglas.ru заблокирован за рассылку спам сообщений.

Спам рассылался скриптом r.php, выдержка из лога:

Кроме этого спам скрипта, антивирус нашел следующие зараженные файлы:

Пошагово.
1. Для поиска вирусов скачиваем мой fsCure .
2. Распаковываем его в корень сайта.

3. Просим хостера разблокировать сайт. Обычно хостер соглашается, если удалить файлы из письма. На время лечения важно заблокировать сайт для других. Чтобы остановить рассылку спама и прочие вредоносные функции.
Я делаю это строчками в .htaccess

Где 188.88.88.88 — мой IP. Впрочем можно вписать и несколько айпи, например дать доступ клиенту.

4. запускаем мой антивирусник по адресу. http://имя.сайта/fscure/
При первом запуске скрипт составляет список файлов и проверяет подозрительные сигнатуры. Их список можно увидеть внизу. Сами сигнатуры можно настроить в config.php . Вот так обычно выглядит скрипт после запуска.

phphide

Первое что нужно сделать после запуска, это настроить сортировку. Вирусы скорее всего попали на сайт последними. На скрине видно, что время модификации файлов меньше, чем время создания. Значит сортируем по времени создания.
 

Файлы у которых подозрительные сигнатуры, например eval ( base64_decode( проверяем кликая по ссылке.

phpshell filesman Trojan.PHP-43

. Вот так  например выглядит зашифрованный Filesman PHP.shell , он же Trojan.PHP-43, backdoor.php.phpshell .  Кнопа "Удалить" поможет герою.

Далее рутина, нужно проверять подряд все подозрительные файлы. С некоторым опытом, вы начнете угадывать по названию и сигнатрам наличие вируса. А пока придется смотреть код.
Рутину можно сократить активно используя поиск. Найдя очередной вир, вобьем в поиск уникальную строку(сигнатуру) из тела вируса. Например "base64_decode($_POST"shell_remove
Нашлись три файла. Файлы маленькие, у 2-х размер совпадает. Поэтому достаточно проверить один из них и удалить все.
Важно! Не забываем после удаления перегрузить список сканера.

А вот прекрасное. Часто встречающиеся с картинки с однотипными названиями, например im4966n9g.gif.  Смотрим исходный код "картинки" и видим.

Эта штука именуется PHP.Hide . Любимая среда обитания в Джумле — папка images/stories/ и image/banners/

При использовании поиска, может оказаться что в выдаче есть, как файлы содержащие только тело вируса , так и рабочие файлы, в которых вирус дописан в начале. Обычно такой класс именуется у антивирусников php.inject.shell, например поиском по сигнатуре if(isset($_REQUEST находим.
Выкладываю ссылкой несколько скринов что делать
1. Файлы с разным размером. Что то из них malware, что то нет.
php.inject.shell

2. Скрин с размером 2056. В нём только вирус. В файлах меньшего размера аналогично
inject.shell_empty

3.Скрин файла с размером 21968. Полностью рабочий файл. Несмотря на наличие сигнатуры вируса нет. Нельзя удалять.
signatura

4. Добавляем в поиске "искать файлы размером менее 2057" Жмем "Ок". Можно пользоваться кнопкой "Удалить все" .После каждого удаления, не забываем перегрузить список файлов.
remove_filtered

После удаления php вирусов, проверям javascript. Его на сайте обычно немного, поэтому я предпочитаю проверять его вручную в Файрефоксе, через Webdeveloper Tools-> Information->View Javascript . Вирусные вставки в джаваскрипт обычно вначале или в конце. Если джаваскрипт обфусцирован обычно проще проверить его с сайта источника, чем заниматься деобфускацией.  

Вы можете обратиться ко мне за помощью в лечениии сайта.
Стоимость работы всего 800 руб.
Работа займет 1.5 – 2часа.
 

Вы получаете:
— поиск и устранение вируса и вредоносного кода

— устранение уязвимости

— 6 месяцев гарантии

 

Контакты

icq 346469836

fstrange.ru

cure@fstrange.ru

You may also like...

  • Pingback: Joomla удаление вирусов()

  • Pingback: Джумла поиск вирусов()

  • niggatub

    Как быть, если вредоносный код прописался в рабочие файлы джумлы? Только ручками?

    • смотря какой и как часто повторяется. Есть несколько способов для автоудаления

  • Вит Ив

    Придумайте, как исключить НАВСЕГДА из найденного то, что не является вирусом. Поставьте чистую джумлу со всеми доступными возможными модулями JCE, Akeebe, Mtree, … Kunena … и поймёте, что в полученной билиберде НЕВОЗМОЖНО найти вирус. Создайте базу исключений и пополняйте её время от времени. Тогда будет толк от этого поиска вирусов. А пока это только составитель списка файлов из каталога джумла. ВО ВСЕХ ФАЙЛАХ есть то, что он ищет.