Убрать вирус в php
Никакой владелец сайта не захочет, чтобы траффик с его сайта уходил через редирект к неизвестным сайтам - это неинтересно как клиентам, подрывает доверие покупателей и вызывает санкции поисковых систем и антивирусов.
В данной статье я рассмотрю основные варианты встраивания вирусных редиректов.
Внимание! Удаляя редирект, Вы удаляете лишь следстствие, для того, чтобы ситуация не повторилась, Вам стоит искать причину попадания вирусов на сайт!
Кроме этого, вредоносные редиректы плохо детектируются сканерами и антивирусами, что зачастую приходится искать вручную источник зла.
В первую очередь ищем вставки кода в файлы .htaccess, особенно в корне сайта
Все что связано с Rewrite стоит проверить, куда перенаправляет.
Ниже я приведу пару вредоносных вставок - которые создают дорвеи и тысячи страниц в поиске, так называемый японский спам (сео-спам, страницы с иероглифами - тут много названий):
Если увидите что-то подобное - смело можно удалять, если сомневаетесь, какие строки можно оставить, то возьмите стандартный файл вашей CMS - там не будет находиться вирус!
Обычно редиректы прописывают для запросов с мобильных и планшетов:
android|plucker|pocket|psp|symbian|treo|vodafone|wap и другие вариации мобильных заголовков
как и для переходов с поисковых систем:
Если этот пункт не помог, то стоит обратить внимание на код страницы - порой часто редирект добавляют через Javascript
Чтобы избавиться от вредоносного кода может понадобиться массовая замена всех .js файлов.
Обязательно проверяйте индексные файлы и папку шаблона - это излюбленные места хакеров для вирусов. Особенно тщательно пройдитесь по файлам index.php, footer.php, head.php, header.php - в последнее время популярно стало размещать сами вирусы не в них, а в виде ссылок. Поэтому внимательно проверяйте, какие файлы подгружаются посредством команд include и require.
Самые изощренные вставки делаются уже в подгружаемые модули, плагины и компоненты. Это могут быть как отдельно внедренные модули (особенно если была взломана админка), так и просто вставки зашифрованного кода в файлы известных и популярных расширений.
К примеру, в последнее время встречаю не один сайт на джумле ( в частности на Joomla 2.5), где по пути includes/inc.class.php находится сам вирус, а в файл application.php в этой же папке вставлена следующая строка
Обычно параллельно с этим libraries/joomla/appplication находится вирус редиректа с именем joomla-app.php
не подскажите что это за папка
вот полный путь до папки
в файле .htaccess
order deny,allow
deny from all
в файле .htaccess.backup
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %
RewriteCond %
RewriteRule . /index.php [L]
order allow,deny
deny from all
в файле index.html
там пусто никаких записей нет
Подскажите пожалуйста если можно, что еще можно было бы поставить с связке с
All In One WP Security
какой нибудь сканер, если были изменения в файлах и автоматически сканировал сайт, буквально все что бы можно было бы обезопасить сайт?
Сделать такую связку чтобы они не конфликтовали между собой
Начала заниматься с вордпресс совсем недавно, и как этот движок самый распространенны й то ломают его часто, хотелось бы как сказать во все оружие встретить если что
Вроде бесплатных много есть плагинов, но не ставить же все подряд, чтобы конфликта не было
Если есть мысль было бы хорошо
Насчет крона это не про меня, не настолько понимаю
В любом случае спасибо что подсказали
Добрый день всем.
Пишу из за того что не знаю что уже делать. у меня на сайтах укакой то вирус который делает редирект с них. только в том случае если человек перрвый раз переходит из поисковиков путем нажатия на ссылку ведущую на мой сайт.
- Дело в том что эта "зараза" распростроняетс я и на поддомене.
Мы уже все снесли, все конструкторы и установили сайты заново, чистые аккуратно и без вируса, становится понятно что дело не в сайтах, не в их коде, Свои пк Ноутбук проверены разными антивирусами, но все ровно идет редирект, мы выходили специально даже от друзей, где они вообще ни имею отношения к нашим сайтам, но и там все происходит как на ролике выше. остается только один голый домен. помогите пожалуйста решить эту проблему, у меня весь трафик уходит налево, да ладно если бы просто уходил, так он ведет на проверенны лохотрон, люди страдают.
и так на всех моих сайтах и их поддоменах.
Я точно знаю что дело не в сайтах и не моих ПК.
Дело в самих доменах. Помогите прошу люди решить эту задачу.
Если ваш сайт взломали — не паникуйте.
В этой статье вы узнаете 2 способа вылечить сайт от вредоносного кода, бэкдоров и спама вручную, и 1 способ с помощью плагина.
В первом способе вы Экспортируете базу данных и несколько файлов. После этого вы переустановите Вордпресс, Импортируете базу данных обратно и импортируете несколько настроек из сохраненных файлов.
Во втором способе вы удалите часть файлов и попробуете найти внедренный код при помощи команд в SSH терминале.
В третьем способе вы установите плагин.
Убедитесь, что сайт взломан
Если вы думаете, что сайт взломан, убедитесь, что это действительно так. Иногда сайт может вести себя странно или вы можете думать, что сайт взломали.
Ваш сайт взломан, если:
Сделайте бэкап
После того, как вы убедились, что сайт взломан, сделайте бэкап всего сайта с помощью плагина, бэкап приложения на хостинге или по FTP.
Некоторые хостинг провайдеры могут удалить сайт, если вы скажете им, что сайт взломан, или если хостинг провайдер сам определит это. Владельцы хостинга могут удалить сайт, чтобы не заразились другие сайты.
Также сделайте бэкап базы данных. Если что-то пойдет не так, вы всегда можете вернуться ко взломанной версии сайта, и начать все сначала.
Если ваши логи событий хранятся не в папке сайта, то скопируйте логи, так как обычно они хранятся на хостинге несколько дней, после чего автоматически удаляются.
Что можно безопасно удалить с любого взломанного сайта
- Обычно можно удалить все содержимое папки wp-content/plugins/ . Вы не потеряете никакие данные и это не разрушит сайт. Позже Вордпресс определит, что вы удалили плагины, и отключит их. Не удаляйте только отдельные файлы, удаляйте папки с плагинами целиком. Некоторые плагины создают свои папки и файлы не только в папке /plugins , но и в других. Например, W3TC удаляется так. Некоторые файлы кеша W3TC определяются некоторыми сканерами как подозрительный или вредоносный код. Удалите все папки и файлы плагинов, чтобы не было ложных срабатываний.
- Оставьте только одну тему в папке wp-content/themes/ , все остальные папки с темами можно удалить. Если вы пользуетесь дочерней темой, то оставьте 2 папки, — с родительской и с дочерней темой.
- В папки wp-admin и wp-includes очень редко добавляются новые файлы. Если вы видите в них что-то новое, скорее всего, это добавил хакер. Файлы Вордпресс.
- Удалите старые копии или бэкапы сайта из подпапок сайта. Обычно что-нибудь вроде /old или /backup . Хакер мог попасть в старую версию сайта, и оттуда проникнуть в основную версию сайта. Если ваш сайт взломали, проверьте эти папки на наличие вредоносного ПО, часто старые версии сайта заражены вирусами.
Как очистить Вордпресс сайт от заражения. Способ 1
- Сделайте полный бэкап сайта и базы данных, и сохраните их на компьютер.
- Скачайте на компьютер файл wp-config.phpиз корневой папки сайта, папку /wp-content/uploads и папку с активной темой. Перед копированием темы обновите ее до последней версии. Если вы пользуетесь дочерней темой, то скопируйте обе папки.
- Полностью удалите сайт и базу данных с сервера.
- Установите свежую копию Вордпресс, используйте новые сложные логин и пароль.
- Перенесите настройки связи с базой данных из сохраненного файла wp-config.php в новый из этой части файла:
Как удалить вредоносный код и вылечить сайт. Способ 2
Если у вас есть SSH доступ к серверу, вы можете использовать эти команды, чтобы проверить, какие файлы изменялись за последние X дней. Этот запрос покажет все измененные файлы в запрошенном интервале времени во всех папках и подпапках сайта (чтобы узнать, какие это папки, наберите pwd в SSH терминале):
Если вы хотите найти измененные файлы в определенной папке, используйте этот запрос:
Замените /путь/к/вашему/сайту/папка/ на путь к вашей папке.
Если вы хотите изменить интервал до 10 дней, сделайте такой запрос:
Не забудьте заменить /путь/к/вашему/сайту/папка/ на путь к нужной папке.
Сделайте такой поиск, начните с 2-х дней и постепенно увеличивайте количество дней, пока не увидите изменения в файлах. Не забывайте, что обновления ПО — тоже изменения в файлах. После того, как вы нашли зараженный файл, его можно вылечить или заменить на оригинальный. Это очень простой и эффективный способ найти зараженные файлы, который используется всеми сервисами по лечению сайтов.
Хакеры часто используют эти функции:
- base64
- str_rot13
- gzuncompress
- eval
- exec
- create_function
- system
- assert
- stripslashes
- preg_replace (/e/)
- move_uploaded_file
Эти функции могут использоваться и в оригинальных файлах тем или плагинов, но в большинстве случаев это хак. Перед тем, как что-нибудь удалить, убедитесь, что вы не удаляете здоровый код или файл.
Более аккуратный запрос может быть таким:
Эта команда покажет все файлы, в которых встречается фраза hacker was here .
Хакеры часто внедряют код в папку /uploads . Этот код поможет вам найти все файлы в папке uploads, которые не являются изображениями. Результат сохраняется в файле “uploads-not-pictures.log” в текущей папке.
Использование запросов find и grep поможет вам очистить сайт от заразы.
Как найти вредоносный код и вылечить сайт с помощью плагина. Способ 3
Зайдите в Scan Settings, Зарегистрируйтесь в правом окне Updates & Registrations и нажмите Run Complete Scan.
Сервисы, на которых вы можете проверить сайт на наличие вредоносного ПО
Что делать с зараженными файлами
В зависимости от того, что вы нашли, вы можете удалить файл целиком или только ту часть, которую добавил хакер.
- Если вы нашли файл бэкдора, в котором находится только вредоносный скрипт — удалите весь файл.
- Вы нашли вредоносный код в файле Вордпресс, темы или плагина — удалите весь файл, и замените на оригинальный с официальной страницы.
- Вы нашли вредоносный код в файле, который вы или кто-то создал вручную — удалите вредоносный код и сохраните файл.
- Возможно, у вас в бэкапе есть незараженная версия сайта, вы можете восстановить сайт из старой версии. После восстановления обновите Вордпресс, плагины и тему, смените пароль и установите плагин безопасности.
- Если ничего не помогло — обратитесь к профессионалам в платный сервис.
Вам нужно удалить свой сайт из списка зараженных сайтов Гугл.
- Зайдите в Инструменты вебмастера Гугл
- Добавьте свой сайт, если вы его еще не добавили
- Подтвердите владение сайтом
- На главной странице вашего аккаунта Инструментов вебмастера Гугл выберите ваш сайт
- Кликните Проблемы безопасности
- Нажмите Запросить проверку
Аналогично со списком зараженных сайтов Гугл, нужно удалить сайт из списков всех антивирусов: Касперского, ESET32, Avira и так далее. Зайдите на сайт каждого производителя и найдите инструкции по удалению своего сайта из списка опасных сайтов. Обычно это называется whitelisting. Наберите в поисковике eset whitelist website, avira site removal, mcafee false positive, это поможет вам найти нужную страницу на этих сайтах, чтобы исключить свой сайт из списка сайтов, содержащих вредоносное ПО.
Там же вы можете проверить субдомены вашего сайта, если они есть. На этой странице вы найдете детальную информацию о вашем сайте, находится ли он в списках malware или phishing сайтов, и что делать, если содержится.
Что делать, чтобы сайт не заразился снова?
- Регулярно обновляйте версию Вордпресс, тем и плагинов по мере выхода новых версий. Автообновление Вордпресс.
- Используйте сложные логины и пароли. Рекомендация для пароля: пароль должен быть не менее 12 символов, содержать заглавные и строчные буквы, цифры и символы.
- Выбирайте темы и плагины от проверенных авторов.
- Используйте надежный хостинг. Обзор хостинга Бегет.
- Установите плагин безопасности. 7 Лучших плагинов защиты Вордпресс.
- Настройте автоматический бэкап всех файлов и базы данных. Бэкап Вордпресс.
- Удалите все старые версии сайта с сервера.
- Читайте Безопасность Вордпресс. Подробное описание.
Читайте также:
Надеюсь, статья была полезна. Оставляйте комментарии.
Чем сайту грозят вирусы? Не только изменением информации или файлов. В большинстве случаев страдает бизнес. Компания МастерКласс узнала о проблемах с сайтом в первую очередь потому, что в 3 раза снизилось количество заявок на ремонтные услуги! Вместо 10 звонков в день поступали 1 - 3. Трафик на сайт снизился до минимума.
Если на вашем сайте проявляется подозрительная активность, описанная в статье, рекомендуем немедленно обратиться в отдел сопровождения сайтов к специалистам для проведения исследования.
Подозрение на вирусы
15 марта — начало истории. Клиент заметил падение трафика и через несколько дней обратился к нам.
Проблема видна невооруженным взглядом по Метрике. С начала марта посещаемость сайта поползла вниз.
Мы нашли подтверждение проблемы в вебмастере — снижение числа проиндексированных страниц в 4 раза. Трафик просел.
Внимательно посмотрев на сайт, обнаружили, что файл настроек адресов страниц urlrewrite.php и конфигурационный файл .htaccess изменились. Из-за этого все страницы каталога поменяли адреса. Поисковик не успел их проиндексировать, а старые удалил.
Тревожным звонком было то, то при первой попытке изменить файл .htaccess, он через несколько минут вернулся в прежнее состояние. Напоминаю, мы грешили на хостинг, и эту проблему устранили настройкой прав доступа к .htaccess.
На тот момент решили, что, возможно, клиент или хостинг случайно поменяли настройки. Мы починили файлы и отчитались клиенту о результате.
Через несколько дней файл сломался вновь, равно как и адреса страниц.
Первая попытка — Разговор дипломатов
Причина падения трафика и выпадения страниц из индекса.
В недрах сайта был специальный php-файл, который делал 2 вещи:
- Собрали небольшое семантическое ядро и сгруппировали фразы по категориям каталога.
- Проверили и исправили все рекомендации в Яндекс.Вебмастере, добавили сайт в Search Console для ускорения индексации Google и возврата трафика.
- Нашли существующие 404-е ошибки, составили список страниц, отдали заказчику на исправление.
- Нашли дубли META-информации, настроили шаблоны для меты с помощью SEO-свойств 1С-Битрикс.
- Нашли последний рабочий архив (делали после SEO-реанимации).
- Развернули на поддомене, проверили, работает.
- Заменили сайты.
Прошло несколько дней, проблема повторилась. В этот раз решили провести тщательное исследование.
Артподготовка — Применили тяжелую артиллерию
После сканирования файлов сайта антивирусом AVG было обнаружено 4 файла вирусов-троянов.
Один из файлов отличался размером, после проверки выяснили, что этот файл попал на сайт в то же время, что и не заражённые файлы сайта. Вероятно, этот файл был добавлен ещё в старую версию сайта. Остальные 3 файла были созданы позже. То есть, сайт долгое время был заражен, но это никак не проявлялось.
Отчет антивирусной программы
Содержимое зараженного файла
Далее выполнили ручной анализ в папке /bitrix/admin и найдено еще несколько файлов с вредоносным кодом.
Выполнили поиск по сайту по подстрокам из вирусных файлов, но больше ничего не нашли.
Зараженные файлы находились в ядре битрикса.
Версии возникновения вирусов:
1) в старую версию сайта несколько лет назад был добавлен (вручную или автоматически) файл /bitrix/admin/mobile/bitrixcloud_monitoring_ini.php который использовался злоумышленником для добавления остальных файлов (для спама, рассылки и пр.). Этот файл не является частью ядра 1С-Битрикс.
- просканировали файлы (AVG + Касперский) сайта на наличие вирусов;
- вручную сделали анализ некоторых подозрительных файлов;
- выполнили поиск по подстрокам из зараженных файлов;
- удалили все найденные файлы с вредоносным кодом;
- усилили безопасность сайта через настройки проактивной защиты;
- проверили все файлы tools.php, о котором сообщил сотрудник хостинга (источник рассылки спама):
/bitrix/modules/catalog/general/tools.php и подобные. - развернули сайт из очищенной резервной копии.
- Затаились, стали ждать.
Прошло ровно 5 дней, проблема повторилась. Вирус (или злоумышленник) каждый раз оказывался хитрее нас. На этот раз:
1) в файлы index.php в начало добавляется include файла из /upload, инклудится файл вида favicon- .ico
2) в подключаемом файле после расшифровки оказался код загрузки вирусных плагинов через POST-запрос.
У всех измененных файлов дата изменения устанавливается в find ./ -mtime +6 -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r
Зачистка — высадили десант
- Восстановили сайт из свежей чистой резервной копии.
- Поменяли все пароли от всех хостингов, админок, итд.
- Оставили только одного пользователя в админах, остальным ограничили доступ к структуре.
- Проверили ядро на наличие изменений.
- Удалили все сторонние модули.
- Руками и глазами проверили все подозрительные места.
Сайт работает без проблем, попросили хостинг включить отправку почты. Трафик удалось удержать. Выдохнули.
- Храните пароли как зеницу ока на бумажке под подушкой.
- Обновляйте платформу и всегда продлевайте лицензию 1С-Битрикс.
- Если даете доступы фрилансерам или подрядчикам, всегда заводите для них временные пароли и ограничивайте доступ.
- Храните резервные копии отдельно от сайта.
Благодарим Евгения Молчанова (ООО “МастерКласс”) за терпение и участие в совместном решении проблемы!
В серии статей Защита Joomla мы уже рассмотрели различные способы и средства защиты Joomla от хакерских атак и вирусов. Но что делать, если ваш сайт уже заражен? Как его вылечить?
В этой статье приведено пошаговое руководство лечения сайта на Joomla от вирусов (приведенные шаги актуальны и для сайтов на других CMS). Выполните все шаги, и ваш сайт будет восстановлен.
Кто и зачем заражает сайты вирусами?
Давайте, в первую очередь, разберемся в теоретических причинах заражения. Предположим, что у вас действительно не столь посещаемый сайт, чтобы заинтересовать хакеров (его посещают десятки – сотни человек ежедневно). Кто, зачем и как заразил ваш сайт?
Не стоит сразу перебирать врагов и конкурентов. Скорее всего, заражение вашего сайта – это случайность и опосредовано, виноваты в нем ВЫ (или веб-мастер, который отвечает за ваш сайт компании).
С большой долей вероятности точно также получилось и с вашим сайтом.
Невыполнение хотя бы одного из этих трех пунктов уже подвергает ваш сайт высокому риску.
Дальше в дело вступает лотерея. Предположим, в один прекрасный день кто-то обнаружил уязвимость в Joomla. Он отправил информацию о ней разработчикам Joomla. Они исправили уязвимость и выпустили обновленную версию. Через некоторое время о найденной уязвимости становится известно широкой публике, в которой встречаются и не очень хорошие личности. Одна из таких личностей пишет паука – программу, которая сканирует интернет на предмет поиска необновлённых сайтов с этой уязвимостью и, находя их, использует уязвимость для взлома.
Конечно, нельзя исключать и целенаправленной хакерской атаки на ваш сайт, но вероятность такой атаки очень мала по сравнению с тем, что вы поймали паука. Я бы сказал, 1% против 99%. С ростом популярности, посещаемости и показателей вашего сайта вероятность будет смещаться в сторону хакерской атаки, но пока ваш сайт не содержит ничего особо ценного, хакеры не будут тратить на него время, т.к. их время стоит дороже.
Мой сайт заражен. Что делать?
Ваш сайт заражен. Чтобы вылечить его, а предлагаю вам использовать инструкцию, состоящую из 10 шагов. Выполнять шаги нужно последовательно, а не в произвольном порядке.
Если ваш сайт заражен, то по уровню халатности вы попадаете в одну из двух категорий:
- Я регулярно делаю резервные копии своего сайта / Я настроил регулярное резервное копирование на хостинге.
- Резервные копии? Ээээ… Что это?
Если вы попали в первую категорию, то у меня для вас хорошие новости: вам не придется лечить сайт от вирусов. Просто восстановите резервную копию и переходите к шагу 7.
Если же вы попадаете во вторую категорию, то придется попотеть, либо потратиться на специалиста. Кроме того, для вас есть и очень плохая новость:
При чистке сайта от вирусов нет, и не может быть никакой гарантии полного излечения.
Давайте разберемся почему.
Представим столь популярные нынче фильмы про зомби. Один человек стал зомби, потом он покусал другого, тот третьего и так заразилось половина планеты. Спустя некоторое время человечество опомнилось и уничтожило всех зараженных. Воцарился мир и спокойствие. Спустя еще некоторое время оказалось, что в каком-то глубоком темном подвале оставался еще один зараженный, которого не смогли обнаружить. И затем в этот подвал зашел здоровый человек…
Примерно такой же принцип в заражении сайта. Файлы сайта, коих несколько тысяч, могут быть изменены. Также могут быть добавлены новые файлы, с названиями, которые себя ничем не выдают. Вирус может записать себя в любые каталоги и файлы файловой структуры сайта. Потом сайт почистят от вирусов. Все зараженные файлы удалят. Но где гарантия, что один из таких файлов не будет упущен? Ее нет. А такой файл может, в конечном итоге, привести к повторному заражению всего сайта.
Всё это не значит, что нужно опустить руки и пойти делать новый сайт. Всё-таки, шаги, описанные далее, позволяют в высокой долей вероятности вычистить весь вредоносный код, до последней строчки.
Подведем итог шага 1.
- Если вы делали резервные копии, найдите ту из них, которая еще не заражена и восстановите из нее сайт. Далее переходите к шагу 7.
- Если вы не делали резервные копии, будьте готовы к тому, что никто не даст вам 100% гарантии на полную отчистку сайта от вирусов. Переходите к шагу 2.
Если вы читаете данный шаг, то поздравляю, ваша халатность на высоте. Но нужно и в этом искать плюсы. Вы научитесь лечить сайты, а также узнаете много нового о работе с ними. Эти знания, определенно, будут вам полезны, как владельцу сайта.
На данном этапе вам нужно создать локальную копию файловой структуры сайта. Создайте на хостинге архив с фалами сайта и скачайте его на свой компьютер. Если вы не знаете, как это делается, обратитесь в тех. поддержку хостинга с просьбой создать и выслать вам копию сайта.
Стандартный Joomla-сайт состоит из двух частей:
- Файловая система сайта
- База данных
Вредоносный код может быть и в файлах и в базе данных, но всё-таки наиболее вероятно найти его в файлах.
После того, как вы скачали архив с файлами сайта и развернули у себя на локальном компьютере, проверьте его хорошим антивирусом, например Касперским. У антивирусных компаний есть бесплатные инструменты для разовых проверок. Воспользуйтесь одним из них:
Если у вас есть лицензионный обновленный антивирус на компьютере, то можете использовать его.
Антивирусы для операционных систем не предназначены для лечения сайтов, но, тем не менее, некоторую долю вирусов они могут обнаружить и удалить. Всё-таки, это наиболее профессиональные инструменты. Не стоит ими пренебрегать.
После проверки будет найдено несколько вирусов или не найдено ничего. Найденные зараженные файлы лечим (вручную отчищаем от вредоносного кода) или удаляем. Переходим к шагу 3.
На этом этапе разминка закончилась. Впереди рутиный и нудный труд. Пришло время проверить зараженный сайт специализированным средствами поиска вредоносного кода. К таковым относятся:
- AiBolit – бесплатный сканер вирусов и вредоносных скриптов. Он удобен тем, что может быть очень легко запущен под Windows.
- Manul – антивирусная утилита от Яндекса.
Советую использовать AiBolit, поскольку проект Manul закрыт Яндексом и более не обновляется. По результатам проверки для вас будет сгенерирован отчет о подозрительных файлах и уязвимостях.
- Скачиваете с официального сайта AiBolit для Windows.
- Копируйте файлы зараженного сайта в папку site.
- Запускаете файл start.bat.
По результатам будет сгенерирован файл отчета AI-BOLIT-REPORT.html
Manul – это php-скрипт. Чтобы его запустить, нужен локальный web-сервер. Вы можете использовать для этих целей Open Server или Denwer. Далее следуйте инструкциям с официального сайта Manul.
Важно! Ни в коем случае не запускайте на локальном сервере зараженный сайт. Не вылеченные на данном этапе вредоносные скрипты могут размножиться.
После проверки сканерами, на руках у вас будет два отчета с подозрительными файлами. Будьте уверены: многие из них являются вирусами или содержат вредоносный код.
Далее следует довольно нудный этап. Нужно вручную пройтись по всем подозрительным файлам и проверить код, расположенный в них. Зачастую вредоносный код выделяется форматированием из основного. Код Joomla стройный и не содержит ничего лишнего. Код вредоносных скриптов часто внедряется без форматирования. Посмотрите пример ниже.
Код вредоносного скрипта:
Не бойтесь открывать зараженные php-файлы для просмотра через текстовый редактор. Пока не запущен интерпретатор PHP (локальный сервер, который может выполнить PHP-код), вирусы и вредоносные скрипты не представляют опасности.
Если зараженных файлов найдено слишком много, можно воспользоваться такой хитростью: уточните текущую версию Joomla на вашем сайте, скачайте именно эту версию с официального сайта. Скопируйте файлы скачанной версии в папку с зараженной, переписывая совпадения. Таким образом, вы сможете переписать большую часть зараженных файлов оригинальными. Аналогичным образом можно заменить файлы крупных расширений Joomla. Более подробно это описано в шаге 5.
Перед удалением зараженных файлов, аккуратно записывайте фрагменты кода вредоносных скриптов и названия файлов, в которых они найдены, в отдельный файл. Они понадобятся нам на следующих шагах.
Данный шаг может отнять много времени, а также может быть сложен для тех, кто не очень хорошо разбирается в PHP-коде. Общий совет: если сомневаетесь вредоносный перед вами скрипт или нет, считайте, что да. Не бойтесь удалять зараженные файлы Joomla и расширений. На следующих шагах мы их восстановим. Исключение составляют лишь файлы, находящиеся в каталоге используемого вами шаблона сайта. Их не получится восстановить и работать с ними нужно очень осторожно.
Когда все файлы из отчетов проверены/отчищены/удалены, проведите сканирование файловой структуры сайта повторно. Не должно быть найдено ничего. После этого можно переходить к шагу 4.
Теперь пришла пора постепенно включать голову. Надеюсь, что вы последовали моему совету, на предыдущем шаге и копировали фрагменты кода вредоносных скриптов в отдельный файл.
Если вирус, которым заражен ваш сайт, писал не гений, а скорее всего это так, то от файла к файлу зараженные фрагменты кода должны, так или иначе, повторяться. Этим мы и воспользуемся для того чтобы найти то, что пропустили сканеры и антивирусы.
Для выполнения данного шага нам понадобится программа Total Commander или любая другая утилита, умеющая искать по файлам. Я все же советую использовать Total Commander.
Открыв файловую структуру сайта через Total Commander, переходим в Команды –> Поиск файлов…
Здесь нам интересны две вкладки.
Позволяет указать текст, который нужно искать в файлах. У вас уже есть сохраненные фрагменты кода вируса. Смекаете? Выбираем фрагмент и ищем его повторения в файлах по всей файловой системе сайта. Будьте уверены, что-то найдется. Далее проверяем найденные файлы, чистим/удаляем.
Еще одна прекрасная возможность найти все зараженные файлы – использовать дату изменения файла. Посмотрите еще раз внимательно отчет AiBolit. Он показывает дату создания/изменения подозрительных файлов. Вероятнее всего все зараженные файлы были созданы примерно в недельный временной промежуток или даже в один день. Вычислите его, а затем задайте на вкладке Дополнительно этот промежуток или день. Так вы сможете определить все подозрительные файлы.
Данный способ не является полностью надежным, поскольку качественные вирусы могут изменять дату своего создания, но попробовать его, определенно, стоит. Мне он очень помогает.
После выполнения всех описанных действий можно выполнять шаг 5.
Этапы тут следующие:
- Откройте админку зараженного сайта (старого, не отчищенного!) и перейдите в Расширения –> Менеджер расширений –> Управление.
- Перепишите себе все установленные сторонние расширения и их версии. Запишите версию Joomla.
- Скачайте Joomla заданной (не последней!) версии и все расширения заданных версий.
- Обновите вручную файловую структуру Joomla путем копированием скачанной версии с заменой.
- Обновите вручную файловую структуру расширений путем копирования с заменой.
На данный момент, мы сделали всё, что было в наших силах, чтобы отчистить и восстановить файловую структуру сайта. Пришло время базы данных. Переходим к шагу 6.
Вредоносный код может содержаться не только в файлах сайта, но и в его базе данных. Чистить базу, в некоторой степени, сложнее, чем файловую структуру. Я бы выделил два этапа:
- Скачать дамп базы данных сайта и проверить его вручную. Вы можете скачать через PhpMyAdmin базу данных сайта в виде текстового файла и открыть ее через Nodepad++ или другой текстовый редактор. Данный файл желательно просмотреть на предмет присутствия странных фрагментов, проверить на наличие опасных элементов, таких, как iframe.
- В таблице #__users базы данных сайта, найти всех пользователей с правами суперадминистратора и проверить, нет ли там посторонних.
После этого нужно развернуть и запустить сайт на локальном сервере (шаг 7).
Поскольку я, в некоторой степени, параноик, советую на этом шаге запускать сайт на локальном сервере с отключенным интернетом.
Перед запуском нужно морально быть готовым к тому, что сайт запустится с ошибками. Возможно, вы удалили какой-то файл Joomla или расширения во время чистки, но при этом не восстановили его в дальнейшем. Ничего страшного в этом нет. Главное, чтобы запустилась админка. Если это произошло, делаем следующее:
- Обновляем Joomla до последней версии путем установки обновления через менеджер расширений Joomla.
- Обновляем все расширения до последних версий путем установки обновлений через менеджер расширений Joomla.
После этого сайт должен работать корректно и без ошибок. Если что-то осталось, исправляем вручную и переходим к шагу 8.
- Пароли администраторов
- Пароль на сервере базы данных
- Пароль FTP
- Пароль от панели управления хостингом
На этом всё, ваш сайт отчищен. Осталось убедиться, что уязвимость, которая привела к заражению, закрыта.
Снова включаем голову (да знаю, она у вас уже устала и ничего не соображает). Что же всё-таки привело к заражению? В начале статьи я дал пару мыслей на этот счет.
Постарайтесь понять, где на вашем сайте могут быть уязвимости. Не обязательно быть большим специалистом. Важно просто здраво мыслить.
Советую проверить домашний компьютер на вирусы, а также обратить внимание на хостинг, на котором размещен сайт. Какие о нем отзывы в интернете? Быть может, причиной заражения стал плохо настроенный сервер.
Если вы видите какие-то, пусть даже теоретические причины заражения, то будет правильным избавиться от них до перезапуска сайта.
Если вы дошли до этого шага, то поздравляю! Это большой путь. Теперь вы гораздо больше знаете о сайтах и их безопасности. Полностью удалите с хостинга зараженную копию сайта и перенесите туда отчищенную. Также замените базу данных, если вы вносили в нее изменения.
Первую неделю я советую отслеживать изменения в файловой системе на предмет повторного появления вируса. Вероятность того, что какой-то из зараженных файлов всё-таки остался, всегда существует.
Если ничего не помогает.
Но что делать, если даже после чистки и восстановления сайта вирусы появляются вновь? Здесь есть два варианта:
- Вы можете отдать уже отчищенную копию специалистам по безопасности, чтобы они проверили ее на предмет того, что упущено вами.
- Вы можете создать новый сайт (в некоторых случаях это может быть дешевле), но надеюсь, что до этого, всё-таки, не дойдет.
Главный вывод.
Надеюсь, данная статья помогла вам вылечить сайт от вирусов или, по крайней мере, дала большее представления о безопасности, возможных уязвимостях и способах их устранения.
Главное, что нужно делать, чтобы не оказаться один на один с взломанным сайтом – регулярное резервное копирование. Позаботьтесь о том, чтобы у вас на компьютере хранилась хотя бы одна резервная копия за каждый месяц, и спите спокойно ;-).
Читайте также: