Купили премиум-версию, а получили взлом в подарок. История одного «безопасного» обновления популярного плагина

leer en español

Купили премиум-версию, а получили взлом в подарок. История одного «безопасного» обновления популярного плагина

Разбираемся, как невидимый посредник забрал бразды правления без единого сигнала тревоги.

image

Обновление плагина, которому доверяли сотни тысяч сайтов, оказалось замаскированной атакой — злоумышленники проникли во внутреннюю инфраструктуру разработчика и подменили официальную сборку своей вредоносной версией. Всё это произошло незаметно, а сам заражённый файл вёл себя как рабочий плагин, не вызывая никаких подозрений.

7 апреля 2026 года компания Nextend выпустила обновлённую версию своего платного WordPress-плагина Smart Slider 3 Pro с номером 3.5.1.35. Проблема в том, что к этому моменту в официальный канал обновлений уже вмешались посторонние. Примерно шесть часов заражённая сборка распространялась через штатный сервер обновлений, после чего угрозу обнаружили и отозвали.

Сама Nextend подтвердила факт взлома своей инфраструктуры. Любой сайт, установивший это обновление, получил не новую версию плагина, а полноценный инструментарий для удалённого доступа. Бесплатная версия плагина, распространяемая через официальный репозиторий WordPress, не пострадала.

Специалисты компании Patchstack разобрали вредоносный код по частям. Злоумышленники вырезали из главного PHP-файла плагина часть легитимного кода и вставили многоуровневый бэкдор, при этом сохранив рабочую логику загрузки плагина.

Первый уровень атаки срабатывал при каждом обращении к сайту — даже без авторизации. Если входящий запрос содержал специальный HTTP-заголовок с жёстко заданным значением, сервер немедленно выполнял переданную команду через командную оболочку. Для маскировки использовались названия заголовков, характерные для CDN-сервисов и прокси — чтобы трафик не выглядел подозрительно.

Второй уровень работал через GET-параметр с секретным ключом и позволял выполнять как произвольный PHP-код, так и системные команды. На случай если часть функций окажется заблокированной настройками сервера, вредонос перебирал шесть разных способов вызова командной оболочки подряд.

Параллельно с этим создавался скрытый администраторский аккаунт с именем вида wpsvc_xxxx и адресом электронной почты kiziltxt2@gmail[.]com. Учётная запись получала отображаемое имя «WordPress Service», чтобы слиться с системными процессами. Из интерфейса администратора она была намеренно скрыта — специальные фильтры убирали её из списка пользователей и корректировали счётчики ролей, чтобы цифры не вызывали вопросов.

Даже удаление самого плагина не устраняло угрозу. Вредонос заранее копировал себя в три дополнительных места: в папку обязательно загружаемых плагинов mu-plugins, в файл функций активной темы functions.php и в директорию ядра WordPress wp-includes под видом системного класса. Последняя копия работала независимо от базы данных и выживала даже при смене её учётных данных.

В финале вредоносный код отправлял на сторонний сервер wpjs1.com полный пакет данных о заражённом сайте: адрес, версии используемого ПО, email администратора, название базы данных, а также логин и пароль созданного скрытого аккаунта в открытом виде.

Nextend выпустила чистую версию 3.5.1.36 и опубликовала инструкцию по очистке заражённых сайтов. Всем, кто устанавливал версию 3.5.1.35, рекомендуется считать сайт полностью скомпрометированным и провести полную проверку.