Хакеры взломали и атаковали 1,2 млн сайтов на WordPress

В июне 2026 года специалисты по безопасности обнаружили массированную атаку на цепочку поставок, затронувшую более 1,2 миллиона сайтов на WordPress. Злоумышленники взломали CDN компании Awesome Motive и внедрили вредоносный код в легитимные JavaScript-файлы плагинов OptinMonster, TrustPulse и PushEngage. В результате администраторы сайтов получали бэкдор и скрытую учётную запись злоумышленника. Рассказываем, как работает эта угроза, какие сайты в зоне риска и что делать, чтобы обезопасить себя.
Хакеры взломали и атаковали 1,2 млн сайтов на WordPress

Заражение через рекламу: как хакеры взломали CDN и получили доступ к миллионам сайтов на WordPress

В середине июня 2026 года голландская компания Sansec, специализирующаяся на безопасности в сфере электронной коммерции, обнаружила активную атаку на цепочку поставок, которая затронула три популярных плагина для WordPress: OptinMonster, TrustPulse и PushEngage. Все три продукта разрабатываются компанией Awesome Motive — одним из крупнейших издателей плагинов для WordPress, в портфель которого также входят WPForms, MonsterInsights и All in One SEO.

Что произошло: атака на цепочку поставок через рекламные плагины

OptinMonster, плагин для генерации лидов и оптимизации конверсии, установлен как минимум на 1,2 миллиона сайтов. Вместе с TrustPulse и PushEngate зона поражения охватывает ещё больше ресурсов.

Главная особенность этой атаки — злоумышленники не взламывали сами плагины и не эксплуатировали уязвимости в их коде. Вместо этого они скомпрометировали инфраструктуру распространения: сеть доставки контента (CDN), через которую плагины загружают свои JavaScript-скрипты.

Как хакеры получили доступ к CDN Awesome Motive

Согласно официальному заявлению Awesome Motive, злоумышленники проникли на вспомогательный маркетинговый сервер компании, воспользовавшись известной уязвимостью в плагине UpdraftPlus. Этот сервер не был связан с основной рабочей инфраструктурой и не содержал пользовательских данных, однако на нём хранились учётные данные от аккаунта CDN.

Получив ключ API, атакующие подменили JavaScript-файлы, которые CDN раздавал пользователям плагинов. Вот список скомпрометированных файлов:

  • a.omappapi.com/app/js/api.min.js — OptinMonster
  • a.opmnstr.com/app/js/api.min.js — OptinMonster
  • a.optnmstr.com/app/js/api.min.js — OptinMonster
  • a.trstplse.com/app/js/api.min.js — TrustPulse
  • clientcdn.pushengage.com/sdks/pushengage-web-sdk.js — PushEngage

Awesome Motive оперативно восстановила сервер, перенесла его на новую площадку и сменила все учётные данные, включая ключ CDN. При этом исходный код, серверы приложений и пользовательские данные затронуты не были.

Механизм заражения: как работал вредоносный скрипт

Вредоносный код был внедрён в легитимные файлы, которые сайты загружали напрямую из CDN. Это напоминает атаку на Polyfill, обнаруженную Sansec в 2024 году: компрометация одного файла приводит к заражению тысяч сайтов без прямого воздействия на каждый из них.

Скрипт был разработан так, чтобы не проявлять себя при обычных условиях и максимально затруднить обнаружение:

Условия активации

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

  • Администратор WordPress авторизован в системе
  • Скрипт обнаруживает путь wp-admin, панель администратора или cookie wordpress_logged_in_
  • Отсутствуют признаки головного браузера или автоматизированного тестирования

Кроме того, в localStorage устанавливалась метка времени, которая блокировала повторный запуск скрипта в течение 24 часов в рамках одной сессии.

Что делал вредоносный код

После активации скрипт выполнял следующие действия:

  1. Определял корневую директорию WordPress и путь к админке
  2. Собирал токены аутентификации из REST API и AJAX-запросов
  3. Создавал учётную запись администратора с именем developer_api1 и email customer1usx@gmail.com, а также дополнительные аккаунты с именами dev_xxxxxx
  4. Устанавливал скрытый плагин-бэкдор с веб-оболочкой и возможностью удалённого выполнения кода

Для создания администратора использовались четыре резервных метода в последовательности: форма регистрации пользователя, admin-ajax.php, REST API и скрытая iframe-форма. Скрипт даже распознавал сообщения об ошибке «пользователь уже существует» примерно на двадцати языках.

Все украденные данные (учётные данные, адрес сайта, путь к админке, версия WordPress) шифровались с помощью XOR-ключа jX9kM2nP4qR6sT8v, конвертировались в base64 и отправлялись на домен tidio.cc.

Маскировка бэкдора

Установленный бэкдор-плагин не отображался в панели администратора и периодически менял название, чтобы затруднить обнаружение. Исследователи Sansec зафиксировали, что плагин маскировался под:

  • «Content Delivery Helper» (content-delivery-helper, v2.7.1)
  • «Database Optimizer» (database-optimizer, v2.9.4)

При этом логика работы оставалась идентичной независимо от имени файла.

Хронология атаки: кто и когда пострадал

Вредоносные скрипты начали распространяться в разное время для разных плагинов:

Плагин Время заражения
OptinMonster 12 июня, 22:17–22:42 UTC (около 25 минут)
TrustPulse 12 июня, 22:17–22:42 UTC (около 25 минут)
PushEngage 12–14 июня (несколько часов)

Интересно, что у двух самых популярных плагинов (OptinMonster и TrustPulse) окно заражения было минимальным — всего 25 минут. PushEngage, напротив, оставался скомпрометированным дольше.

Домен tidio.cc, используемый для передачи данных, был зарегистрирован 28 апреля — за полтора месяца до атаки. Это указывает на тщательное планирование операции, а не на спонтанный взлом.

Кто в зоне риска и как проверить свой сайт

Если вы использовали любой из трёх плагинов 12–13 июня 2026 года, ваш сайт потенциально находится под угрозой. Даже после удаления вредоносных скриптов из CDN сайты, на которых остались бэкдоры и фиктивные аккаунты, по-прежнему находятся под контролем злоумышленников.

Проверка учётных записей администраторов

Немедленно проверьте панель администратора WordPress на наличие посторонних учётных записей:

  • developer_api1
  • dev_ с любым продолжением (например, dev_12345)

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

Сканирование файловой системы

Выполните следующие проверки:

  1. Проверьте директорию wp-content/plugins на наличие скрытых плагинов:
    — content-delivery-helper
    — database-optimizer
    — Любые другие подозрительные папки
  2. Выполните серверное сканирование на вредоносный код с использованием антивирусных решений для WordPress (например, Wordfence, Sucuri или Patchstack). Patchstack уже развернул правило для блокировки попыток эксплуатации этой уязвимости.

Смена учётных данных

Даже если вы не нашли явных признаков компрометации, рекомендуется:

  • Сменить пароли всех администраторов
  • Обновить ключи API
  • Сменить учётные данные базы данных
  • Обновить ключи безопасности WordPress (соли и соли аутентификации)

Дополнительные меры

  1. Проверьте файлы wp-config.php и .htaccess на наличие посторонних изменений
  2. Просмотрите логи доступа на предмет подозрительных запросов к tidio.cc или tidio[.]cc
  3. Обновите все плагины до актуальных версий

Выводы: как защититься от подобных атак в будущем

Атака на Awesome Motive — ещё одно напоминание о том, что цепочка поставок становится главной мишенью для злоумышленников. Компрометация одного CDN-аккаунта позволила хакерам получить доступ к более чем миллиону сайтов, не взламывая их по отдельности.

Что делать владельцам сайтов

  1. Минимизируйте количество внешних скриптов. Каждый подключаемый JavaScript-файл — это потенциальный вектор атаки.
  2. Используйте Subresource Integrity (SRI). Добавление атрибута integrity к тегам.
 
Оцените статью
( 2 оценки, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
WinBug
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: