Хакер купил 30 плагинов WordPress, внедрил бэкдор, скрывался 8 месяцев и использовал умный контракт, чтобы обойти блокировку доменов

動區BlockTempo
ETH1,97%
BTC2,58%

2025 年 8 月, покупатель, выдававший себя за «Kris», заложил таймерную бомбу в 191 строку кода; через 8 месяцев она сработала, а C2-коммуникации обошли блокировки. Эта статья основана на отчёте специалиста по безопасности Austin Ginder.
(предыстория: BTC взлетел до $75 тыс.! ETH вернулся к $2400, Вэнс утверждает, что в переговорах США и Ирана достигнуты «значительные успехи», предварительно назначены 16-е новые переговоры)
(дополнительный контекст: публичное письмо основателя Gate Dr. Han по случаю 13-й годовщины: в смене циклов высвобождается сила перемен)

Оглавление статьи

Toggle

  • 191 строка, одна фраза «обновление совместимости»
  • wp-config.php был записан с 6 КБ вредоносного кода
  • Это не в первый раз, и это не будет в последний
  • Проблема в системе, а не в технологии
  • WordPress.org за один день отключил более 30 плагинов

Тридцать плагинов, восьмимесячный период скрытности, C2-серверы динамически обновлялись через смарт-контракты Ethereum. В начале апреля 2026 года WordPress.org отключил более 30 плагинов в течение одного рабочего дня: общее число установок суммарно составило миллионы. И ещё более шокирует то, что бэкдор уже был в сети 8 августа 2025 года — за 243 дня до того, как его обнаружили.

191 строка, одна фраза «обновление совместимости»

Прокрутим время назад до 2015 года. Индийская команда WP Online Support (позже переименована в Essential Plugin) была основана тремя людьми — Minesh Shah и ещё двоими. За десять лет они нарастили продуктовую линейку, включающую более 30 плагинов. К концу 2024 года выручка снизилась на 35–45% по сравнению с пиковым значением, и команда решила выставить проект на Flippa.

Покупатель — человек с бэкграундом на стыке SEO, криптовалют и маркетинга онлайн-казино; наружу он выдаёт себя за «Kris». 8 августа 2025 года вышла версия 2.6.7, а changelog свёлся всего к четырём словам: «обновление совместимости».

Фактические изменения были такими: class-anylc-admin.php вырос с 473 строк до 664, и после добавления 191-й строки в него была встроена бэкдор-программа. Это был первый commit Kris в SVN.

Бэкдор не запустился сразу. Он бездействовал до 5–6 апреля 2026 года, а затем начал первый этап: модуль wpos-analytics отправил запрос обратного вызова на analytics.essentialplugin.com, чтобы скачать файл, названный wp-comments-posts.php. Он намеренно имитировал файл wp-comments-post.php из ядра WordPress — не хватало лишь одной буквы.

wp-config.php был записан с 6 КБ вредоносного кода

6 апреля 2026 года в 04:22 UTC началась инъекция; в 11:06 UTC wp-config.php уже был полностью записан на всех скомпрометированных сайтах по всему миру. За 6 часов 44 минуты не сработало ни одно предупреждение на уровне платформы.

Внедрённый вредоносный код делает две вещи: во-первых, вставляет спам-ссылки на внешние ресурсы, но только для User-Agent Googlebot — обычные посетители и администраторы сайта видят страницы совершенно нормально; во-вторых, открывает неавторизованную конечную точку REST API (permission_callback: __return_true), в сочетании с PHP-функцией десериализации fetch_ver_info() формирует путь к удалённому выполнению произвольных функций.

Однако наиболее достойная фиксации деталь дизайна заключается не в самой инъекции, а в обходе инфраструктуры C2: злоумышленники записали логику резолвинга командного домена в смарт-контракт Ethereum, а бэкдор запрашивает самое актуальное направление через публичные узлы RPC блокчейна.

Традиционные меры вроде доменных чёрных списков и DNS-блокировок для этой архитектуры полностью бесполезны: злоумышленникам достаточно обновить контракт — и C2 для всех заражённых сайтов переключится синхронно, без необходимости взаимодействовать с какими-либо контролируемыми серверами.

Это не в первый раз, и это не будет в последний

В 2017 году Daley Tias за $15 тыс. купил объём инсталляций 200 тыс. для плагина Display Widgets и внедрил спам-ссылки «под видом кредитов»; затем это затронуло как минимум 9 плагинов. После того инцидента WordPress.org не внедрил обязательный механизм усиленной проверки при передаче владения плагином; не запускал дополнительный ручной или автоматический аудит при первом коммите нового committer; и не отправлял существующим пользователям уведомления о том, что «плагин перешёл к новому владельцу».

Спустя девять лет процесс был точно таким же. Kris завершил покупку, получил разрешения на SVN-коммиты, и его первый commit — это бэкдор; всё происходило в рамках соблюдения процедур.

Проблема в системе, а не в технологии

В этом инциденте не использовались никакие уязвимости нулевого дня. Качество кода бэкдора посредственное: в 191 строке нет никаких изощрённых техник обфускации. Он смог скрываться 243 дня не благодаря техническим возможностям, а из-за полного отсутствия мер контроля в звене, связанном с передачей владения на маркетплейсе плагинов WordPress.org.

Разбор C2-домена через смарт-контракт Ethereum действительно добавляет к атаке ещё один слой конструкции, который стоит обсуждать с точки зрения технической архитектуры, но это лишь делает работу по очистке более сложной — не причина, из-за которой атака становится возможной. Атака становится возможной потому, что платформа позволяет любому купить плагин, выпустить обновление и не требует ни от кого объяснять, на какую именно «совместимость» рассчитан changelog и что именно она обеспечивает.

