Malware vs WordPress. Проверяем защитные плагины в боевых условиях

WordPress — одна из самых распространенных систем управления сайтом и поэтому вызывает пристальный интерес у вирусописателей и взломщиков всех мастей. В этой статье речь пойдет о «закладках» в коде взломанных сайтов, а также о технологиях их выявления.

Мы посмотрим на работу наиболее известных плагинов безопасности для WordPress в базовой комплектации по принципу «нашел в репозитории → установил → запустил», то есть глазами рядового пользователя, без платных подписок и PRO-версий. А еще рассмотрим некоторые мифы, касающиеся качества плагинов и тем из официального репозитория. «Закладки» будут самыми простыми и без обфускации — для удобства эксперимента. Приятного чтения.

WARNING

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

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

Специфика WordPress такова, что осмысленно модифицировать большую часть файлов ядра бесполезно, так как при обновлении или форсированной переустановке будут восстановлены оригинальные файлы, да и плагины безопасности в большинстве своем уже давно умеют выявлять эти самые модификации и предупреждать о них в отчетах. То же самое касается тем и плагинов из репозитория: любые изменения будут выявлены либо через сравнение хеш-сумм файлов, либо через дату изменения. Иными словами, при целенаправленном взломе ресурса эффективная область заражения сильно сужается, дабы внедренный код оставался незамеченным как можно дольше. А вот спам и Black SEO скрипты, которые в принципе не рассчитаны на продолжительную работу на скомпрометированном ресурсе, чаще всего засоряют все подряд и без разбора. Такое ПО довольно легко узнать «по почерку»: рандомные символы в названиях директорий, большое количество на первый взгляд бессмысленных файлов, частичная или полная обфускация кода.

INFO

Black SEO, «черное» SEO — вид поисковой оптимизации, основывающийся на применении явно запрещенных и недобросовестных методов продвижения. Основные методики «черного» SEO: дорвеи, клоакинг, линкопомойки, избыток рекламы, JavaScript-редиректы и прочее. Именно в эти чудеса поисковой оптимизации зачастую и превращаются взломанные сайты на WordPress.

Пример обфусцированного кода
В каких-то случаях счет идет на десятки файлов, а в каких-то и на тысячи

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

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

SUBVΞRSΛ: SUBVΞRSΛ — Dev/Sec/Gfx Freelancer. Telegram: @subversa

Комментарии (10)

  • Сегодня как раз был интересный пример, в таблицу wp_options прописали редирект на "левый" сайт. Можно долго искать ссылку в файлах и сколько угодно проверять, не найдешь.

    • Если речь про «siteurl» и «home», то ничего удивительного. Сам процесс вполне себе легитимный с точки зрения системы, и никаких подтверждений не требуется, поэтому до сих пор такой редирект пользуется популярностью. Хотя для той же почты администратора проверку всё же ввели, если её менять из админки сайта.

  • Храню обычно весь сайт в git. И перед _ручным_ обновлением проверяю не появилось ли чего интересного... Если появилось, то анализирую и по логам отслеживаю что и каким образом попало на сайт.
    Если же все чисто - обновляю CMS с плагинами и добавляю в git изменения.

    • Все отследить невозможно, особенно если у вас полтора десятка сайтов, а обновления часто затрагивают и базу. На мой взгляд тут намного удобнее Akeeba. Если обновление прошло неудачно, откатить сайт в исходное состояние, дело нескольких минут. Проблема в другом. В плагине нашли уязвимость, а разработчик уже не поддерживает плагин. Или плагин несовместим с новой версией WP. В этом случае плагин с "дыркой" так и будет висеть на сайте, либо будет принято решение не обновлять сайт. Загляните в логи любого веб сервера, там всегда можно увидеть запросы WPScan, который в автомате сканирует широкий диапазон адресов. Рано или поздно уязвимый сайт все равно сломают. И если например просто поменяют ключевые слова "слоны дешево" и ссылка на сайт, то никакой сканер это не обнаружит, ибо там нет вредоносного кода.

      Возвращаясь к своей мысли. Нанимайте специалиста, который будет нести ответственность за проект.

      Сейчас айтишников местами приравнивают к обслуживающему персоналу, отсюда и качество некоторых сайтов, отсюда же и количество зараженных сайтов.

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

      • Нанимайте специалиста, который будет нести ответственность за проект.

        Разработчик, который знает хотя бы азы безопасности и принципы минимизации костылей под тот же WP — это редкость. Отдельный сотрудник, решающий вопросы безопасности проекта — это вообще на грани фантастики для многих предпринимателей и компаний. Чаще встречается тот случай, когда на одного сотрудника пытаются повесить вообще всё что можно, ну и со всеми последующими результатами, разумеется.

    • А безопасность проектов в целом как обеспечиваете?

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

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

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

        • Чисто теоретически шансы на самостоятельное изучение всё же есть, пусть это и 1 успешный случай из 100. Справедливости ради замечу, что и серьёзность взлома бывает самая разная, и иногда действительно можно отделаться лёгким испугом с каким-нибудь редиректом (к примеру, как это было с «Yuzo Related Posts»). Для самостоятельного изучения вопроса чаще всего нужны жадность и желание страдать, why not? :)

          Видел сайты, что не обновлялись по нескольку лет, имея на борту набор «дыр» на любой вкус

          Ещё печальнее, когда эти сайты представляют из себя онлайн-бизнес или стартап, но там «своя атмосфера».