Подозрительный файл wp-security в плагинах, и критическая уязвимость в WordPress

Всем привет! Денис с Вами.

Летом столкнулись с проблемой по некоторым кулинарным сайтам, и всё началось с предупреждения ХакСкана, внутри хостинг панели. Суть в том, что скрипт обнаружил подозрительный файл в директории с плагинами. Но самое интересное, что такого плагина на самом деле не было установлено на сайте, и если смотреть директорию папки /wp-security/, то внутри всего 1 лишь файл под названием – wp-security.php

Посмотрел этот файл, угроза на подмену содержимого сайта. И как оказалось проблема достаточно серьёзная, особенно для трафиковых сайтов. Дело в том, что когда этот файл присутствует на сайте (загружен злоумышленником), то создавались виртуальные страницы внутри сайта, которые не видны в консоли вордпресс.

То есть сайт для администратора имеет тот же самый вид, словно ничего не произошло. Вот только в поисковую систему начинают попадать сторонние страницы (в нашем случае этого не случилось, но если столкнетесь, то эти страницы отображались виртуально для каталога /news/, что также прослеживалось по логам.

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

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

Совершив одну ошибку, было сложно найти лазейку. И эта ошибка – восстановление сайта из резервной копии. Потому как, можно было определить в какую дату был загружен тот или иной вредоносный файл. Пришлось обратиться в поддержку, но после проблема повторялась не раз, даже после ручного обновления вордпресс (большая часть вредоносных файлов была именно в директориях /wp-admin/ и /wp-wp-includes/, через которые и осуществлялась загрузка основного вредоносного файла wp-security.php)

Вот где был вредоносный…

Но ниже можно наблюдать ещё один подозрительный каталог: wp-xmlrpc-dicable.

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

Как оказалось файл был загружен через другой файл: wp-track.php  (под этим названием скрывался скрипт PHP File Manager). Злоумышленник имел через него доступ к файлам сайта через браузерный файловый менеджер (подобное как ftp, или файловый менеджер внутри хостинга). После удаления, файлы ни раз менялись по имени… То есть, не обязательно название будет таким.

После удаления подозрений, периодически снова появлялась зараза:

Причина

Возможно, это связано с предыдущими версиями вордпрес (до 5.7.2). Потому как, специалисты из национальной базы уязвимостей (National Vulnerability Database) посчитали её критической. Дело в том, что разработчики WordPress с версии 5.7.2 выпустили патч, который закрывает брешь в безопасности движка. А уязвимость которая там была, позволяла злоумышленника выполнять целый набор атак на блоги, с ранними версиями вордпресс. И Если кто-то не успел обновиться, мог пострадать… Так и получилось с некоторыми блогами, которые наблюдаю и сейчас в сети. Дело в том, что даже после обновления wordpress, если сайт был уже заражен, то сайт становится как двери без замка для злоумышленников. И проблема имеет массовый характер!

Все из-за некорректного поведения функции unserialize( ) в языке программирования PHP. Используя сбой в этой функции, хакеры смогли внедрять вредоносный код в скрипты, и элементы базы данных SQL и другие компоненты сайта. Всё зависит от цели, которую преследует хакер.

Найденную уязвимость наградили очень высоким рейтингом по 10 бальной шкале, а точнее 9,8 из 10 по шкале опасности CVSS (это общая система оценки критичности обнаруженных уязвимостей). А такие серьёзные уязвимости возникают не так часто. Одно дело уязвимость в плагине или теме. А тут в вордпресс. Уровень критический!

А за последние пару месяцев, не наблюдалось ничего подозрительного со стороны использованных плагинов. Хотя… не считая ситуации с flat pm, но там немного другое и мы вовремя обновились (внедрялся код в header или footer темы).

Но 100% уверенности, что конкретно это связано с той уязвимостью в вордпресс до 5.7.2 нет, потому как коснулось единично и определить при том же наборе плагинов чуть сложнее. Но грешу на это…

Если кто-то столкнулся с подобным и точно знает причину, поделитесь наблюдением.

В случае с WordPress, сотрудники NVB отметили, что очередная ошибка в WP появилась в ходе исправления другой ошибки, обнаруженной ранее. Это оказался своего рода побочный эффект лечения одного из багов CMS. Такое также случается…

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

Быстрая инструкция по обновлению WordPress в ручном режиме

Что искать и где искать?

Хотя, в нашем случае, ручное обновление не было решением проблемы, потому как вредоносный файл, был загружен в другой каталог, который не имел отношения к файлам движка вордпресс. Также, при ручном обновлении – каталог /wp-content/ не обновляется полностью. Например, плагины и загруженные фото в папку /uploads/ не трогаются. Поэтому, рекомендуется их пересмотреть вручную, на наличие подозрительных файлов.

То есть, помимо ручной переустановки файлов вордпресс, требуется комплексная проверка всех файлов сайта.

Вот несколько, которые удалось найти в ходе проверки:

в папке с плагином эти два на удаление:

…и вот несколько ещё:

/wp-includes/wp-diff-result.php
/wp-admin/xml-rpc-server.php
/wp-admin/widgets-upload.php

/wp-admin/wp-json.php
/wp-admin/opcache.php
/wp-admin/wp-track.php
/wp-includes/ad-cache.php
/wp-admin/xml-rpc-server.php

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

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

Конечный путь был всегда один – загрузить wp-security.php, но до этого был ряд действий. Далее уже были обнаружены виртуальные страницы со ссылками на сторонние сайты. Но в индекс попасть не успели по ряду причин, о которых не пишу.

После глубокого анализа, переустановки вордпресс и поиска всех вредоносных файлов – проблема решена! Но наблюдаю далее…

Похоже, что окончательно победили уязвимость, которая наблюдалась на нескольких сайтах, например – esttat.ru (Блог Татьяны, 6 000 посетителей в сутки на момент ситуации).

Проблема остается открытой для владельцев блогов

Как вижу сейчас – в результате всего этого, в сети пострадало очень много сайтов и многие даже не догадываются что их сайт открыт. Основная цель в случае с нашей ситуацией –  прокачка ссылками других чужих сайтов (онлайн казино, и другие не хорошие сайты).

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

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

p.s. Ситуация по трафику стабильна, в индекс не попала ни одна вредоносная страница. Простыми словами, всё Окей!

Ситуация не повлияла на сезонный рост трафика. Скрин:

Всем удачи. Берегите себя!

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Один комментарий:

  • 2021-07-23 at 23:07
    Permalink

    Ого, Денис спасибо за проделанную работу!

    Пошёл проверять свой сайт, малоли что!

    Ситуация безусловно неприятная, ужасная я бы сказал, если сайт начал получать трафик и ту на тебе, уязвимость на WP.

    0
    Reply
Авторизация
*
*
Генерация пароля