Изследователи по киберсигурност откриха нов набор от зловредни npm пакети, които са насочени към потребители на инструменти за разработчици на Alibaba. Пакетите доставят кросплатформен троянски кон за отдалечен достъп (RAT) като част от сложна, насочена атака срещу веригата за доставки на софтуер, насочена към среди на китайски език.

Един от въпросните пакети е „lib-mtop“ – пакет без обхват (unscoped) със същото име като частен пакет на Alibaba под обхвата „@ali“. Въпреки че npm пакетът е публикуван за първи път някъде през ноември 2023 г. без никаква функционалност, три нови версии (v1.0.1, v1.0.2 и v1.0.3) бяха качени по-рано този март и април.

Към момента не е ясно дали това е резултат от компрометиране на акаунт на поддръжащ проекта (maintainer) или разработчикът е решил да действа злонамерено. Независимо от начина, по който са прокарани зловредните промени, новодобавеният код включва зареждаща програма (loader), проектирана да изтегли отдалечен зловреден код чрез curl и след това да го изпълни.

Същият акаунт на поддръжащ „ch4ce“, който в момента пренасочва към грешка „не е намерен“ на npmjs[.]com, е публикувал и четири други пакета: aone-kit, aone-kit-cli, aone-sandbox и local-config-parser.

„Първите три са празни обвивки, които имат същите имена като частни пакети с обхват @ali, които те декларират като зависимост във файла package.json“, споделя в анализ изследователят по сигурността от Socket Карло Занки.

Последният пакет, local-config-parser, имплементира легитимен парсер на JSON конфигурационни файлове, но съдържа зависимости, които сами по себе си са безопасни и са публикувани от други npm потребителски акаунти. Когато се комбинират обаче, те служат като канал за напреднал RAT, насочен към разработчици, които вероятно работят в компании от Alibaba Group.

По-конкретно, функционалността на зловредния зареждач е разделена и вградена в няколко пакета, доставени на целите като част от едно и също дърво на зависимостите. Пакетите от най-горно ниво, които имитират частни пакети от обхвата @ali, служат като примамки, активиращи инсталирането на дървото от зависимости.

„Когато такъв пакет се инсталира в среда, която има достъп до имитираните частни пакети, разрешаването на зависимостите работи според очакванията, но с малко допълнителна функционалност, доставена чрез допълнителни зависимости, които се инсталират“, обясняват от Socket.

Открити са до 10 пакета примамки от най-високо ниво, които зависят от „smart-config-manager“. Той функционира като мост от средно ниво, свързващ ги със зловредните пакети, съдържащи логиката на зареждача. Един от пакетите на ниско ниво се свързва с хранилище в GitHub, за да извлече и съхрани конфигурация на машина за правила, след което я използва за изпълнение на зловреден код, който от своя страна се свързва с отдалечен сървър за извличане на вторичен зловреден софтуер.

Забележителното при атаката е, че машината за правила използва модула vm за изпълнение на последната фаза и изтегляне на кода в зависимост от операционната система на жертвата. Зловредният код се извлича от домейн, който се маскира като такъв на Alibaba („aone-cli-next.oss-cn-beijing.aliyuncs[.]com“), за да се слее с легитимния трафик и да избегне засичане.

Този етап извършва редица действия:

  • Под Windows: Прекратява приложението за корпоративна сигурност, VPN и офис продуктивност Alilang и заменя основния му код с модифицирана версия с троянски кон.
  • Под Linux: Изтегля двоичен зловреден код в /tmp, стартира го като отделен процес и изтрива файла от диска, след като е зареден в паметта.
  • Под macOS: Вмъква зловреден фонов скрипт в ~/.zshrc и настройва Launch Agent да се задейства на всеки 10 минути.

Крайният зловреден код е сложен бекдор (backdoor), оборудван с цялостни възможности за изпълнение на команди, качване и изтегляне на произволни файлове, разузнаване на хоста, инсталиране на допълнителен код и странично придвижване (lateral movement) в мрежата. Той също така има способността да постига персистентност чрез инжектиране на зловреден код в често срещани приложения за корпоративно сътрудничество като DingTalk, Wukong и Qoder.

Точно кой стои зад кампанията не е известно, но наличието на коментари на китайски език в изходния код, съчетано с факта, че записите (commits) в GitHub са с времево отместване UTC+08:00, показва, че това вероятно е дело на китайскоговорящ злонамерен субект, насочен към китайскоговорящи разработчици, работещи с инструменти на Alibaba Group.

„Целта на кампанията изглежда е индустриален шпионаж“, отбелязва Занки. „Въпреки че броят на изтеглянията на зловредните пакети не е значителен, въздействието на кампанията е трудно да се оцени поради целенасочения характер и възможностите за странично разпространение на зловредния код от последната фаза.“

Потребителите, които са инсталирали някой от горепосочените пакети, трябва да приемат, че системите им са компрометирани, да подменят чувствителните идентификационни данни от чиста машина и да проверят системите на разработчиците за признаци на подозрителна активност.

Разкритието идва в момент, когато неизвестни атакуващи публикуваха компрометирана версия на mrmustard (0.7.4) – Python библиотека за фотонни квантови изчисления от Xanadu – с цел стартиране на софтуер за кражба на информация (infostealer), способен да събира частни SSH ключове и AWS идентификационни данни.