Исследователи компании Socket обнаружили новую серию вредоносных пакетов в npm — целенаправленную атаку на цепочку поставок, которая ставит кроссплатформенный троян удалённого доступа (RAT) пользователям инструментов разработки Alibaba. Кампания рассчитана на китайскоязычные окружения: пакеты маскируются под приватные библиотеки Alibaba Group из области видимости @ali.
Как устроена подмена
Один из ключевых пакетов — lib-mtop, не имеющий scope, но названный так же, как приватный пакет Alibaba из области @ali. С ноября 2023 года он существовал без функциональности, а в марте-апреле этого года в него загрузили три новые версии — v1.0.1, v1.0.2 и v1.0.3. Пока неясно, была ли это кража аккаунта сопровождающего или сам разработчик «пошёл в тень». Так или иначе, в пакет добавлен загрузчик, который через curl скачивает удалённый JavaScript-пейлоад и выполняет его.
Тот же аккаунт сопровождающего ch4ce (сейчас на npmjs[.]com отдаёт ошибку «not found») опубликовал ещё четыре пакета: aone-kit, aone-kit-cli, aone-sandbox и local-config-parser. Первые три — пустые обёртки с именами приватных пакетов из @ali, которые объявляются зависимостями в package.json. Четвёртый — легитимный парсер JSON-конфигов, но с зависимостями, которые по отдельности безобидны, а вместе образуют канал доставки продвинутого RAT.
Многослойная доставка и финальный бэкдор
До десяти пакетов-приманок зависят от smart-config-manager — среднего слоя-моста, соединяющего их с вредоносными пакетами, где лежит логика загрузчика. Пакет нижнего слоя обращается к GitHub-репозиторию за конфигом rule engine, затем исполняет вредоносный пейлоад, который связывается с удалённым сервером за вторичным вредоносом. Финальная фаза использует модуль vm, а пейлоад скачивается с домена aone-cli-next.oss-cn-beijing.aliyuncs[.]com, маскирующегося под Alibaba.
Дальше вредонос действует по операционной системе:
- на Windows завершает корпоративные приложения Alilang (security, VPN, офис) и заменяет их ядро троянизированной версией;
- на Linux скачивает бинарник в /tmp, запускает его как отсоединённый процесс и удаляет файл с диска после загрузки в память;
- на macOS вставляет вредоносный фоновый скрипт в ~/.zshrc и настраивает Launch Agent с интервалом 10 минут.
Финальный пейлоад — сложный бэкдор с выполнением команд, произвольной загрузкой и скачиванием файлов, разведкой хоста, подготовкой пейлоадов и боковым перемещением. Он умеет закрепляться, внедряясь в корпоративные мессенджеры и инструменты совместной работы — DingTalk, Wukong и Qoder.
Кто за кампанией и чем это грозит
Точный автор неизвестен, но китайские комментарии в исходном коде и временные метки коммитов в GitHub с UTC+08:00 указывают на китайскоязычного актора, охотящегося за разработчиками, использующими инструменты Alibaba. По оценке исследователя Socket Карло Занки, цель кампании — промышленный шпионаж: «Хотя число загрузок вредоносных пакетов незначительно, влияние кампании трудно оценить из-за целевого характера и способности финального пейлоада к боковому распространению».
Полный список пакетов, связанных с кампанией: lib-mtop, aone-kit, aone-kit-cli, aone-sandbox, local-config-parser, smart-config-manager, cloud-config-fetcher, fast-transform-pipeline, aone-cloud-cli, colder-cli, def-open-client, feedback-ai-sdk, flight-compare-analyzer, lwp-web-client, lzd-unified-station-sdk, open-worker-cli, test-skill-zip, uniapi-bridge. Тем, кто установил любой из них, рекомендуют считать систему скомпрометированной, ротировать чувствительные учётные данные с чистой машины и проверить окружения разработчиков на признаки активности.
Отдельно в тот же день сообщалось об отравленной версии 0.7.4 библиотеки mrmustard (квантовые вычисления, Xanadu): инфостилер выкачивал SSH-ключи, учётные данные AWS и конфиги Kubernetes на сервер metrics.femboy[.]energy, выполнялся при каждом импорте пакета и имел три механизма персистентности, работавших и после удаления.
Источник: thehackernews.com