Злонамерени npm пакети се използват за внедряване на Linux задна вратичка (backdoor) в инструменти за календари и изчисляване на последователности (streak-calculation). Пакетите предоставят легитимни функции за дата, което прави злонамерения код лесен за пропускане.
Опасността започва, когато засегнатият модул бъде импортиран. Зареждащата програма прави вградената Linux програма изпълнима и я стартира във фонов режим, без инсталационен скрипт или подозрително извикване на функция.
Изследователите от TrendAI идентифицираха кампанията като атака срещу веригата за доставки на софтуер, която доставя RedShell – Linux импланта, свързан с рамката за управление и контрол (C2) RedC2.
В доклад, споделен с Cyber Security News (CSN), TrendAI посочва, че това показва как една на пръв поглед безобидна зависимост може да се превърне в входна точка към производствена среда. Въздействието надхвърля първоначалния хост.
Имплантът може да събира идентификационни данни, да разузнава мрежата, да пренасочва трафика през заразена машина и да изтегля допълнителни инструменти. Това излага на риск изходния код, достъпа до облачни услуги и вътрешните услуги, когато компрометираният пакет достигне до доверена верига за изграждане (build chain).
Злонамерени npm пакети разпространяват захранван от изкуствен интелект Linux имплант RedC2
Засегнатите пакети се представят за малки помощни програми за математически операции с дати, които нямат външни зависимости. Техните рекламирани функции работят според очакванията, докато скрит бинарен файл е представен като собствен помощен модул (native helper).
Тази комбинация от полезен код и скрито изпълнение е причината, поради която кампаниите със злонамерени npm пакети остават трудни за ранно откриване от екипите за сигурност.
Входният файл, dist/index.mjs, се стартира автоматично при зареждането на модула. Той проверява за наличието на бинарния файл, променя неговите права за достъп и проверява неговата SHA-256 стойност, преди да го стартира като отделен процес (detached process).
Тъй като процесът не разчита на куки от жизнения цикъл (lifecycle hooks), използването на параметъра --ignore-scripts не спира този път на изпълнение. Директно или транзитивно импортиране може да задейства импланта, дори ако разработчикът никога не е избирал конкретния пакет.
Подобни техники вече показаха как атаките срещу веригата за доставки на конфигурационни файлове могат да заобиколят контролите, изградени около познатите npm скриптове за жизнен цикъл.
Бинарният файл е RedShell – собствен Linux компонент, въведен в RedC2 4.0. Имплантът използва отделни чисти HTTP пътища за кражба на данни и изтегляне на допълнителен злонамерен код.
Докладът описва RedShell като способен да краде SSH ключове, съхранени в браузъра идентификационни данни и файлове, свързани с бази данни.
Той може да създаде персистентност (устойчивост) чрез cron задачи, стартиращи файлове на обвивката (shell startup files), потребителски услуги или записи за автоматично стартиране на работния плот. Тези действия могат да осигурят на нападателите дълготраен достъп дори след като оригиналният пакет е бил премахнат.
Съдействието на ИИ повишава залозите
RedC2 включва функцията „Red Agent“, която превръща заявка на естествен език в последователност от команди за заразената система.
Операторът може да поиска разузнаване или събиране на идентификационни данни, вместо ръчно да въвежда всяка стъпка. Слоят с изкуствен интелект може да направи последващата дейност по-бърза и по-лесна за координиране.
RedShell може да изпълнява команди, да отваря обратна обвивка (reverse shell), да прехвърля файлове и да инспектира потребители, процеси и мрежови настройки. Той поддържа SOCKS5 проксиране, TCP порт пренасочване (port forwarding) и тунелиране – функции, които могат да превърнат един компрометиран Linux хост в мост към иначе недостъпни системи.
Рискът наподобява скорошни инциденти с кражба на идентификационни данни от среди за непрекъсната интеграция (CI), при които средите за разработка осигуриха ценен достъп отвъд една отделна работна станция.
Екипите по сигурността трябва да проверят заключващите файлове (lockfiles), кешовете на пакети и артефактите от компилацията за имената и версиите на засегнатите пакети.
Всеки хост, който е импортирал някой от тях, трябва да се третира като потенциално компрометиран: изолирайте го, променете изложените идентификационни данни, инспектирайте местата за персистентност и прегледайте изходящите връзки. Самото премахване на зависимостта може да не отстрани стартирания имплант или да анулира откраднатите тайни.
Защитниците трябва да следят за Node процеси, които променят вградените .bin файлове в изпълними, за неочаквани фонови дъщерни процеси от директориите със зависимости и за трафик към изброените адреси и портове.
Затягането на одобрението на зависимостите, фиксирането на версиите, прегледът на съдържанието на пакетите и ограничаването на правата в системите за компилация намаляват обхвата на потенциалните щети. Този случай потвърждава уроците от атаките за доставка на злонамерен код за множество платформи, където компилации за конкретната операционна система се крият зад доверени инструменти за разработка.
При реагиране на инциденти дайте приоритет на хостове с достъп до хранилища с изходен код, ключове за внедряване, облачни токени или производствени мрежи.
Търсете в телеметрията на крайните устройства за хеша и имената на файловете на RedShell, блокирайте потвърдените злонамерени комуникации, където е уместно, и запазете регистрационните файлове (logs), преди да преинсталирате системите. Доказателствата сочат към заплаха, създадена с цел установяване на път за компрометиране на мрежата.