Как почистить хостинг от вирусов

Професиональный верстальщик - фрилансер

Есть проблемная ситация – сайт с вирусами.


Сейчас я покажу как этот вирус найти легко и уничтожить. Первым делом нужно скачать сайт на локаль – ведь так намного проще проверять масив файлов.

Этот текст из описания видео, потому он немного сумбурный и уныл. Впрочем и остальная моя писанина)

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

Если у вас установлен антивирус, которые проверяет файлы на лету – есть шанс что вы обнаружите в каких-то файлах вирусы ещё при скачивании. Смотрите в логах моего антивируса.

В моем случае мой Microsoft Security ничего не показал – вирус оказался ему неизвестен.

Окей. Подготовка закончилась. Теперь к работе.

Скачиваем архив с АйБолитом.

Внутри три папки:

  • ai-bolit – собственно само ядро антивируса
  • known_files – версии антивирусных баз файлов для разных движков
  • tools – вспомагательная утилита.

Итак, приступаем к лечению сайта от вирусов

  1. Копируем из папки ai-bolit все файлы в корень сайта
  2. Если мы знаем какой у нас движок – выбираем в папке known_files папку с нашей CMS и закидываем в корень все файлы. В моем случае движок WordPress, потмоу будем лечить от вирусов антивирусными базами для WordPress. Если хотите вобще все проверить – можете антивирусные базы залить от всех движков – авось найдет что-то больше)
  3. Снова забыл – нужно в настройках АйБолита указать экспертный режим работы. Для этого текстовым редактором открываем файл ai-bolit.php и находим там строчку define(‘AI_EXPERT’, 0); меняем “0” на “1” и все – экспертный режим включен.
  4. Теперь – нужно распаковать наш zip архив c php в какую-то папку, где с ним было бы удобно работать. Нам понадобится файлик – php.exe
  5. Теперь нужно запустить исполняемый файл нашего антивируса. Для этого два раза кликнем по ai-bolit.php. У меня уже готов выбор чем выполнять этот скрипт.









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

Антивирус для сайта Ай-Болит позволяет искать вирусы в таких движках:

Хотя можно попробовать искать и в обычных html сайтах и остальных движках.

После работы антивирус создает отчет, где описывает все подозрительные и зараженные файлы. Вам остается только зайти и вручную их почистить. Ну или перезалить плагины/темы рабочие.


Я бы советовал сохранить только папку uploads и папку с вашей темой. Плагины все перекачать, настройки останутся в базе данных – их вирусы не трогают. Тему проверить вручную все файлы – благо их там немного, если верстал сайт не корявый верстальщик. А все остальное в движке залить наново. это самый надежный способ.

И ещё напоминаю – вирусы скоре всего у вас по всему аккаунту на хостинге (очень редко они умудряются прыгать между аккаунтами разных пользователей, только в тмо случае если админ хоостинга криворук.)