WordPress.org за один день отключил более 30 плагинов

7 апреля 2026 года команда плагинов WordPress.org навсегда отключила все плагины автора Essential Plugin. Как минимум 30 плагинов — все отключены в один и тот же день. Ниже перечислены плагины, подтверждённые Austin Ginder:

  • Accordion and Accordion Slider — accordion-and-accordion-slider
  • Album and Image Gallery Plus Lightbox — album-and-image-gallery-plus-lightbox
  • Audio Player with Playlist Ultimate — audio-player-with-playlist-ultimate
  • Blog Designer for Post and Widget — blog-designer-for-post-and-widget
  • Countdown Timer Ultimate — countdown-timer-ultimate
  • Featured Post Creative — featured-post-creative
  • Footer Mega Grid Columns — footer-mega-grid-columns
  • Hero Banner Ultimate — hero-banner-ultimate
  • HTML5 VideoGallery Plus Player — html5-videogallery-plus-player
  • Meta Slider and Carousel with Lightbox — meta-slider-and-carousel-with-lightbox
  • Popup Anything on Click — popup-anything-on-click
  • Portfolio and Projects — portfolio-and-projects
  • Post Category Image with Grid and Slider — post-category-image-with-grid-and-slider
  • Post Grid and Filter Ultimate — post-grid-and-filter-ultimate
  • Preloader for Website — preloader-for-website
  • Product Categories Designs for WooCommerce — product-categories-designs-for-woocommerce
  • Responsive WP FAQ with Category — sp-faq
  • SlidersPack – All in One Image Sliders — sliderspack-all-in-one-image-sliders
  • SP News And Widget — sp-news-and-widget
  • Styles for WP PageNavi – Addon — styles-for-wp-pagenavi-addon
  • Ticker Ultimate — ticker-ultimate
  • Timeline and History Slider — timeline-and-history-slider
  • Woo Product Slider and Carousel with Category — woo-product-slider-and-carousel-with-category
  • WP Blog and Widgets — wp-blog-and-widgets
  • WP Featured Content and Slider — wp-featured-content-and-slider
  • WP Logo Showcase Responsive Slider and Carousel — wp-logo-showcase-responsive-slider-slider
  • WP Responsive Recent Post Slider — wp-responsive-recent-post-slider
  • WP Slick Slider and Image Carousel — wp-slick-slider-and-image-carousel
  • WP Team Showcase and Slider — wp-team-showcase-and-slider
  • WP Testimonial with Widget — wp-testimonial-with-widget
  • WP Trending Post Slider and Widget — wp-trending-post-slider-and-widget

Отказ от ответственности: Информация на этой странице может поступать от третьих лиц и не отражает взгляды или мнения Gate. Содержание, представленное на этой странице, предназначено исключительно для справки и не является финансовой, инвестиционной или юридической консультацией. Gate не гарантирует точность или полноту информации и не несет ответственности за любые убытки, возникшие от использования этой информации. Инвестиции в виртуальные активы несут высокие риски и подвержены значительной ценовой волатильности. Вы можете потерять весь инвестированный капитал. Пожалуйста, полностью понимайте соответствующие риски и принимайте разумные решения, исходя из собственного финансового положения и толерантности к риску. Для получения подробностей, пожалуйста, обратитесь к Отказу от ответственности.

Связанные статьи

SYNBO представляет протокол on-chain инвестиций на туре по кампусу Шанхайского университета Ethereum

Согласно ChainCatcher, SYNBO представила свой протокол on-chain инвестиций во время Шанхайской сессии тура Ethereum University Tour в Университете Фудань. Протокол нацелен на решение фрагментации на текущем первичном рынке, который в значительной степени опирается на офлайн-посредников по четырём ключевым

GateNews1ч назад

Eightco Holdings раскрывает $333M резервы активов, включая 283,45 млн WLD и 11 068 ETH по состоянию на 27 апреля

По данным PRNewswire, Eightco Holdings (ORBS), компания, котирующаяся на Nasdaq, раскрыла свои активы по состоянию на 27 апреля, в общей сложности на сумму около 333 миллионов долларов. Портфель включает 283,45 миллиона токенов Worldcoin (WLD), 11 068 ETH, инвестиции в OpenAI на 90 миллионов долларов, инвестиции в 25 миллионов долларов

GateNews1ч назад

DAO Arbitrum голосует за выпуск 30 766 ETH в DeFi United после атаки Kelp DAO

По данным The Block, Arbitrum DAO голосует за разблокировку примерно 30 766 ETH, замороженных Arbitrum Security Council, для инициативы DeFi United. В первый час голосования 16,9 млн токенов ARB поддержали предложение, при этом не было голосов против. Голосование продлится до 7 мая. 20 апреля, S

GateNews2ч назад

Ethereum поднимается выше $2,300, рост на 1,54% сегодня

Ethereum взлетел выше $2,300 1 мая, прибавив 1,54% за последние 24 часа.

GateNews2ч назад

Machi увеличивает 40-кратный лонг по Bitcoin до $14,5 млн, сохраняет позицию по Ethereum на $23,3 млн по состоянию на 1 мая

По данным мониторинга HyperInsight, Хуан Личэн (Machi) увеличил свою длинную позицию по Bitcoin с плечом 40x до 14,5 миллиона долларов 1 мая; средняя цена входа — 76 357 долларов, цена ликвидации — 72 904,5 доллара. Machi также держит длинную позицию по Ethereum с плечом 25x на сумму 23,3 миллиона долларов, с ценой входа

GateNews3ч назад
комментарий
0/400
Нет комментариев