Вредоносный код прячется там, где его не ищет ни один антивирус.
Новая вредоносная кампания, направленная на взлом WordPress-сайтов, недавно была обнаружена ИБ-специалистами из компании Sucuri. Злоумышленники используют малоизвестную директорию mu-plugins — встроенный механизм WordPress, предназначенный для запуска обязательных плагинов, которые не отображаются в панели администратора и не поддаются отключению обычными способами. Это делает её идеальным местом для укрытия вредоносных компонентов, способных долгое время оставаться незамеченными даже при детальных проверках.
Основу атаки составляет файл под названием wp-index.php, замаскированный под системный компонент WordPress. Этот скрипт выполняет роль загрузчика, получая вредоносную нагрузку с удалённого ресурса, адрес которого изначально зашифрован с помощью примитивного, но действенного метода ROT13 — простой шифровки, при которой каждая буква латинского алфавита сдвигается на 13 позиций. После расшифровки URL, скрипт загружает закодированное содержимое, декодирует его и исполняет произвольный PHP-код.
Особую устойчивость угрозы обеспечивает использование встроенных механизмов WordPress для обращения к вредоносным ресурсам. Вредоносный код не просто загружается в файловую систему, а записывается в базу данных под ключом _hdra_core. Это даёт возможность злоумышленникам обойти большинство стандартных сканеров, ориентированных на файловые изменения.
После загрузки, скрипт временно размещает декодированную нагрузку в файле формата .sess-[хеш].php в директории uploads, быстро подключает и удаляет его, тем самым снижая шансы на обнаружение в логах и при ручной проверке. Помимо этого, создаётся скрытая учётная запись администратора под именем «officialwp», а также внедряется файловый менеджер под именем pricing-table-3.php в директорию текущей темы. Управление происходит через передачу особого заголовка в HTTP-запросе, что позволяет злоумышленнику выполнять операции с файлами, включая загрузку и удаление.
Исследование вредоносной нагрузки, размещённой по адресу cron.php (после расшифровки URL), выявило гораздо более обширный функционал, чем просто скрытая загрузка и активация. Вредоносный код активирует дополнительный компонент — плагин wp-bot-protect.php, скачиваемый с другого адреса, так же замаскированного через ROT13. Эта часть отвечает за восстановление заражения в случае удаления основного скрипта, выполняя роль своеобразной страховки.
Более того, скрипт может программно сбрасывать пароли для типичных имён администраторов, таких как «admin», «root», «wpsupport», и «officialwp», заменяя их на предустановленный пароль, известный только атакующим. Это гарантирует возможность возврата на сайт даже после попыток очистки со стороны администратора.
Бэкдор поддерживает исполнение произвольного кода по команде снаружи, открывая злоумышленникам практически неограниченные возможности — от кражи данных пользователей и публикации вредоносного контента до создания фишинговых страниц, запуска вымогателей и организации DDoS-атак с ресурсов сайта.
Архитектура этой вредоносной кампании отличается высокой устойчивостью за счёт хранения компонентов не только в файловой системе, но и в базе данных, а также наличия механизма самовосстановления. Эти особенности затрудняют как автоматическое удаление, так и ручную ликвидацию угрозы, требуя внимательной проверки каждой нетипичной активности и нестандартных директорий.
Эксперты подчёркивают необходимость регулярных проверок содержимого директории mu-plugins, анализ базы данных на наличие подозрительных записей, а также контроль учётных записей пользователей. Среди ключевых индикаторов заражения названы наличие файла wp-index.php в mu-plugins, ключа _hdra_core в базе данных и присутствие учётной записи «officialwp».
Растущая изощрённость таких атак подтверждает, насколько важно системно подходить к защите даже тех элементов WordPress, которые раньше воспринимались как безопасные по умолчанию.