Вирусы это печально(

PS: две статьи как чистить уже найденные вирусы:


Но и установкой одного антивируса здесь тоже не обойтись. Я не буду перечислять причины, а сразу перейду к главному вопросу. Если уж так случилось, что вы сами обнаружили или инструменты веб-мастера яндекса и гугла вам подсказали о присутствии вредоносного кода или вируса на вашем сайте, необходимо сразу принять меры, иначе о последствиях просто подумать страшно. Простой бан поисковиков вам покажется сказкой.

Если у вас статичный сайт-визитка созданный на простом html-шаблоне или сверстан вами самостоятельно, то вылечить такой сайт от вирусов покажется простым баловством. Ведь наверняка всегда есть копия такого сайта на локальной машине, старый удалил, новый закачал на хостинг и все готово. Но если вы используете cms-системы, здесь проблема посерьезней и решить ее на раз-два не получиться.

Как вылечить сайт от вирусов созданный на cms

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

Для начала регистрируемся и получаем письмо с просьбой о подтверждении регистрации. Затем добавляем адрес сайта в специальное поле и процесс пошел.


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

Добавлять файл можно вручную, или автоматически, если есть данные для ftp-доступа



Если все сделано правильно и перейдя по ссылке у вас не будет ошибок, а будет вот такая картинка, тогда все отлично и можно выбрать способ лечения платный и бесплатный поиск, а лечить будем самостоятельно. В бесплатном режиме можно проверить только один раз, но а если нет желания постоянно думать о безопасности и тратить время на проверку и лечение сайта от вирусов, можно довериться сервису за не большую плату, всего 2499 рублей в год. Что называется, заплатил и спи спокойно.



Я выбрал бесплатную проверку сайта на вирусы и лечение в ручном режиме. Почему? Что касается денег, то они здесь ни при чем, а вот про ручной режим немного расскажу.

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

Сам процесс проверки показан на картинке ниже.


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

Чтобы обезопасить себя и развеять все сомнения о подозрительных файлах найденных у меня на блоге, я пропустил все эти файлы еще через 50 антивирусов сервиса virustotal.


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


Вылечить сайт от вирусов можно и вручную, но это для любителей работать ручками и копаться в файлах в поисках вредоносного кода или подозрительного файла. Об этом в другой раз. Если конечно это интересно, оставляйте комментарии.


Если ваш сайт взломали — не паникуйте.

В этой статье вы узнаете 2 способа вылечить сайт от вредоносного кода, бэкдоров и спама вручную, и 1 способ с помощью плагина.

В первом способе вы Экспортируете базу данных и несколько файлов. После этого вы переустановите Вордпресс, Импортируете базу данных обратно и импортируете несколько настроек из сохраненных файлов.

Во втором способе вы удалите часть файлов и попробуете найти внедренный код при помощи команд в SSH терминале.

В третьем способе вы установите плагин.

Убедитесь, что сайт взломан

Если вы думаете, что сайт взломан, убедитесь, что это действительно так. Иногда сайт может вести себя странно или вы можете думать, что сайт взломали.

Ваш сайт взломан, если:

Сделайте бэкап

После того, как вы убедились, что сайт взломан, сделайте бэкап всего сайта с помощью плагина, бэкап приложения на хостинге или по FTP.

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

Также сделайте бэкап базы данных. Если что-то пойдет не так, вы всегда можете вернуться ко взломанной версии сайта, и начать все сначала.

Если ваши логи событий хранятся не в папке сайта, то скопируйте логи, так как обычно они хранятся на хостинге несколько дней, после чего автоматически удаляются.

Что можно безопасно удалить с любого взломанного сайта

  • Обычно можно удалить все содержимое папки wp-content/plugins/ . Вы не потеряете никакие данные и это не разрушит сайт. Позже Вордпресс определит, что вы удалили плагины, и отключит их. Не удаляйте только отдельные файлы, удаляйте папки с плагинами целиком. Некоторые плагины создают свои папки и файлы не только в папке /plugins , но и в других. Например, W3TC удаляется так. Некоторые файлы кеша W3TC определяются некоторыми сканерами как подозрительный или вредоносный код. Удалите все папки и файлы плагинов, чтобы не было ложных срабатываний.
  • Оставьте только одну тему в папке wp-content/themes/ , все остальные папки с темами можно удалить. Если вы пользуетесь дочерней темой, то оставьте 2 папки, — с родительской и с дочерней темой.
  • В папки wp-admin и wp-includes очень редко добавляются новые файлы. Если вы видите в них что-то новое, скорее всего, это добавил хакер. Файлы Вордпресс.
  • Удалите старые копии или бэкапы сайта из подпапок сайта. Обычно что-нибудь вроде /old или /backup . Хакер мог попасть в старую версию сайта, и оттуда проникнуть в основную версию сайта. Если ваш сайт взломали, проверьте эти папки на наличие вредоносного ПО, часто старые версии сайта заражены вирусами.

Как очистить Вордпресс сайт от заражения. Способ 1

  1. Сделайте полный бэкап сайта и базы данных, и сохраните их на компьютер.
  2. Скачайте на компьютер файл wp-config.phpиз корневой папки сайта, папку /wp-content/uploads и папку с активной темой. Перед копированием темы обновите ее до последней версии. Если вы пользуетесь дочерней темой, то скопируйте обе папки.
  3. Полностью удалите сайт и базу данных с сервера.
  4. Установите свежую копию Вордпресс, используйте новые сложные логин и пароль.
  5. Перенесите настройки связи с базой данных из сохраненного файла 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.

Сервисы, на которых вы можете проверить сайт на наличие вредоносного ПО

Что делать с зараженными файлами

В зависимости от того, что вы нашли, вы можете удалить файл целиком или только ту часть, которую добавил хакер.

  • Если вы нашли файл бэкдора, в котором находится только вредоносный скрипт — удалите весь файл.
  • Вы нашли вредоносный код в файле Вордпресс, темы или плагина — удалите весь файл, и замените на оригинальный с официальной страницы.
  • Вы нашли вредоносный код в файле, который вы или кто-то создал вручную — удалите вредоносный код и сохраните файл.
  • Возможно, у вас в бэкапе есть незараженная версия сайта, вы можете восстановить сайт из старой версии. После восстановления обновите Вордпресс, плагины и тему, смените пароль и установите плагин безопасности.
  • Если ничего не помогло — обратитесь к профессионалам в платный сервис.

Вам нужно удалить свой сайт из списка зараженных сайтов Гугл.

  1. Зайдите в Инструменты вебмастера Гугл
  2. Добавьте свой сайт, если вы его еще не добавили
  3. Подтвердите владение сайтом
  4. На главной странице вашего аккаунта Инструментов вебмастера Гугл выберите ваш сайт
  5. Кликните Проблемы безопасности
  6. Нажмите Запросить проверку

Аналогично со списком зараженных сайтов Гугл, нужно удалить сайт из списков всех антивирусов: Касперского, ESET32, Avira и так далее. Зайдите на сайт каждого производителя и найдите инструкции по удалению своего сайта из списка опасных сайтов. Обычно это называется whitelisting. Наберите в поисковике eset whitelist website, avira site removal, mcafee false positive, это поможет вам найти нужную страницу на этих сайтах, чтобы исключить свой сайт из списка сайтов, содержащих вредоносное ПО.

Там же вы можете проверить субдомены вашего сайта, если они есть. На этой странице вы найдете детальную информацию о вашем сайте, находится ли он в списках malware или phishing сайтов, и что делать, если содержится.

Что делать, чтобы сайт не заразился снова?

  • Регулярно обновляйте версию Вордпресс, тем и плагинов по мере выхода новых версий. Автообновление Вордпресс.
  • Используйте сложные логины и пароли. Рекомендация для пароля: пароль должен быть не менее 12 символов, содержать заглавные и строчные буквы, цифры и символы.
  • Выбирайте темы и плагины от проверенных авторов.
  • Используйте надежный хостинг. Обзор хостинга Бегет.
  • Установите плагин безопасности. 7 Лучших плагинов защиты Вордпресс.
  • Настройте автоматический бэкап всех файлов и базы данных. Бэкап Вордпресс.
  • Удалите все старые версии сайта с сервера.
  • Читайте Безопасность Вордпресс. Подробное описание.

Читайте также:

Надеюсь, статья была полезна. Оставляйте комментарии.

Сегодня хакеры всего мира ведут успешную работу по взламыванию всевозможных веб-сайтов. Эта проблема достигла большого уровня опасности, поэтому в данной статье поговорим о действиях, которые надо предпринимать в том случае, если Ваш интернет-ресурс на Wordpress, Joomla, Datalife или другом популярном движке оказался уже взломанным.

Причины взлома

Прежде всего, необходимо понять причины, по которым взламываются сайты. Любой интернет-ресурс (популярный или не очень, новый или старый, приносящий большую или маленькую прибыль) может принести взломщику потенциальную пользу, поскольку взломанные сайты могут служить для:

  • рассылки спама;
  • посылки посетителей ресурса на другие сайты (к примеру, для фишинга);
  • распространения вирусов на компьютеры пользователей и кражи их данных;
  • атак на сайты других владельцев;

Признаки взлома

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

При наличии выше приведенных признаков у Вашего сайта, можно с определенной долей уверенности делать вывод, что он взломан. Чаще всего ломаются такие популярные движки, как Wordpress, Joomla, Datalife и прочие. Необходимо сразу отметить бесполезность устранения локальных последствий взлома, а именно – удаления чужеродного файла в корневой директории, удаление вставки iframe из шаблона, удаление нового кода из .htaccess.

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

Последствия взлома

Негативные последствия от нежелания действовать могут быть самыми разными, а именно:

  • бан поисковыми системами;
  • снижение уровня посещаемости;
  • получение жалоб на вас в органы (при перенаправлении на мошеннический сайт);
  • блокировка хостинга (при спамах аккаунта или нападении его на другие сайты).

Естественно, что Вам это не надо. Поэтому постарайтесь быстрее решить данную проблему, организовав своевременную чистку аккаунта.

Что же делать?

Сложность проведения очистки аккаунта заключается в необходимости полного удаления всех зловредных файлов и чужеродных кодов. Поскольку при удалении только одного из них злоумышленник и далее сможет свободно входить на Ваш сайт.

Прекрасно, если при этом Вы будете иметь здоровый бекап, на котором отсутствуют следы взлома. Ведь при одинаковой последовательности шагов бекап облегчает Вашу работу.

Шаг 1. Сохранение необходимой информации.

Прежде всего, следует сохранить базу данных. Заразить вирусом ее невозможно (исключением является такая мелочь, как вставка кода в новости, что в принципе делается очень редко). Проверьте, чтобы в папках uploads и images отсутствовали исполняемые файлы php и другого типа.

Все остальные файлы в этих папках сохраните. Однако помните, что шансы у вируса опять попасть на Ваш сайт тем большие, чем больше данных вы сохраните. Поэтому сохраняйте все по минимуму. Использовать можете свой здоровый бекап, если он Вас полностью устраивает.

Шаг 2. Глобальная очистка активного хост-аккаунта.

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

Шаг 3. Восстановление.

При наличии бекапа, закачайте его. А после этого обновите до самой свежей версии дистрибутив движка.

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

Шаг 4. Защитные меры.

Одним из самых важных по значимости является последний этап, цель которого состоит в том, чтобы избежать повторного взлома. Для достижения этой цели необходимо:

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

2. Обновить движок до свежей версии, и впоследствии делать это регулярно. Знайте, что программное обеспечение с открытым исходным кодом очень часто ломается, а одним из предназначений обновлений как раз и является регулярное заделывание дыр.

3. Поищите в поисковике защитные плагины и поставьте их. Конкретные советовать не будем, каждый движок имеет свои плагины, с помощью которых можно обезопасить сайт.

P.S.

Ваш сайт, который был однажды взломан, теперь находится в группе риска, поэтому нужно прикладывать максимум усилий для его защиты. Если хотите надолго попрощаться с проблемами, постарайтесь сделать все так, как нужно!

Обратившись к консультантам нашей технической поддержки, Вы сможете получить ответы на возникшие у Вас вопросы. Также мы порекомендуем Вам специалистов по лечению Ваших интернет-ресурсов от разнообразных вирусов.

Каковы причины заражения сайтов?

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

Некоторые сайты взламываются ради распространения среди пользователей классических вирусов и формирования ботнетов. Как правило, такие сайты блокируются поисковыми системами, и пользователи при обращении к подобным ресурсам видят предупреждение о том, что сайт заражен. Популярные поисковые системы предоставляют сервис почтовых извещений о заражении ваших сайтов: webmaster.yandex.ru, google.com/webmasters.

Что делать при заражении или взломе сайта? Кто виноват?

Если ваш сайт заражен, не стоит паниковать и мучать своего хостера гневными обвинениями. В 90% случаев хостер к этой проблеме не имеет никакого отношения.

Но всё-таки можно уточнить у своего провайдера, имеет ли проблема массовый характер, или возникла только на вашем сайте. Если сайт размещен на shared-хостинге с общим IP-адресом, можно найти сайты соседей, например с помощью сервиса xseo.in, и проверить, заражены ли они.

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

Первым делом стоит обновить антивирус и выполнить полную проверку собственного компьютера на вирусы. Бесплатные программы HiJackThis, Dr.Web CureIt!, AVZ помогут найти даже ту заразу, которая не была обнаружена обычным антивирусом.

После сканирования (и лечения, если требуется) смените пароли доступа к электронной почте, аккаунту на хостинге, и удалите все сохраненные пароли из браузеров и FTP-клиентов.

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

Полезным является бесплатный скрипт AI-Bolit. Он умеет искать вирусы, редиректы на сторонние сайты, дорвеи код ссылочных бирж, директории, открытые на запись для всех и др. После проверки скрипт выведет список подозрений на вредоносные включения, которые можно будет проверить и устранить вручную, отредактировав исходные коды файлов сайта.

Если сайт построен на популярной CMS (особенно DLE, Wordpress и Joomla), то возможно злоумышленник воспользовался ее уязвимостью. Это значит, что нужно обновить CMS и ее модули до последних стабильных версий из официальных источников, отключить неиспользуемые или подозрительные модули, закрыть доступ к административным частям сайта с помощью .htpasswd (или с помощью панели управления хостингом), а также периодически проводить аудит безопасности сайта и менять административные пароли.

Обязательно нужно проверить логи доступа к веб-серверу на предмет посторонних запросов.

Также нужно проверить временные директории CMS, и директории, в которые разрешена загрузка файлов (tmp, cache, images, uploads, user_files и так далее) на предмет посторонних файлов, а также попросить хостера проверить общую временную директорию сервера (обычно это /tmp).

Как удалить вредоносные включения?

Для удаления вредоносных включений удобно использовать возможности консоли сервера (доступ по SSH). Большинство хостинг-провайдеров предоставляет данную возможность по умолчанию или же по обоснованному запросу.

Допустим, мы знаем, что заражены все .js файлы, и у нас есть фрагмент вредоносного кода. Значит, нужно найти все .js файлы и вырезать вредоносный код. Сделать это можно с помощью следующей несложной команды, запустить которую нужно из текущей директории сайта:

find ./ -name '*.js' -exec sed -ie 's|вредоносный_код||g' <> \;

Команда выполняет поиск всех js-файлов, и для каждого найденного файла с помощью утилиты sed заменяет вредоносный код на пустое место. Обратите внимание, что при указании вредоносного кода нужно экранировать специальные символы (`

Инструкция подходит для DLE, Bitrix, Drupal, Joomla, ipb, vbulletin, phpBB, ucoz и других cms. В инструкции делается упор на очистку сайтов на LAMP (как наиболее распространенная технология), но работа с сайтами на ASP.NET и других технологиях в основном аналогична. В данной инструкции предполагается, что Ваш собственный компьютер полностью чист от вирусов и локальная сеть, в которой Вы находитесь, безопасна. Иначе необходимо сначала очистить от вирусов свой компьютер. Также предполагается вледение языком программирования, на котором написан сайт, так как без этого нет смысла браться за очистку.

Перед началом работы по очистке сразу же ставим фильтр входящих данных из раздела "защита". Иначе новое заражение может произойти ещё до того, как вы закончите лечить старое.

1. Диагностика.

Диагностика проводится по следующей схеме, от простого к сложному:

1.1 Скачайте файлы сайта к себе на компьютер, и проверьте их своим обычным локальным антивирусом, например, Касперским. Удалите подозрительный код и тех файлов, на которые антивирус сработает. Обязательно сделайте резервные копии любых изменяемых вами файлов и всего сайта!

1.2 В исходном коде html страницы ищем вхождения слов "iframe" и "javascript". Исследуем найденные фреймы и внешние скрипты на предмет чужеродности, не принадлежности к нашему сайту. Особенно подозрительными являются iframe малой или нулевой ширины и высоты, а javascript - с использованием eval, unescape, String.fromCharCode, а также подвергнутый обфускации. В javascript особое внимание надо обратить на document.write с вписанием другого javascript или iframe, либо вписанием meta-редиректа, а также javascript-редирект. В некоторых случаях вирусный код маскируется под счетчики посещаемости. Иногда производится полная замена обфусцированной javascript библиотеки наподобие jquery на такую же, но содержащую вирус. В таких случаях необходимо сверить размеры активной библиотеки с размерами того же файла в имеющейся у Вас резервной копии сайта.
Если в iframe, javascript или в редиректе фигурирует любой чужой домен (не Ваш и не размещенный там Вами) - это сигнал тревоги, даже если на домене пусто или там нормальный сайт. Вирусы очень часто идут "матрешкой", когда реальное вредоносное содержимое выскакивает только на третьем или пятом редиректе или фрейме.

1.3 Проводим такое же исследование по подгружаемым внешним javascript файлам. Во внешних css проводим поиск behavior, содержащих чужеродный код.

1.5 Перечисленные в пп. 1.1-1.3 действия необходимо выполнить с запросом страницы и скриптов несколько раз, в идеале с разных ip, с разными cookies и разными user-agent (броузерами) поскольку вирусный код может выдаваться случайным образом либо только тем броузерам, которые уязвимы, либо только поисковику, либо по иному критерию.

1.6 Добавляем сайт в Яндекс-вебмастер и Google-вебмастер, в некоторых случаях эти сервисы дают указание конкретного вредоносного кода, либо доменов, с которых подгружается вирус.

1.7 Если Вы зашли на зараженный сайт с включенным javascript в броузере (чего вообще-то лучше не делать), то Ваша антивирусная программа может дать список угроз, которые были обнаружены при посещении сайта. Из этих данных также можно выделить список вирусных доменов.

2. Удаление вируса.

Знание, какой именно код вирус выдает посетителям сайта, помогает найти на сервере источник проблемы. Если в ходе диагностики выдаваемый посетителю вредоносный код не был конкретизирован - не беда, очистка может быть успешно проведена и без этого, просто будет намного сложнее.

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

2.2 Проводим полнотекстовый поиск (по самим файлам, а не только по их заголовкам), ищем вхождения найденного в пп. 1.1-1.3 и найденных в пп. 1.5 и 1.6 вирусных доменов. Альтернативный вариант - вести поиск прямо на сервере специальным серверным скриптом.

При анализе нежелательных дополнений может помочь знание кода, выясненого в ходе диагностики (п.1).

Помимо выдачи посетителям вредоносного содержимого, перечисленные выше чужеродные вхождения могут представлять собой web shell или backdoor, с помощью которых злодей контролирует Ваш сайт.

2.4 Делаем дамп базы данных, и изучаем аналогично п.1.1, но с учетом того, что в базе код может быть преобразован в мнемоники и вместо будет

2.5 Удаляем все чужеродные вхождения, обнаруженные в ходе работы по перечисленным выше пунктам.

2.6 Проверяем работоспособность сайта, его функционал. Иногда вирус затирает собой важные файлы или нарушает их синтаксис, и после очистки обязательно надо все восстановить. В очень редких случаях вирус затирает все так, что файлы сайта уже невосстановимы. Хорошо, если есть копия у хостеров или подключена услуга резервное копирование.

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

Если остановиться на этом, то на следующий день либо в пятницу вечером на этой же неделе произойдет повторное заражение сайта и все с начала. Поэтому необходимо двигаться дальше.

3. Выясняем и ликвидируем причину заражения.

3.1 В первую очередь необходимо проанализировать лог веб-сервера и лог ftp, найдя в них время, предшествовавшее заражению. Если имеется лог ошибок php и лог командного интерпретатора, они тоже могут оказаться полезны. Иногда в логах бывает достаточно данных, чтобы определить источник заражения сайта. Но нельзя ограничиваться только закрытием первоначальной проблемы, необходим комплексный подход.

Самые распространенные пути заражения:

3.2 Похищение ftp паролей. Причины бывают разные:

  • использование ftp через бесплатный wifi, зараженный похищающим пароли вирусом, или с компьютера в зараженной локальной сети. Чтобы избежать такой утечки паролей, целесообразно поверх бесплатного wifi или подозрительной локальной сети использовать платный VPN с шифрованием.
  • похищение паролей из ftp-клиента (например, похищение файлa wcx_ftp.ini из Total Commander) с помощью сайтового вируса, вируса в пиратской программе или вируса на флешке.
  • pfishing ftp-паролей (при входе на сайт seo-утилит или иной подобный сервис предлагают ввести ftp логин и пароль, либо под видом представтелей хостера под разными предлогами просят посетить якобы страницу смены ftp-пароля).

3.3 Уязвимости в движке (CMS).

Помимо собственно дыр в движке бывают ещё уязвимости, связанные с сочетанием определенных настроек движка и/или определенных настроек сервера. Например, если настройки сайта позволяют посетителям постить на сайт картинки с других сайтов, то это автоматически увеличивает риск проблемы, упомянутой в п.1.3. Некоторые CMS не имеют явных уязвимостей, но в случае несоответствия настроек сервера системным требованиям эти CMS могут быть очень уязвимы. В ходе очистки необходимо уточнить соответствие сервера требованиям безопасности конкретной CMS.

3.4 Заражение от соседних сайтов на том же сервере.

Если Вы подключаетесь к своему сайту по ftp и не видите других сайтов, кроме своего - это ещё не значит, что от Вас нет доступа к соседям и от них нет доступа к Вам. Необходимо подключиться по ssh (если хостер дает такую возможность) и проверить, не видны ли файлы других пользователей. Также пробуем подняться выше своей директории php файл-менеджером, или perl, или программами на других языках, работающих на этом сервере. Если такая возможность подняться выше и перейти в папки других пользователей есть - необходимо сменить хостинг, так как очистка в рамках отдельно взятого сайта в таких условиях невозможна.

3.5 Движок сайта может быть хорошим, но при этом у хостера могут стоять утилиты управления базами данных или скрипты статистики, имеющие уязвимости или пригодные для брутфорса. Это может быть phpMyAdmin с единой авторизацией для всех клиентов, что в сочетании с короткими паролями может дать успешный взлом управления базами и как следствие - добавление вирусного кода в хранящиеся в базе статьи или шаблоны. По возможности необходимо закрыть эти пути проникновения вирусов. К сожалению, это зачастую также означает смену хостера.

4. Меняем все пароли: ftp, ssh, mysql, пароли на администрирование сайта (пароли cms).

Зачем все так сложно? Я вот просто убрал из шаблона сайта строчку с вирусом, и у меня теперь все хорошо.

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

Читайте также:

Пожалуйста, не занимайтесь самолечением!
При симпотмах заболевания - обратитесь к врачу.