Заражённая версия плагина WowShipping Pro для WordPress содержит вредоносный дроппер и скрытый бэкдор

information security

Инцидент с коммерческим плагином WowShipping Pro от разработчика WPXPO заставляет пересмотреть подходы к безопасности цепочек поставок в экосистеме WordPress. Речь идёт не просто об очередной уязвимости, а о целенаправленной компрометации дистрибутива программного продукта, который используется на тысячах интернет-магазинов. Событие затрагивает как владельцев сайтов, так и специалистов по информационной безопасности, поскольку атака сочетает в себе скрытую инсталляцию вредоносного кода, хищение учётных данных и возможность полного удалённого управления скомпрометированным ресурсом.

Описание

В середине апреля специалист по безопасности Чад Йодер из компании Black Anvil Creative сообщил о компрометации клиентского сайта, работавшего под управлением WowShipping Pro версии 1.0.6. Анализ показал, что в дистрибутиве плагина присутствует модифицированный файл includes/class-plugin-actions.php. Согласно данным из метаданных архива, этот файл был изменён 13 марта 2026 года, тогда как остальные файлы пакета датированы 8 марта. В модифицированную версию было добавлено 73 строки кода, реализующих полноценный дроппер - программу, предназначенную для скрытой установки дополнительного вредоносного модуля.

Разработчик WPXPO оперативно отреагировал на инцидент. Уже 22 марта были выпущены версии 1.0.7 и 1.0.8, в которых вредоносный код удалён. В отчёте исследовательской организации Patchstack, занимающейся анализом уязвимостей, отмечается, что чистая версия 1.0.8 полностью идентична исходной версии 1.0.6 за исключением отсутствия зловредной функции. Через два дня, 24 марта, WPXPO разослал клиентам электронное письмо с уведомлением о необходимости обновления, назвав его "важным исправлением безопасности". Однако компания не предоставила деталей: не описала характер угрозы, не упомянула о возможном присутствии вторичного вредоносного плагина и не дала инструкций по проверке и восстановлению.

Технический анализ раскрывает двухэтапную архитектуру атаки. Первый этап - это сам дроппер, встроенный в плагин WowShipping. Он активируется при каждом входе администратора на панель управления сайтом. Механизм его работы прост: скрипт проверяет, установлен ли на сайте плагин с идентификатором woocommerce-notifications. Если нет, он скачивает архив с вредоносным кодом с сервера злоумышленника по IP-адресу 188.137.251[.]115, распаковывает его в папку плагинов и активирует. После успешной установки дроппер отправляет сигнал (маяк) на сервер управления, содержащий доменное имя жертвы, и устанавливает флаг в базе данных, чтобы не повторять процедуру.

Несколько косвенных признаков указывают на то, что код был внедрён не разработчиком оригинального плагина. Вредоносная функция использует пробелы для отступов, тогда как остальной код файла форматирован табуляцией. Она лишена обязательного блока документации (PHPDoc), который присутствует у всех легитимных методов. Кроме того, код напрямую обращается к функциям cURL и ZipArchive, игнорируя стандартный для WordPress интерфейс работы с файловой системой. Подобная небрежность в стиле кодирования выдаёт вмешательство третьей стороны.

Второй этап - это уже сам вредоносный плагин "WooCommerce Notifications", который устанавливается на сайт через дроппер. Этот компонент гораздо серьёзнее. Он маскируется под легитимное расширение WooCommerce и содержит несколько независимых механизмов захвата контроля над сайтом. Во-первых, плагин скрывает себя из списка установленных расширений на панели администратора. Для этого он перехватывает фильтр all_plugins и удаляет запись о себе. Администратор, заходя на страницу управления плагинами, просто не увидит угрозу, даже если она активна и работает.

Во-вторых, код содержит механизм кражи учётных данных. При каждом успешном входе в систему плагин перехватывает имя пользователя, пароль в открытом виде, IP-адрес, все cookies, информацию о пользовательском агенте и роли пользователя. Все эти данные кодируются в base64 и отправляются на сервер злоумышленника по адресу http://1l1l1l.com. Домен использует визуально запутанное сочетание символов: строчная буква "L" и цифра один, что затрудняет выявление в логах. Плагин также перехватывает процесс аутентификации через популярное расширение двухфакторной аутентификации Wordfence Login Security, что позволяет обойти эту защиту.

Наиболее тревожный аспект - возможность хищения ключей двухфакторной аутентификации. Плагин целенаправленно извлекает TOTP-секреты из настроек четырёх популярных модулей 2FA для WordPress. Он работает с плагинами WP-2FA, Wordfence Login Security, Really Simple SSL и Two-Factor. После успешного входа пользователя злоумышленник получает не только пароль, но и секретный ключ для генерации одноразовых кодов. Это означает, что двухфакторная защита полностью теряет смысл: атакующий может войти в систему под видом легитимного пользователя в любой момент, сгенерировав корректный код.

В плагине также обнаружен встроенный бэкдор для обхода аутентификации. Специальный POST-запрос с параметрами log и pwd, отправленный на любой URL сайта, проверяет, совпадает ли MD5-хеш предоставленного пароля с заранее заданным значением. Если совпадение есть, вредоносный код выполняет авторизацию под любым указанным именем пользователя без проверки реального пароля, минуя все средства защиты, включая двухфакторную аутентификацию. Хеш пароля скрыт в коде с помощью массива ASCII-кодов, чтобы избежать обнаружения при автоматическом сканировании.

В арсенале злоумышленников есть и полноценная веб-оболочка. Определённый GET-запрос к любому URL сайта с параметрами k, d и t позволяет выполнить произвольный код на сервере. Плагин предлагает четыре режима исполнения, каждый из которых использует разные функции PHP: shell_exec, exec, passthrough и eval. Такое разнообразие повышает шансы на успешную эксплуатацию в разных конфигурациях хостинга, где некоторые функции могут быть отключены в целях безопасности.

Кроме того, в состав вредоносного пакета включены два инструмента для работы с сайтом напрямую: Adminer 5.2.1 - инструмент управления базами данных, и Tiny File Manager v2.6 - файловый менеджер. Оба доступны по прямым URL-адресам без необходимости аутентификации через WordPress. Tiny File Manager содержит жёстко прописанные учётные данные администратора. Любой, кто знает соответствующий URL, получает полный доступ к базе данных или файловой системе сайта, не вводя никаких паролей WordPress.

Последствия для владельцев сайтов, использующих WowShipping Pro, крайне серьёзны. Простое обновление плагина до версии 1.0.8 удаляет дроппер, но не затрагивает уже установленный вредоносный плагин "WooCommerce Notifications". Полная очистка требует ручного удаления директории wp-content/plugins/woocommerce-notifications/, сброса всех паролей администраторов, перевыпуска ключей двухфакторной аутентификации, аннулирования всех активных сессий путём изменения солевых констант в файле wp-config.php, а также проверки логов на предмет обращений к вредоносным URL. Если на сайте были установлены и другие плагины от WPXPO, их также необходимо проверить, поскольку компания в своём уведомлении клиентам упомянула, что проблема могла затронуть все плагины серии Pro.

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

Индикаторы компрометации

IPv4

  • 188.137.251.115

Domains

  • 1l1l1l.com

URLs

  • http://1l1l1l.com/8a3788124466855a1dfc78a61bfdc32a.php

SHA256

  • 40ce8ffcc2c409a010c056a87e39e7b22ec28b61fbdaea7bf530872718193a3d

Комментарии: 0