Специалисты по реагированию на инциденты раскрыли кампанию по компрометации сайтов на WordPress, которая сочетает сразу несколько техник скрытого внедрения вредоносного кода. В ходе расследования были обнаружены фейковый плагин, дистанционный командный сервер (C2) и два PHP-веб-шелла, размещённые не в файловой системе, а непосредственно в таблицах базы данных WordPress. Целью атакующих является инъекция скрытых обратных ссылок для частной блог-сети (PBN), используемой для манипуляции поисковыми рейтингами в нишах гемблинга и взрослого контента. Кампания ассоциирована с турецкоязычной угрозой.
Описание
Заражение состоит из трёх ключевых компонентов. Первый - поддельный плагин под названием "Beloved PBN Entegrasyonu", размещённый по пути wp-content/plugins/beloved-pbn/beloved-pbn.php. При каждой загрузке страницы он отправляет URL сайта на внешний API и вставляет в футер любой JavaScript или HTML, возвращённый с сервера. Таким образом осуществляется классическая инъекция ссылок для PBN: сотни скомпрометированных сайтов одновременно подпитывают одну сеть, улучшая позиции целевых ресурсов в выдаче поисковиков.
Второй и третий компоненты - веб-шеллы, сохранённые как исполняемый PHP-код внутри записей таблицы wp_posts. Механизм их активации позволяет атакующему взаимодействовать с ними через HTTP-запросы без какой-либо аутентификации. Веб-шеллы обеспечивают полный доступ на чтение и запись ко всей файловой системе сервера. Используя их, злоумышленник может просматривать любые каталоги, включая системные, читать конфигурационные файлы, такие как wp-config.php, извлекать учётные данные базы данных, загружать произвольные файлы без фильтрации расширений, редактировать, удалять и переименовывать файлы, менять права доступа, создавать новые папки.
Отличительная черта этой атаки - размещение веб-шеллов в базе данных, а не на диске. Хотя этот метод известен, он остаётся относительно редким. Большинство средств защиты WordPress сканируют файловую систему: каталоги wp-content/uploads, папки плагинов и темы. База данных обычно не подвергается такой же тщательной проверке. Таким образом, вредоносные скрипты остаются незамеченными файловыми сканерами. Предоставленный анализ сетевого трафика показал, что злоумышленник также внедрил в код плагина подмену заголовка User-Agent на Chrome 120. В исходном коде плагина имеется явный комментарий о том, что это сделано для обхода FortiGuard - системы угроз Fortinet, которая отслеживает вредоносные домены и атакующую инфраструктуру.
Сам C2-сервер, расположенный по адресу hxxps://wp-tracker[.]com/api.php, оказался полностью работоспособен на момент обнаружения. При прямом обращении он возвращал сообщение на турецком языке: "Beloved API: Активен. Домен будет автоматически взят из области ссылки JS". API активно принимал маяки от заражённых сайтов, извлекал их домены из токена и отправлял обратно индивидуализированные полезные нагрузки для инъекции ссылок. Каждая загрузка страницы на каждом скомпрометированном сайте кормила PBN-сеть новыми данными.
Последствия для владельцев сайтов серьёзны. Каждый посетитель получает в исходном коде страницы скрытые исходящие ссылки, что немедленно ухудшает поисковый рейтинг и грозит ручными санкциями от Google Search Console. Через веб-шеллы атакующий имеет постоянный неограниченный доступ к файловой системе: может похитить учётные данные базы данных, заменить ключевые файлы WordPress, развернуть скрипты для майнинга криптовалют или перейти на другие сайты, размещённые на том же сервере.
Устранение заражения включает три основных шага. Сначала удаляется каталог плагина beloved-pbn из wp-content/plugins/ и проверяется, что ни один другой файл на диске не ссылается на wp-tracker[.]com. Затем из таблицы wp_posts запросом удаляются записи, содержащие PHP-код с характерными функциями (file_put_contents, file_get_contents, eval и т.д.). После очистки необходимо сменить пароль администратора WordPress и все учётные данные хостинг-панели. Рекомендуется заблокировать вредоносный домен на уровне DNS или веб-приложения, а также проверить wp_users на наличие неавторизованных учётных записей.
Данная кампания показывает, что атакующие намеренно перемещают полезную нагрузку в базу данных, эксплуатируя слепую зону типовых процедур безопасности WordPress. Фейковый плагин выступал в роли малозаметного дроппера и инжектора PBN-ссылок, а настоящее постоянство обеспечивали два веб-шелла в базе данных, дававшие неограниченный доступ к файловой системе без пароля. Обнаружение на любом сайте плагина с именем "Beloved PBN" или его файлов должно расцениваться как признак полной компрометации сервера.
Индикаторы компрометации
Domains
- wp-tracker.com
URLs
- https://wp-tracker[.]com/api[.]php