Как проверить битрикс на вирус
Чем сайту грозят вирусы? Не только изменением информации или файлов. В большинстве случаев страдает бизнес. Компания МастерКласс узнала о проблемах с сайтом в первую очередь потому, что в 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С-Битрикс.
- Если даете доступы фрилансерам или подрядчикам, всегда заводите для них временные пароли и ограничивайте доступ.
- Храните резервные копии отдельно от сайта.
Благодарим Евгения Молчанова (ООО “МастерКласс”) за терпение и участие в совместном решении проблемы!
Евгений Смолин: Сам кувыркался с непонятками (пока курсы учебные не прочитал и руками не попробовал то, что там написано). Битрикс из тех систем, где изучение "методом тыка" не очень эффективно без предварительного изучения учебных курсов. Уважаемые новички, потратьте немного своего драгоценного времени, пройдите пару-тройку учебных курсов и масса вопросов просто испарится - там есть ответы на множество вопросов.
Курс для разработчиков - продолжение линейки учебных курсов по Bitrix Framework. Получение сертификата по курсу рекомендуется после успешной сдачи тестов по всей линейке курсов, так как без понятия о работе Контент-менеджера и Администратора создание успешных сайтов будет затруднено.
Чтобы научиться программировать в Bitrix Framework, нет необходимости изучать всю линейку курсов. Но есть моменты, которые необходимо знать разработчикам о системе, они раскрыты в начальных курсах:
- Интерфейс программы - в главе Элементы управления курса Контент-менеджер.
- Компоненты 2.0 (начальные сведения) в главе Компоненты 2.0 (начальные сведения) курса Контент-менеджер.
- Информационные блоки - в главе Информационные блоки (начальные сведения) курса Контент-менеджер.
- Управление доступом к файлам, элементам контента, модулям и другие права доступа в главе Управление доступом курса Администратор. Базовый.
- Работа с инструментами системы - в главе Работа с инструментами курса Администратор. Базовый.
- Модуль Поиск - в главе Поиск курса Администратор. Базовый.
- Вся информация по администрированию модулей размещена в курсах:
- Администрирование. Модули - модули "1С-Битрикс: Управление сайтом"
- Администратор. Бизнес - модули "1С-Битрикс: Управление сайтом", связанные с коммерческой деятельностью в Интернете.
- Администратор "1С-Битрикс: Корпоративный портал" - модули "1С-Битрикс: Корпоративный портал"
По завершению изучения этого курса можно продолжить изучение работы в продуктах Bitrix Framework по следующим курсам:
- Бизнес-процессы - настройка и создание бизнес-процессов.
- Бот платформа Битрикс24 - приложения, основанных на чатах в веб-мессенджере.
- Маркетплейс Битрикс24 - приложения для коробочной и облачной версий Битрикс24.
- Маркетплейс Bitrix Framework - расширение функционала проектов на основе Bitrix Framework с помощью сторонних модулей и решений.
- Многосайтовость - система многосайтовости и принципы работы с многосайтовой конфигурацией.
Для успешного изучения курса и овладения мастерством разработки сайтов на Bitrix Framework необходимо владеть (хотя бы на начальном уровне):
- основами PHP, баз данных;
- основами HTML, CSS.
После изучения курса вам будет предложено пройти тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение можно просмотреть результат обучения и загрузить сертификат в формате PDF.
Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 5 дней (40 академических часов).
Примечание: В тексте курса вы встретите цитаты, высказанные в разное время разработчиками системы и разработчиками проектов на базе Bitrix Framework. Надеемся, что такие неформальные замечания внесут некоторое разнообразие в процесс изучения. Заодно опытные специалисты поделятся и своим опытом.
Скачать материалы курса в формате CHM. Файлы формата CHM обновляются ежемесячно, тем не менее, возможно некоторое отставание их от онлайновой версии курса.
Чтобы отключить подобное отношение к файлу необходимо:
-
перейти в свойства файла на вкладку Общие. Внизу у Вас отобразится сообщение о том, что этот файл был заблокирован системой с целью защиты компьютера.
Отсутствие кнопки Разблокировать возможно в двух случаях:
- Файл лежит не локально, а на сетевом ресурсе.
- Если файл лежит на локальном диске, но путь к нему содержит спецсимволы (# и прочие).
Криптовалютная мания захватила многих, но для майнинга требуется огромное количество энергии, стоимость которой может оказаться выше, чем стоимость добытых виртуальных денег. Ловкие криптовалютчики выходят из положения с помощью хакерских программ. Подробности — в материале Tipler.Ru.
Вирус майнер на Tipler.Ru
Далее указывалась ссылка на каталог с вредоносным файлом. Удалить его можно было самостоятельно, что мы немедленно и сделали, после чего сменили пароли и установили все последние обновления.
Конечно же, мы вступили в переписку с аналитиками из It-Infinity, чтобы узнать побольше о подобных вирусах, а потом взяли интервью у директора веб-студии Виктора Карионова. Мы попросили его рассказать о том, как его команда впервые столкнулась с данной проблемой, как работает вирус и каковы масштабы заражения.
Предоставляем слово Виктору
Tipler: Скажите, пожалуйста, как Вы обнаружили проблему?
Виктор Карионов: 4 Июля 2018 года к нам обратился клиент для проведения запланированных работ на его сайте. В процессе обсуждения плана работ мы обратили внимание на странную анимацию в нижнем правом углу экрана.
Tipler: В чем был источник проблемы? Как работал вирус?
Виктор Карионов: Мы быстро нашли подключенные к сайту JavaScript файлы. Первый отвечал за подключение майнера, второй был обфусцирован (зашифрован) и логика его работы нам до конца не понятна.
Если удалить эти файлы, то в течении суток они появлялись вновь. Это была только вершина айсберга. Мы понимали, что где-то расположен web shell (скрипт, который позволяет полностью менять все файлы и выполнять произвольные команды на стороне сервера).
Просканировав сайт программой AiBolit, мы нашли этот шелл, а также файл backdoor’а, при обращении к которому через браузер с определёнными параметрами он авторизовался на атакуемом сайте под учётной записью администратора.
Tipler: Атаке подвержены все сайты? Каков масштаб проблемы?
Виктор Карионов: К сожалению, пострадало большое количество сайтов, среди которых были сайты банков, СМИ, крупных именитых ритейлеров, государственные и много других. В целях конфиденциальности и по просьбе служб безопасности, мы решили не публиковать данный список.
Что касается самого сервиса sparechange.io, то это вполне легальный майнер, который позволяет администраторам, разместив его на своём сайте, зарабатывать на своих посетителях (например вместо рекламы). Скорее всего, когда злоумышленники начали использовать его, он работал по-тихому, без всяких анимаций. В текущих версиях он проявляет себя при помощи анимации, уведомляя пользователя о своей работе.
Примечательно, что майнер начинал работать не сразу и не на всех сайтах. Где-то он включался сразу, где-то спустя время, а где-то вовсе никак не проявлял активность. Во время работы самого майнера, нагрузка на CPU (центральный процессор) вырастала до 90%-100%.
Tipler: Подвержены ли другие сайты, не относящиеся к 1С-Битрикс, такой проблеме?
Виктор Карионов: Да, ответ однозначный. Мы в связи со спецификой позиционирования своей студии работаем только с платформой 1С-Битрикс, и найденная нами схема атаки была адаптирована именно под данную платформу, но ничего не мешает злоумышленникам организовать атаку на любую другую CMS.
Мы провели большую работу по изучению логов атакованных сайтов с целю выявления причин и способов атаки и заражения сайтов. На основе полученной информации мы пришли к выводу, что причина банальна – безответственное поведение администраторов сайтов в отношении политики безопасности. Пароли украдены непосредственно с компьютеров администраторов при помощи вирусного ПО. На самом деле наше расследование завершено не до конца, к нему подключились коллеги из компании ITSOFT.
Они являются не только веб студией, но и дата-центром. Сейчас их служба безопасности занимается изучением схемы распространения вредоносного программного обеспечения.
Tipler: На каком этапе находится работа? Найдено ли решение?
Tipler: Хотите что-то добавить, порекомендовать админам?
В заключении хочу напомнить в 1000 раз всем, кто работает с сайтами на правах администратора о том, что пароли нужно хранить в проверенных менеджерах паролей, использовать только сложные пароли, созданные при помощи соответствующих генераторов, и не пренебрегать антивирусами. К сожалению, об этом забывают как владельцы сайтов, так и разработчики.
257 1 0
Здравствуйте, заинтересовал ваш проект - готов его выполнить. В веб-разработке я с 2007года. Работаю качественно и быстро. пишите - буду рад сотрудничеству
768 13 1 2
Добрый день. Готов почистить. Пишите в личку. Обсудим. Я на связи.
363 17 0
Сделаю. Большой опыт очистки вирусов на любой цмс
Сделаю. Большой опыт очистки вирусов на любой цмс
365 4 1
Добрый вечер Дмитрий.
Сделаю прямо сейчас. Пишите - я онлайн!
149 1 0
Если еще актуально - готов взяться за решение данной ситуации. По битриксу 6 лет опыта.
578 8 0
Здравствуйте. Готов заняться сейчас!
Лечение и защита сайта - ПОЖИЗНЕННАЯ ГАРАНТИЯ!
У меня больше 150 положительных рекомендаций!
Что я сделаю:
1. Удалю вирусы и шелы.
2. Решу проблему с рассылкой спама.
3. Обновлю вашу CMS, и скрипты. Закрою дыры.
… 4. Установлю системы защиты от взлома.
5. Бесплатная консультация по безопасности.
По срокам 1 день.
Установлю систему проверки сайта на вирусы.
Проверка раз в сутки - по самым популярным антивирусам.
Цена на комплекс услуг за 1 сайт 49$.
Скидки при заказе 3х и более сайтов.
Оплата возможна: ЯД, QIWI, WebMonew, Банковской картой онлайн.
Принимаю: ₽, ₴, $, € .
Гарантия:
Первый вариант: Гарантия на 1 год. (если остаетесь на вашем хостинге)
Второй вариант: ГАРАНТИЯ ПОЖИЗНЕННО. (при переносе на хостинг с повышенной защитой)
Обращайтесь с ув. Дмитрий!
3808 проверен 156 0 3
Обращайтесь - сделаю в лучшем виде. Есть большой опыт в этом вопросе (см. отзывы).
385 3 0
Добрый вечер! Можем обсудить все детали. Обращайтесь в личку! Имею большой опыт работы, все пример работу могу скинуть!
907 проверен 7 0
Помогу вычистить вирусы на вашем сайте Битрикс24. Обращайтесь
Ещё одна копия хабора
Здравствуйте! Мы — веб-студия Bquadro и на прошлой неделе мы боролись с вирусами на сайтах наших клиентов.
Точнее, вирус был один, но он поразил сразу несколько сайтов. Среди них были как только что опубликованные, так и проекты с 5-летней историей. Общее среди них было только одно: они разрабатывались на 1C-Битрикс.
В процесса разбора проблемы мы прошерстили интернет и наткнулись на разного рода статьи по этой тематике. Где-то пишут, что эта проблема раньше была, но сейчас ее нет (такого же мнения придерживается 1С-Битрикс), кто-то (как мы) столкнулись с ней недавно и у них нет точной инструкции по решению вопроса.
В этой статье — результат работы нескольких дней. Здесь кратко и, надеемся, понятно и наглядно сформулировано все, что нам удалось найти по этой теме. Все, что написано в статье мы проверили опытным путем на своих сайтах, также добавили готовый скрипт по поиску и удалению вируса.
Итак, представьте ситуацию: вы открываете сайт, а вам “навстречу” во весь экран вылетает рекламное окно с призывом “МОНЕТИЗИРУЙТЕ ЭТО” (на английском). Окно видят все: и администраторы сайта, и пользователи.
Знакомьтесь — это вирус-майнер.
Мы столкнулись с ним на прошлой неделе. Сайты, которые находятся у нас на поддержке, заразились вирусом-майнером. И баннер оказался лишь верхушкой айсберга.
Что и зачем делает вирус-майнер
Цель распространителей вируса — майнинг или, по-другому, процесс генерирования криптовалюты, с помощью вычислительных мощностей компьютеров посетителей зараженных сайтов.
После проникновения в систему, вредоносный код начинает отображать рекламный баннер, загружать вычислениями компьютеры посетителей и блокирует контактные формы на зараженном сайте (по крайней мере, у нас было именно так).
Сами компьютеры этот вирус не заражает. Но из-за нагрузки на процессор, при открытом зараженном сайте, компьютер пользователя работает в разы медленнее. Скорость открытия сайта также значительно снижается.
Помимо этого вирус копируется в системные файлы CMS Битрикс и восстанавливает сам себя при удалении видимой части вирусного кода со страниц сайта.
И, самое “вкусное”, то что делает этот вирус практически незаметным и неубиваемым:
кроме ОДНОГО показа баннера, он себя никак не проявляет. На второй и последующие открытия зараженного сайта с одного и того же компьютера, баннер перестает показываться и визуально определить, что сайт заражен становится сложнее (при этом, он все также использует мощности компьютера пользователя). В некоторых случаях он вообще “тихонько сидит” внутри сайта и ждет своего часа. А еще большинство антивирусов его не “видят”.
Отдельно отметим: вирус постоянно модифицируется. В конкретно вашей ситуации он может вести себя по другому, но общие правила поведения майнера, как мы выяснили, не меняются.
Решение
В первую очередь мы сделали основное:
- еще раз проверили сайты несколькими антивирусниками (в том числе серверным);
- начали вручную искать тот самый вирусный код на страницах сайта.
Естественно, этот код был найден и сразу же удален. Но, проблему это не решило. (Вспоминаем, что он восстанавливает сам себя при удалении видимой части вирусного кода со страниц сайта).
После того, как мы промониторили наши сайты, получили консультацию 1С-Битрикса, изучили статьи, кейсы, мнения коллег с форумов, выяснилось следующее: вирус проник на сайт через стандартный модуль Битрикса “Погода” (он поставляется внутри дистрибутива Битрикс по умолчанию). При этом, удаление модуля не помогает: вирус восстанавливает не только себя, но и модуль “Погода”.
Это стало основной проблемой. Для того, чтобы ее решить, потребовался методичный поиск файлов CMS по дате модификации и удаление кода вируса из внутренних файлов вручную.
В чем еще выражалось заражение:
-
Наличие ошибок в логах и не работали ajax запросы
PHP Fatal error: ob_start(): Cannot use output buffering in output buffering display handlers in /var/www/promelspb/data/www/promelspb.ru/bitrix/modules/main/lib/data/cache.php on line 346
Ошибка буферизации вызывалась по стеку:
-
в методе CAllMain::PrologActions
далее в методе CModule::ExecuteModuleEventEx для события “OnEndBufferСontent”
далее
А вот что оставил майнер в файле /bitrix/gadgets/bitrix/weather/lang/ru/exec/include.php :
Подробная инструкция
-
Находим и удаляем файлы:
Если обновление не помогло (дата изменения файла осталось прежним), удаляем вручную код:
Для автоматизации в случае заражения множества сайтов внутри виртуальной машины Bitrix мы написали скрипт для удаления вирусных файлов и вирусного кода из рабочих файлов:
Скрипт нужно разместить в каталоге /bin/ под названием find_virus или по вашему желанию.
Выполнение в консоли: find_virus /home/bitrix/ext_www/sites.txt где, /home/bitrix/ext_www/sites.txt — файл со списком путей к сайтам.
Скрипт find_virus можно добавить в crontab, и, даже, если в очередной раз вирус появится, он будет удален автоматически.
Пример команды crontab:
Для удаления вредоносного кода написали на скорую руку PHP-скрипт, который включен в файл find_virus.
Файл virus_replace.php нужно расположить в /home/bitrix/ext_www/virus_replace.php
По результатам нашей работы мы составили подробное описание зараженных вирусом файлов, логики его работы и отправили данный отчет в службу поддержки Битрикс, чтобы они учли содержащиеся в CMS уязвимости и выпустили необходимые обновления.
чт, 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 и через поиск ввести по очереди запросы
Читайте также: