Заражение вирусом через плагин fancybox-for-wordpress

Заражение вирусом через плагин fancybox-for-wordpress
В настоящее время активно эксплуатируется уязвимость в CMS Wordpress плагине FancyBox for Wordpress ( https://wordpress.org/plugins/fancybox-for-wordpress/ ). Уязвимость позволяет хакеру внедрить вирус в код страниц без каких-либо доступов к хостингу и к админ-панели Wordpress. Из-за большого числа загрузок и установок плагина (только официально их зарегистрировано более 550 000) и возможности простой и автоматической эксплуатации, заражение через FancyBox носит массовый характер.
Много кто написал про уязвимость в плагине, но никто не написал, как удалить вредоносный код, внедренный через уязвимость в этом плагине.
Проверить, есть ли на странице вредонос, можно в течение нескольких секунд. Нужно открыть код страницы и посмотреть фрагмент, начинающийся с “.fancybox({”.
Вредонос внедряется в одно из полей настроек, и будет выглядеть примерно так:

В файлах сайта данный код искать бесполезно, так как он вставляется из базы данных, поэтому для удаления нужно использовать инструмент для работы с базой данных (phpMyAdmin, adminer и т.п.).
Если открыть настройки плагина FancyBox в админ-панели Wordpress, то можно увидеть следующее. Сама админ-панель настроект работать скорее всего не будет, так как внедренный код повреждает структуру данных, в которых хранятся настройки плагина.

Открываем таблицу wp-options и ищем строку с опцией ”mfbfw”

В поле option_value хранится серилизованный php массив настроек. В обычном состоянии будет выглядеть так:

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

А также в админке исчезает кнопка “сохранения” и “сброса” настроек.
Поэтому в первую очередь нужно восстановить настройки по-умолчанию, чтобы плагин и его админ-панель заработали вновь. Для этого скопируйте код, приведенный ранее (он выделен зеленым), и вставьте его в поле option_value. Если вы все сделали правильно, в настройках FancyBox появятся корректные значения полей и кнопки сохранения/сброса настроек. Также с со страницы должен исчезнуть вредоносный код. Если у вас установлен кэширующий плагин (например, HyperCache, Total WP Cache), очистите кэш вручную.
На этом лечение сайта заканчивается, теперь нужно сделать так, чтобы повторно не внедрили код тем же способом. Самый правильный вариант – это удалить старую версию плагина и установить новую (на момент публикации заметки была версия 3.0.6 с исправленной уязвимостью).
Но если по какой-то причине вам это не удается сделать, то можно быстро пропатчить файл wp-content/plugins/fancybox-for-wordpress/fancybox.php, добавив в функцию mfbfw_admin_options() строку return;

Если вам нужно будет внести изменения в настройки плагина fancybox-for-wordpress, удалите данную строку из файла, задайте новые настройки через админ-панель, а затем снова добавьте строку в указанный файл.
Еще раз обращаем внимание на то, что все плагины важно поддерживать в актуальном состоянии и не лениться их обновлять.
Если вы не можете самостоятельно удалить вредоносный код с сайта, вы всегда можете обратиться к специалистами .
вирус лечение защита ревизиум wordpress fancybox плагин
Alt text

Домашний Wi-Fi – ваша крепость или картонный домик?

Узнайте, как построить неприступную стену

revisium

Блог компании "Ревизиум": лечение сайтов от вирусов и защита от взлома. Информационно-познавательные материалы из мира безопасности и защиты сайтов.