Как найти вирус на хостинге
Ситуация нередкая, даже этот мой блог дважды становился жертвой взлома. Полностью обезопасить свой ресурс от появления вирусов невозможно, но необходимо свести риск к минимуму. Как правило, злоумышленники используют для проникновения уязвимости CMS, шаблонов оформления или неверные настройки хостинга.
Как действовать при подозрениях о заражении сайта на вирусы:
- Проверить сайт на вирусы и найти файлы содержащие вредоносный код (об это будет половина статьи),
- Удалить или вылечить обнаруженные файлы (вторая половина статьи),
- Закрыть “дыры” в сайте, через которые проникли нехорошие скрипты.
Все 3 случая взлома, с которыми я сталкивался (2 моих и 1 клиентский) происходили по одной причине – на хостинге некоторые папки имели публичные права доступа 777, разрешающие всем желающим записывать туда любую информацию, так что пункт №3 про закрытие “дыр” самый важный. Про него я расскажу в конце.
Почему неэффективны онлайн антивирусы для сайта
Когда возникают реальные проблемы в работе сайта или появляются сообщения от Яндекс Вебмастер о заражении, многие начинают искать онлайн антивирусы для сайтов. Иногда они помогают, но в большинстве случаев делают это не до конца.
А что делать, если инфицированные файлы никак себя не проявляют и пока неактивны или результат их деятельности не дает явных признаков заражения. Ну, например, они просто выводят посторонние ссылки на веб страницах – для онлайн сервиса это будут обычные HTML гиперссылки с тегом , а сам вирус спрятан глубоко в PHP коде и действует только на уровне сервера при обработке запросов.
Достоинство онлайн антивирусов: Простота использования – написал URL сайта, нажал кнопку и получил результат. Но, не факт, что нашел вирус.
Единственный эффективный способ выявить все проблемы – просканировать полностью все файлы, размещенные на хостинге, где лежит сайт. Сделать это можно имея доступ к хостингу, значит, антивирус должен работать непосредственно внутри файлов и папок вашего сайта.
Антивирусные плагины
Кстати, поклонникам популярных CMS в деле борьбы с вирусами везет немного больше, так как существуют плагины, способные своевременно их заметить и устранить. Про один такой плагин я рассказывал в статье о защите WordPress, он автоматом мониторит изменения в файлах движка и шаблонов. Но, даже он не всегда способен помочь, так как вирусы могут не только проникать в существующие файлы, но и создавать свои собственные, против которых плагин будет бессилен.
Одним словом – в критической ситуации может потребоваться полное сканирование всех файлов хостинга, включая тех, что не относятся к CMS.
Итак, переходим к разделу “Как проверить сайт на вирусы профессиональными способами?”.
Проверка файлов сайта антивирусом AI-Bolit
Как и для обычных компьютеров, проверка сайтов на вирусы проводится антивирусными программами. Но для этих целей обычные антивирусники, про которые я писал ранее, не подойдут. Нужен специальный, работающий на серверах хостинга и заточенный под угрозы для сайтов.
Последнее время я пользуюсь для этих целей разработкой Revisium – антивирусом AI-Bolit. Кроме своего антивируса для сайтов, этот сервис участвовал в совместной разработке антивируса для Яндекс.
Давайте по шагам пройдем все этапы поиска и лечения с помощью AI-Bolit.
Есть версия для Windows – для ее использования необходимо скачать все файлы сайта с хостинга себе на компьютер.
Есть версия для хостинга – проверка на вирусы идет прямо там (на сервере с сайтом). Я буду рассказывать о работе именно хостинговой версии, скачивайте ее.
Распакуйте скачанный архив, в результате, у вас появляется папка с названием аналогичным названию архива – ai-bolit, папка tools и 2 файла.
Для работы понадобится только содержимое из первой папки (ai-bolit), состоящее из 5 файлов. Необходимо закинуть в корневую папку вашего сайта (туда, где лежит ваш index.php) по FTP или через файловый менеджер эти 5 файлов.
По умолчанию антивирус уже готов к работе, но в нем есть две настройки, которые вы можете применить для оптимизации программы под свои нужны. Все настройки делаются в файле ai-bolit.php.
1. Настройка глубины сканирования. Она может быть 3 степеней: 0 – быстрая проверка, 1 – экспертная, 2 – параноидальная, по умолчанию стоит 1. Отвечает за этот параметра строка:
2. Пароль для доступа к программе. Если вы планируете держать антивирус на хостинге постоянно, то необходимо задать максимально сложный пароль взамен тому, что идет по умолчанию, иначе, через сам антивирусник злоумышленники смогут навредить сайта. Если же вас интересует одноразовая проверка, после которой файлы антивируса с хостинга будут удалены, то можете оставить пароль по умолчанию. Отвечает за пароль строка:
После сохранение настроек переходим к запуску сканера.
Дальнейшие действия будут проводиться через браузер. В адресной строке вам необходимо набрать URL ведущий на запускающий файл ai-bolit – ваш-сайт/ai-bolit.php?p=указанный-пароль .
Через некоторое время сканирование всех файлов вашего сайта будет завершено и вы получите отчет вот такого вида:
Так как антивирусная проверка сайта создает на сервер хостинга немалую нагрузку, часто хостеры запрещают работу подобных программ. В этом случае вы можете столкнуться с сообщениями об ошибке, например такими:
В этом случае есть 3 варианта:
- Хостер сам осуществляет сканирование на вирусы и предупреждает клиентов об их появлении.
- Хостер может разрешить вам проверку после запроса в службу технической поддержки.
- Скачивайте файлы сайта на компьютер и проверяйте версией антивируса для Windows.
Полученный при сканировании отчет можно использовать двумя способами – передать его специалисту, чтобы он разобрался с его содержимым или самостоятельно просмотреть каждую подозрительную строчку. Нередко, за вирусы принимаются особенности шаблонов или специализированные скрипты (особенно на параноидальном уровне проверки).
После всех проверок и удаления вредоносных скриптов файлы антивируса с хостинга можно стереть.
Закрываем уязвимости сайта
Теперь об устранении причин заражения. Выше я говорил, что чаще всего вирусы заливаются через папки, имеющие общий доступ для всех – права доступа 777 (rwxrwxrwx).
Если на какой-то папке вашего сайта стоят такие права, туда можно залить вирусный файл и уже через него распространить вредоносный код по сайту.
Для того, чтобы заражение не повторилось после вашего лечения, надо проверить каждую папку, в которой Манул нашел инфицированные файлы и, если надо, сменить права – запретить общий доступ – выставьте свойства 755 (rwxr-xr-x).
В некоторых случаях можно делать еще более строгие правила, но 755 это минимальный уровень безопасности.
На этом у меня сегодня все – здоровья вашим проектам.
Каковы причины заражения сайтов?
Основная причина заражения сайтов - это желание заработать за чужой счет. Схема обычно выглядит так: пользователь, зашедший на зараженный сайт, принудительно перенаправляется на сторонний ресурс, не имеющий к исходному никакого отношения (например, на платник партнерской программы). Злоумышленник получает деньги за трафик, перенаправляемый со взломанных сайтов.
Некоторые сайты взламываются ради распространения среди пользователей классических вирусов и формирования ботнетов. Как правило, такие сайты блокируются поисковыми системами, и пользователи при обращении к подобным ресурсам видят предупреждение о том, что сайт заражен. Популярные поисковые системы предоставляют сервис почтовых извещений о заражении ваших сайтов: 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 заменяет вредоносный код на пустое место. Обратите внимание, что при указании вредоносного кода нужно экранировать специальные символы (`
Если вы хотите узнать взломан ли ваш сайт, то мы подготовили статью о соответствующей проверке, а также статью с полезными советами по улучшению безопасности сайта. Если же вы обнаружили вирусы на своем сайте, то следующие рекомендации будут полезными.
Сайт взломан. Что делать?
Смените пароли от всего, что возможно изменить. В первую очередь это FTP-доступ к сайту, панель управления хостинга\домена, админ.панель сайта, почтовые ящики, базы данных MySQL и их пользователи.
С помощью лог-файлов можно найти "дыру", через которую взломали сайт, но если вы не разбираетесь в этом, то поручите это дело опытному программисту или просто смотрите следующий пункт. Кстати, чуть более простой способ - это посмотреть через FTP-клиент какие файлы вашего сайта (на сервере хостинга) менялись в последнее время. Вирус, скорее всего, находится в них.
В основном целью хакеров является именно сайт, а не компьютер владельца сайта и потому, скорее всего, будет добавлен вредоносный код в сайт (т.е. изменен какой-то файл сайта), а не загружен какой-то новый файл с расширением .exe (исполняемый файл; вирус может либо сам являться исполняемым файлом, то есть программой, грубо говоря, либо “прятаться” внутри исполняемого файла).
Но в двух этих случаях не надо бояться загружать сайт к себе на компьютер для того, чтобы “прогнать” его антивирусом. Хотя, вероятнее всего, ваш антивирус ничего не увидит, ибо вирусы для веб-сайтов отличаются от вирусов для компьютеров и, соответственно, ваш антивирус будет искать абсолютно не то, что надо.
На сегодняшний день очень много онлайн-сервисов для проверки сайта на вирусы. Но мы к ним относимся с очень большой осторожностью. Лучше таки скачайте антивирус для веб и им “прогоните” сайт. Также у многих хостеров антивирус уже установлен в панели управления. Им тоже можно проверить сайт на вирусы.
Рекомендуем обратить внимание на следующие антивирусы:
Далее нужно удалить весь вредоносный код из тех файлов, которые указаны. Самый простой способ это сделать - заменить эти файлы на "здоровые" (их можно взять из старого бекапа, в котором еще не было вирусов). Но если "здорового" бекапа нет, то придется удалять весь вредоносный код в ручную.
Обратите внимание на то, что некоторые антивирусы сами “лечат” сайт и вручную вам удалять ничего не нужно будет.
Если антивирус сам не лечит сайт и просто покажет, какой именно участок кода считает вредоносным, то удаляйте его, а если не покажет, то можно сравнить данный файл со "здоровым" (если он есть). Или же ищите в файлах следующее:
- Слова "exploit", "shell", "javascript" и самое главное - "iframe", а также фразы unescape, eval, String.fromCharCode и document.write;
- В css часто прячут вредоносный код за атрибутом behavior
- Картинки сложно лечить от вирусов, поэтому их нужно либо удалить, либо заменить на "здоровые"
- В базе данных (которую мы сохраняем на компьютер и открываем текстовым редактором, вроде NotePad++) ищем слово "iframe" и удаляем его
- Хакеры-неумехи часто создают файлы вроде wzxp.php, которые по названию явно не входят в обычные файлы CMS, поэтому ищем\удаляем еще и такие файлы
- Найдите все файлы .htaccess и посмотрите, чтобы в них не было вредоносного кода или перенаправлений (redirect) на чужие сайты
- Наличие base64-кода, как правило означает, что он вредоносный. Вот пример такого кода:
- Подозрительным также считают использование eval() или функции preg_replace() с ключом в первом аргументе
Если вы воспользовались сервисом Virusdie, и сайт был вылечен прямо на сервере хостера, то достаточно проверить его работоспособность. Все работает? Поздравляем!
Еще раз поменяйте пароли от всего (FTP-доступ к сайту, панель управления хостинга\домена, админ-панель сайта, почтовые ящики, базы данных MySQL и их пользователи). И еще раз проверьте сайт на вирусы.
Если просто удалить вирусы с сайта и не следовать этим рекомендациям, то 99%, что вирус снова вернется через определенное время. Кроме всего прочего, уязвимость может скрываться в ПО хостера, если взломают сайт вашего "соседа" по серверу, то вирус может перейти и к вам. Поэтому иногда помогают либо обращение в техническую поддержку хостера, либо смена самого хостинг-провайдера.
Также помните, что лечение сайта нужно производить в максимально короткие сроки, т.к. поисковики выбрасывают из своего поиска сайты, которые содержат опасный код и могут навредить пользователям. А вернуться на прежние позиции в поисковых системах будет очень сложно.
Что нужно делать даже если сайт не взломан?
Вообще многие хостеры обещают сами делать резервные копии ваших сайтов и баз данных, но лучше держать этот процесс под контролем. Во-первых, поломки случаются у всех, причем регулярно. И это не зависит от того, насколько большая и надежная хостинг-компания - скрипты перестают работать абсолютно также, как и оборудование выходит из строя, будь то сервер хостера или ваша микроволновка.
Еще хостеры не делают каждый день полную копию сайта и баз данных, а только тех файлов, которые были изменены. Потому если ваш хостер и делает каждый день бекап - не ленитесь и сделайте еще сами полную копию сайта и желательно храните ее на удаленном сервере, а не на своем компьютере.
Регулярно каждый день проверяйте компьютер на вирусы и удаляйте их. Антивирус используйте не абы какой первый попавшийся, а тот, который зарекомендовал себя как надежный, и который регулярно поддерживается разработчиками (обновляется и исправляются разные баги).
Можно, конечно же, и задать график автоматического запуска проверки компьютера на вирусы, но вот давать ему право автоматически удалять все зараженные файлы - не рекомендуем. Все же лучше четко понимать, что происходит на компьютере и для чего.
Особенно важно проверять сайт на вирус после установки какого-то плагина/модуля/темы. Даже если они и скачаны с оф.сайта. И, конечно же, проверяйте сайт на наличие вирусов и после этих действий. К примеру, трижды в неделю.
Если у вас есть опыт лечения сайтов и вы хотите им поделиться, то пишите об этом в комментариях. Мы добавим это в свою статью, чтобы другие вебмастеры могли воспользоваться информацией и спасти свои сайты. А если у вас есть вопросы - задавайте их прямо здесь, наши эксперты стараются очень быстро на них отвечать.
Зараженный ресурс рассылает спам, вредит компьютерам ваших клиентов, портит выдачу в поисковых системах и т. д. Вы обязаны заботиться о его безопасности, если не хотите потерять клиентов, позиции и репутацию.
Не знаете, что и как делать? Не проблема, эта статья снимет все вопросы и поможет разобраться в диагностировании, лечении и предотвращении заражения.
Как понять, что произошло заражение сайта
Самые популярные маркеры того, что с сайтом что-то идет не так:
- ресурс заблокирован антивирусом или интернет-браузером;
- произошли резкие изменения в статистических параметрах сервера или индексации поисковых систем;
- сайт находится в черном списке Google или другой базе нежелательных адресов;
Наиболее частые источники или причины заражения
Основных причин и факторов, по которым ваш сайт может подхватить вирус и распространять его после этого по всему Интернету, не так и много. Ниже приведен список основных и наиболее встречающихся.
- использование вирусного ПО для кражи учетных данных, доступов от FTP, хостинга или панели управления сайтом;
- уязвимые компоненты в популярных CMS-платформах, например, Joomla, Wordpress, Bitrix, osCommerce;
- брутфорс – взлом пароля перебором.
Что и чем проверять, и как лечить
Есть несколько подходов по выявлению причины проблемы и также несколько советов по ее излечению. Как и в других сферах, нет 100% гарантии, что проверка одним способом поможет решить все косяки. Мы советуем для надежности использовать несколько методов.
Когда проверили сайт, нашли проблемы и устранили их, необходимо сменить пароли ко всем аккаунтам (панели управления хостингом и CMS, FTP, SSH, и т. д.).
Как защитить сайт?
Как уже неоднократно говорилось выше, лучше предупредить заражение, чем потом его лечить и исправлять последствия. Поэтому настоятельно рекомендуем соблюдать следующие меры безопасности.
- Делайте резервные копии сайта. Желательно, чтобы период копирования был не менее 6 месяцев, т. к. при запущенной стадии заражения незатронутые вирусом файлы могут быть только в самых ранних версиях.
- Используйте криптостойкие пароли. Их желательно ежемесячно обновлять.
- Cкачивайте и устанавливайте актуальные версии ПО, регулярно их обновляйте. Своевременно устанавливайте все необходимые патчи, это поможет снизить риск атаки с использованием эксплойтов.
- Не будет лишней и установка плагинов или компонентов с защитными свойствами. Например, изменяющие адреса админки или блокирующие IP вредителей, которые пытаются подобрать пароль. Можно добавить двойную авторизацию с помощью файлов *.htpasswd, отключив стандартный модуль восстановления пароля.
- Настройте автоматическую проверку вашего сайта средствами хостинга.
- Установите надежный антивирус на все компьютеры, с которых работаете с сайтом.
- Не пересылайте пароли и запретите это делать всем сотрудникам, работающим с сайтом, любыми каналами связи (ВКонтакте, Facebook, Skype, различные мессенджеры и т.д.). Регулярно меняйте пароль от почты, с которой связан ваш сайт.
- Повысьте безопасность специальными правилами в файле *.htaccess. Например, запретите php в папках, загружаемых пользователем через сайт, закройте загрузку исполняемых файлов.
- Дополнительно можно ограничить показ сайта только в странах с вашей аудиторией. Очень часто преступники пользуются программами, шифрующими их местоположение IP других стран.
- Если не используете SSH, то лучше вообще отключите его.
Выводы
К сожалению, не существует той самой таблетки, которая избавит вас от заражения раз и навсегда. Кибер-преступники не сидят на месте и изобретают новые способы, находят новые дыры, пишут новые вирусы. Однако каждый может повысить надежность своего сайта, соблюдая основные правила безопасности, поддерживая чистоту сайта и компьютера.
Ваш сайт уже заражен, а вы не можете найти причину или не знаете, как ее устранить? Или хотите проверить ресурс и убедиться, что с ним все в полном порядке? С радостью поможем. Просто оставьте заявку на проверку.
чт, 11/21/2019 - 12:00
Я администрирую сайты с 2012 года. Специализируюсь на безопасности: удаляю вредоносные скрипты, устраняю уязвимости. Лечил как небольшие блоги, так и крупные интернет-магазины. Сегодня поделюсь инструментами, с помощью которых проверяю сайт на вирусы и удаляю их.
Эта статья не для новичков: понадобится знание основ HTML, PHP и JS, а также умение работать в консоли.
Что такое вирусы и как они попадают на сайт
Вирус — это вредоносный код. Он меняет внешний вид сайта, размещает рекламу, отправляет посетителей на другой сайт, даёт мошенникам доступ к сайту, использует ресурсы хостинга для майнинга или других вычислений.
На сайте вирус, если:
- На страницах появился контент, который владелец не добавлял.
- Сайт стал работать медленнее.
- При переходе на него пользователи видят другой ресурс.
- Упала посещаемость из поиска.
- На хостинге появились новые папки.
Вирусы попадают на сайт через уязвимый код или расширения, вследствие неправильных настроек хостинга, атаки с подбором пароля, заражения хостинга или компьютера.
Когда на сайт попадают вирусы, репутация владельца, трафик из поиска и доходы с сайта оказываются под угрозой. Чтобы вылечить сайт от вируса, сначала надо убедиться в заражении, а потом найти и удалить вредоносный код. После этого — защитить проект от будущих атак. Ниже расскажу о каждом этапе.
Убедиться в заражении
Если есть подозрение на вирус, но уверенности нет, надо убедиться в заражении. Для этого я проверяю сайт через онлайн-сканеры, а также в нескольких браузерах и поисковиках.
Онлайн-сканеры помогают быстро найти вредоносный код, но я никогда не полагаюсь только на них: не все вирусы можно найти автоматически. Вот несколько сервисов:
Один из признаков заражения — редирект. Это когда при переходе на ваш сайт пользователи видят другой ресурс. Заражённый сайт с компьютера может открываться нормально, а с телефона посетителей будет перекидывать на фишинговую страницу или страницу с мобильными подписками. Или наоборот.
Поэтому нужно проверять поведение сайта в разных браузерах, операционных системах и мобильных устройствах.
Поисковые системы автоматически проверяют сайты на вирусы. Заражённые ресурсы они помечают серым цветом и подписью с предупреждением.
Чтобы проверить свой сайт, введите адрес в поисковую строку Яндекса или Google. Если увидите предупреждение, значит, сайт заражён. Посмотрите вердикты и цепочки возможных заражений.
Способ не универсальный! Поисковые системы находят вредоносный код не сразу. Кроме того, вирус можно научить проверять источник запроса и прятаться от поисковиков. Если такой вирус увидит запрос из поисковой системы, скрипты не отработают — поисковая система не увидит подвоха.
Еще один вид вируса — дорвеи. Они встраивают на сайт свой контент.
Найти и удалить зловредов
Когда в заражении нет сомнений, вредоносный код надо найти и удалить. Основная проблема — найти. Я просматриваю файлы сайта вручную, а также использую консоль.
Вредоносные скрипты часто добавляют в исходный код сайта (в браузере нажите Сtrl+U). Проверьте его на наличие посторонних JS-скриптов, iframe-вставок и спам-ссылок. Если найдёте — удалите.
Проверьте все JS-скрипты, которые подключаются во время загрузки страницы, нет ли в них посторонних вставок. Обычно их прописывают в начале и в конце JS-скрипта.
Все посторонние вставки удалите.
Действительно, не всегда вредоносный скрипт — это отдельно подключенный файл, часто модифицируют один из существующих файлов. Если код обфусцирован, понять его не удастся. В таком случае стоит выяснить, в каком файле он находится.
Если это часть CMS, то надо проверить оригинальное содержимое такого файла, выгрузив архив с CMS такой же версии и сравнив содержимое этого файла.
Если файл самописный, т. е. не относится к компоненту CMS, то лучше обратиться к разработчику. Скорее всего он знает, что писал он, а что мог добавить зловред. В таком случае оригинальное содержимое можно заменить из бекапа.
Ростислав Воробьёв, сотрудник техподдержки ISPsystem
Если известно, когда взломали сайт, то вредоносный код можно найти по всем файлам, что были изменены с тех пор.
Например, взлом произошел несколько дней назад, тогда для вывода всех PHP-скриптов, которые были изменены за последние 7 дней, нужно использовать команду: find . –name '*.ph*' –mtime -7
После выполнения команды нужно проанализировать найденные PHP-скрипты на возможные вредоносные вставки.
Это действительно помогает уменьшить список подозреваемых PHP-файлов, которые могут содержать зловредов. Однако не всегда зловреды в PHP-файлах. Немного модифицировав .htaccess файл, можно создать файл с разрешением .jpg, в нём разместить PHP-код и веб-сервер будет исполнять его как обычный PHP, но с виду это будет картинка — пример реализации.
Ростислав Воробьёв
Директории upload/backup/log/image/tmp потенциально опасны, так как обычно они открыты на запись. В большинстве случаев именно в них заливают shell-скрипты, через которые потом заражают файлы сайта и базу данных. Такие директории нужно проверять на возможные вредоносные PHP-скрипты.
Например, каталог upload можно проверить командой: find /upload/ -type f -name '*.ph*'
Она покажет все PHP-файлы в каталоге upload.
После анализа заражённые файлы можно удалить вручную или командой: find /upload/ -name '*.php*' -exec rm '<>' \;
Откройте каталог сайта. Найдите файлы и папки с нестандартными именами и подозрительным содержимым, удалите их.
Ростислав Воробьёв
Все папки на хостинге нужно проверить на множественные php и html файлы в одной директории, сделать это можно командой:
find ./ -mindepth 2 -type f -name '*.php' | cut -d/ -f2 | sort | uniq -c | sort –nr
После выполнения команды на экране отобразится список каталогов и количество PHP-файлов в каждом из них. Если в каком-то каталоге будет подозрительно много файлов, проверьте их.
Быстро проверить сайт на вирусные скрипты можно командой:
find ./ -type f -name "*.php" -exec grep -i -H "wso shell\|Backdoor\|Shell\|base64_decode\|str_rot13\|gzuncompress\|gzinflate\|strrev\|killall\|navigator.userAgent.match\|mysql_safe\|UdpFlood\|40,101,115,110,98,114,105,110\|msg=@gzinflate\|sql2_safe\|NlOThmMjgyODM0NjkyODdiYT\|6POkiojiO7iY3ns1rn8\|var vst = String.fromCharCode\|c999sh\|request12.php\|auth_pass\|shell_exec\|FilesMan\|passthru\|system\|passwd\|mkdir\|chmod\|mkdir\|md5=\|e2aa4e\|file_get_contents\|eval\|stripslashes\|fsockopen\|pfsockopen\|base64_files" <> \;
Либо можно использовать grep без find.
grep -R -i -H -E "wso shell|Backdoor|Shell|base64_decode|str_rot13|gzuncompress|gzinflate|strrev|killall|navigator.userAgent.match|mysql_safe|UdpFlood|40,101,115,110,98,114,105,110|msg=@gzinflate|sql2_safe|NlOThmMjgyODM0NjkyODdiYT|6POkiojiO7iY3ns1rn8|var vst = String.fromCharCode|c999sh|request12.php|auth_pass|shell_exec|FilesMan|passthru|system|passwd|mkdir|chmod|md5=|e2aa4e|file_get_contents|eval|stripslashes|fsockopen|pfsockopen|base64_files" ./
Эти команды выполнят поиск вредоносного кода в файлах текущего каталога. Они ищут файлы рекурсивно, от того каталога, в котором запущены.
Совпадений будет много, большинство найденных файлов не будут зловредами, так как модули CMS тоже используют эти функции.
В любом случае, проанализируйте найденные PHP-скрипты на возможные вредоносные вставки. Перед удалением файла обязательно посмотрите его содержимое.
Часто во время взлома и заражения сайта вредоносный код добавляют в базу данных. Для быстрой проверки базы данных на вирусы нужно зайти в phpmyadmin и через поиск ввести по очереди запросы
Читайте также: