Вступление
Всем привет! Ранее я никогда не писал на форумах/блогах, решил это исправить и начать с данного ресурса. Это моя первая статья, поэтому не судите строго.
Есть у меня небольшая подработка - чистить зараженные сайты. Хотите верьте, хотите не верьте, за плечами около 200 вылеченных ресурсов. Тематика форума - информационная безопасность, а это не только просканировать/проэксплуатировать/сломать, но и починить и обезвредить. В данной статье я напишу как в большинстве случаев действую именно я.
1. Как обычно узнают о заражении?
Чаще всего это очевидно и это редирект. Второе по популярности - блокировка хостером какого-либо функционала (исходящие соединения, почта, пароль на www-директорию) и отправка сообщения админу. Следующее - при переходе на сайт получаете сообщение о том, что ресурс небезопасен, это означает что сайт в черном списке Google/Yandex, возможно на данном этапе уже будет ругаться какой-либо установленный антивирус. Крайне редко - снятие домена с делегирования по чьей-либо просьбе (был случай с Group-IB).
2. Что необходимо делать?
2.1. Определить вид заражения
Для редиректа и Wordpress характерно изменение siteurl в mysql, часто добавление кода в js, шаблон. Joomla! сейчас попадает под раздачу редко, в основном до 3-й версии, обычно виноваты сторонние компоненты, варез, запущенность CMS. Еще реже Drupal - там в 90% виноват Drupalgeddon. Последняя строчка чарта - все по мелочи, здесь и заражение через других клиентов shared-хостинга, через свои же соседние сайты, профуканные FTP да и вообще любые пароли.
Результат заражения через плагин WP Yuzo Related Post:
2.2. Анализ
Определили что заразили и как это себя проявляет - самое время определить каким образом, кто (практически бесполезное занятие =)) и когда. Если есть опыт то сразу знаешь в какие директории лезть, например у наиболее подверженного Wordpress - директория wp-content и вложенные. Также, полезно открыть git-репозиторий анализируемого движка, чтобы сравнивать (достаточно визуально) с содержимым на сервере. Как только находим то, что явно быть не должно - смотрим на дату и время создания. Многие напишут, что эти параметры можно подделать и будут правы, но обычно никто не парится и оставляет все как есть. Дальше идем и читаем логи за указанное время. В большинстве случаев, таким образом находим источник заражения.
Скриншот с логом, как негодяи пытаются поломать WP:
2.3. Делаем бекап, если страшно... Или рискуем =)
3. Чистка
Как и при заражении можно действовать руками, а можно использовать инструменты. Тут ничего рекламировать не буду. Кому надо - загуглит. Есть и платные и бесплатные (или условно бесплатные). У каждого из них свои минусы и плюсы. По Wordpress дам подсказку - лучше всех то, что можно поставить через его админку.
Еще дам рекомендацию, если не соображаете в сайтах и содержимое исходников для вас абракадабра - не поможет и самый платный и волшебный инструмент, самое безобидное, удалите не все, а обидное - поломаете сайт (а если нет бекапа то совсем все плохо).
Если есть возможность, лучше сделать восстановление дефолтных файлов CMS. Ах, да, на всякий случай, проверьте cron, нет ли там чего лишнего =)
Так вот выглядит бяка, была найдена в Joomla!:
Заключение
Немного напишу о том, как обезопаситься (или минимизировать потери) в будущем:
Всем привет! Ранее я никогда не писал на форумах/блогах, решил это исправить и начать с данного ресурса. Это моя первая статья, поэтому не судите строго.
Есть у меня небольшая подработка - чистить зараженные сайты. Хотите верьте, хотите не верьте, за плечами около 200 вылеченных ресурсов. Тематика форума - информационная безопасность, а это не только просканировать/проэксплуатировать/сломать, но и починить и обезвредить. В данной статье я напишу как в большинстве случаев действую именно я.
1. Как обычно узнают о заражении?
Чаще всего это очевидно и это редирект. Второе по популярности - блокировка хостером какого-либо функционала (исходящие соединения, почта, пароль на www-директорию) и отправка сообщения админу. Следующее - при переходе на сайт получаете сообщение о том, что ресурс небезопасен, это означает что сайт в черном списке Google/Yandex, возможно на данном этапе уже будет ругаться какой-либо установленный антивирус. Крайне редко - снятие домена с делегирования по чьей-либо просьбе (был случай с Group-IB).
2. Что необходимо делать?
2.1. Определить вид заражения
Для редиректа и Wordpress характерно изменение siteurl в mysql, часто добавление кода в js, шаблон. Joomla! сейчас попадает под раздачу редко, в основном до 3-й версии, обычно виноваты сторонние компоненты, варез, запущенность CMS. Еще реже Drupal - там в 90% виноват Drupalgeddon. Последняя строчка чарта - все по мелочи, здесь и заражение через других клиентов shared-хостинга, через свои же соседние сайты, профуканные FTP да и вообще любые пароли.
Результат заражения через плагин WP Yuzo Related Post:
2.2. Анализ
Определили что заразили и как это себя проявляет - самое время определить каким образом, кто (практически бесполезное занятие =)) и когда. Если есть опыт то сразу знаешь в какие директории лезть, например у наиболее подверженного Wordpress - директория wp-content и вложенные. Также, полезно открыть git-репозиторий анализируемого движка, чтобы сравнивать (достаточно визуально) с содержимым на сервере. Как только находим то, что явно быть не должно - смотрим на дату и время создания. Многие напишут, что эти параметры можно подделать и будут правы, но обычно никто не парится и оставляет все как есть. Дальше идем и читаем логи за указанное время. В большинстве случаев, таким образом находим источник заражения.
Скриншот с логом, как негодяи пытаются поломать WP:
2.3. Делаем бекап, если страшно... Или рискуем =)
3. Чистка
Как и при заражении можно действовать руками, а можно использовать инструменты. Тут ничего рекламировать не буду. Кому надо - загуглит. Есть и платные и бесплатные (или условно бесплатные). У каждого из них свои минусы и плюсы. По Wordpress дам подсказку - лучше всех то, что можно поставить через его админку.
Еще дам рекомендацию, если не соображаете в сайтах и содержимое исходников для вас абракадабра - не поможет и самый платный и волшебный инструмент, самое безобидное, удалите не все, а обидное - поломаете сайт (а если нет бекапа то совсем все плохо).
Если есть возможность, лучше сделать восстановление дефолтных файлов CMS. Ах, да, на всякий случай, проверьте cron, нет ли там чего лишнего =)
Так вот выглядит бяка, была найдена в Joomla!:
Заключение
Немного напишу о том, как обезопаситься (или минимизировать потери) в будущем:
- Обновляемся. Касается всего, CMS, компонентов, модулей, плагинов;
- Не используем варез. Желание получить платное бесплатно ну очень часто выходит боком (действует не только с сайтами кстати);
- Обязательно включаем логи;
- Используем git;
- Настраиваем резервное копирование;
- Если возможно, используем ПО для защиты;
- Используем рекомендации по защите (запреты на запуск .php, где его быть не должно, пароли на директории, права на файлы и папки и пр.);
- Мониторим форумы, где специализируются на безопасности вашей CMS, так быстрее всего можно узнать о каком-нибудь CVE в ядре или расширении.
- Старайтесь вообще использовать как можно меньше дополнительных "свистелок" в виде расширений. Взлом дефолтной и вовремя обновленной CMS очень большая редкость.
Последнее редактирование: