30+ плагинов WordPress, купленных на Flippa и с бэкдором в атаке на цепочку поставок
Злоумышленник купил более 30 плагинов WordPress (портфолио Essential Plugin) на Flippa за шестизначную сумму, внедрил PHP десериализационный бэкдор в августе 2025 года, а затем активировал его восемь месяцев спустя, чтобы предоставлять скрытый SEO спам исключительно Googlebot. WordPress.org закрыл 31 плагин 7 апреля 2026 года. В ту же неделю Smart Slider 3 Pro (более 800,000 установок) был отдельно скомпрометирован через свою инфраструктуру обновлений. Оба нападения выявляют структурный пробел: у WordPress нет механизма для проверки передачи прав собственности на плагины или требования к подписыванию кода для обновлений.
Кто-то купил более 30 плагинов WordPress на открытом рынке, тихо внедрил бэкдоры во все из них, подождал восемь месяцев, а затем активировал полезную нагрузку, которая предоставляла скрытый SEO спам Google, в то время как владельцы сайтов ничего не замечали. Атака, которую WordPress.org остановил 7 апреля, навсегда закрыв каждый плагин от автора Essential Plugin, является одной из самых методичных компрометаций цепочки поставок, с которыми платформа когда-либо сталкивалась, и она использовала структурную уязвимость, которую WordPress не имеет механизма для предотвращения.
Покупатель, идентифицированный только как «Крис» и связанный с опытом в SEO, криптовалюте и онлайн-играх, приобрел все портфолио Essential Plugin за шестизначную сумму через Flippa, рынок цифровых бизнесов, в начале 2025 года. Flippa была достаточно довольна сделкой, что опубликовала исследование случая о продаже в июле 2025 года. К тому времени бэкдор уже был внедрен.
Восемь месяцев молчания
Зловредный код был внедрен в версии 2.6.7 плагинов, выпущенной 8 августа 2025 года с записью в журнале изменений, которая гласила «Проверить совместимость с версией WordPress 6.8.2». Эта безобидная заметка скрывала 191 дополнительную строку PHP, включая десериализационный бэкдор, который позволял удаленное выполнение кода. Код оставался неактивным в течение восьми месяцев, накапливая доверие, которое приходит с отсутствием видимого неправильного поведения, прежде чем активироваться 5 и 6 апреля 2026 года.
Окно внедрения 6 апреля длилось шесть часов и 44 минуты, с 04:22 до 11:06 UTC. В этот период домен командного и контрольного центра, analytics.essentialplugin.com, начал распределять полезные нагрузки на каждый сайт, использующий один из скомпрометированных плагинов. Внутренний модуль wpos-analytics плагинов загружал файл под названием wp-comments-posts.php и использовал его для внедрения PHP кода непосредственно в wp-config.php, один из самых чувствительных файлов в любой установке WordPress.
То, что делала полезная нагрузка, было сложным в своей сдержанности. Она загружала спам-ссылки, перенаправления и фальшивые страницы с сервера C2 и предоставляла их исключительно Googlebot. Владельцы сайтов, просматривающие свои страницы, не замечали ничего необычного. Только пауки поисковых систем получали зловредный контент, техника, известная как «клоакинг», предназначенная для манипуляции поисковыми рейтингами, избегая человеческого обнаружения как можно дольше.
Инфраструктура C2 была построена так, чтобы противостоять отключению. Вместо того чтобы полагаться на обычный домен, который можно было бы захватить или внести в черный список, полезная нагрузка разрешала свой командный сервер через смарт-контракт Ethereum, запрашивая публичные RPC конечные точки блокчейна. Традиционный захват домена, стандартный инструмент для разрушения ботнетов и спам-операций, не сработал бы.
Пробел в собственности
Атака использовала то, что можно назвать вакуумом политики в сердце экосистемы WordPress. WordPress.org проверяет новые заявки на плагины перед их появлением в каталоге. Но когда существующий плагин меняет владельца, когда установленный разработчик продает свое портфолио незнакомцу на Flippa, никакая дополнительная проверка кода не запускается. Не отправляется уведомление о «смене контроля» сотням тысяч сайтов, использующих затронутые плагины. Новый владелец наследует доступ к коммитам предыдущего разработчика, репутацию и неявное доверие каждого администратора сайта, который включил автоматические обновления.
Это не теоретическая уязвимость. Это архитектурная уязвимость. WordPress управляет примерно 43 процентами всех веб-сайтов в интернете. Его экосистема плагинов содержит более 60,000 плагинов, многие из которых поддерживаются одиночными разработчиками или небольшими командами, которые могут продать свои проекты, когда теряют интерес, нуждаются в деньгах или просто переходят к другим делам. Каждая из этих транзакций является возможностью для той же атаки: купить доверие, подождать, вооружить.
Ответ WordPress.org на компрометацию Essential Plugin был быстрым, как только атака была обнаружена. 7 апреля команда плагинов навсегда закрыла 31 плагин от затронутого автора. Последующее обновление, версия 2.6.9.1, нейтрализовало механизм обратной связи. Но оно не затронуло внедренный код в wp-config.php, что означает, что сайты, которые уже были скомпрометированы, продолжали предоставлять скрытый спам поисковым системам даже после обновления. Полное восстановление требует ручной проверки wp-config.php, шаг, который многие операторы сайтов, работающие на малом бизнесе на WordPress, вряд ли знают, как выполнить.
Не изолированный инцидент
Компрометация Essential Plugin произошла в ту же неделю, что и отдельная атака на цепочку поставок на Smart Slider 3 Pro, плагин слайдера WordPress с более чем 800,000 активными установками. В этом случае злоумышленники скомпрометировали инфраструктуру обновлений Nextend, компании, стоящей за плагином, и выпустили вооруженную версию 3.5.1.35 через официальный канал обновлений. Любой сайт, который автоматически обновился в течение примерно шести часов до обнаружения, получил полный набор инструментов удаленного доступа, способный создавать недобросовестные учетные записи администраторов, экстрагировать учетные данные базы данных и оставлять постоянные бэкдоры в нескольких местах файловой системы.
Обе атаки использовали разные методы: одна использовала передачу прав собственности, другая — компрометацию сервера, но они имеют одну и ту же основную слабость: конвейер обновлений WordPress доверяет источнику безоговорочно, как только плагин установлен. Нет требования к подписанию кода для обновлений плагинов. Нет обязательной двухфакторной аутентификации для учетных записей разработчиков. И нет регулирующей структуры, которая заставляет WordPress.org внедрять такую проверку цепочки поставок, которую другие экосистемы программного обеспечения приняли под давлением.
Экосистема npm, которая распределяет пакеты JavaScript, столкнулась с аналогичным осознанием после серии атак на цепочку поставок в начале 2020-х годов и ответила обязательной двухфакторной аутентификацией для поддерживающих высокоэффективные пакеты, аттестацией происхождения и автоматизированным сканированием безопасности. PyPI, индекс пакетов Python, следовал аналогичному пути. WordPress, несмотря на то, что управляет большей долей интернета, чем любой из них, этого не сделал.
26 затронутых плагинов в портфолио Essential Plugin, включая Countdown Timer Ultimate, Popup Anything on Click, WP Testimonial with Widget, WP Team Showcase and Slider, WP FAQ и SP News and Widget, каждый имел тысячи активных установок. В совокупности они представляют собой достаточно большой след, чтобы сделать атаку коммерчески жизнеспособной как операцию SEO спама и достаточно опасной, чтобы поднять вопросы о том, может ли модель управления плагинами WordPress выжить в мире, где доверие является товаром, который можно купить на рынке за шестизначные суммы.
Другие статьи
30+ плагинов WordPress, купленных на Flippa и с бэкдором в атаке на цепочку поставок
Злоумышленник приобрел более 30 плагинов WordPress на Flippa, внедрил задние двери, которые оставались неактивными в течение восьми месяцев, а затем активировал скрытый SEO-спам, который обслуживался только Googlebot. У WordPress нет проверки передачи прав собственности.
