Balíčky NPM - Pohovor s Contagious

Balíčky NPM se maskují jako benigní knihovny uživatelského rozhraní v útoku na dodavatelský řetězec „Contagious Interview“ ze strany Severní Koreje.

Nově detekované škodlivé balíčky npm se maskují jako neškodné front-endové pomocné programy, ale obsahují škodlivý obfusovaný kód.

Tým bezpečnostního výzkumu v Xygeni zjistil, že tyto npm balíčky: 'react-ui-notify', 'react-tmedia', 'react-ui-animates', 'react-medias', 'react-mandes' jsou modifikované deriváty 'bingo-logger', který je sám o sobě škodlivým forkem napodobujícím strukturu a dokumentaci populárního balíčku pro logování borovice aby se zdál legitimní. Toto krytí se používá ke zneužití důvěry vývojářů a přilákání stažení. Ve skutečnosti kódová základna obsahuje nesouvisející zahalený soubor, který běží v prostředí Node. 

Pozadí aktéra hrozby: Kampaň „Nakažlivý rozhovor“

Jedno Kampaň Contagious Interview je spojen s klastrem hrozeb známým jako 'UNC4034', který uvádí vazby na aktéry napojené na Severní Koreu Skupina Lazarus or APT38, známá státem sponzorovaná skupina napojená na severokorejský režim. Aktéři hrozby stojící za touto kampaní mají za sebou historii útoků na vývojáře prostřednictvím ekosystémů s otevřeným zdrojovým kódem, distribuce podobných balíčků, které spouštějí skryté datové části. V konečném důsledku dochází k odcizení dat souvisejících s kryptoměnami, zdrojového kódu a přihlašovacích údajů z infikovaných systémů.

Jedno taktiky, techniky a postupy (TTP) pozorované v těchto npm balíčcích sledují stejný vzorec:

  • Napodobujte legitimně znějící názvy projektů, aby vypadaly důvěryhodně.
  • Vložte obfusovaný kód do testovacích souborů a pomocných skriptů.
  • Spouštět skryté datové části, které shromažďují citlivá data a odesílají je na vzdálený server velení a řízení (C2).

Technické poznatky: Analýza znejasněného užitečného zatížení

Užitečné zatížení uvnitř "/test/fixtures/eval/node_modules/test.list' používá obfusovaný JavaScript (vyhledávání řetězců indexů/polí, kódované bloky) ke skrytí čitelných řetězců a řídicí tok bude spuštěn po instalaci balíčku kvůli postinstalačnímu skriptu. 'npm run test || npm transpile || npm run skipv rámci balíček.json. 

Naše analýza odhalila, že tyto balíčky obsahují adaptivní malware, který je navržen tak, aby se šířil mezi operačními systémy (Windows, macOS nebo Linux) a uživatelskými prostředími. Tato schopnost naznačuje záměrné zaměření na technické uživatele, kteří často pracují v různých prostředích.

Jakmile se malware usadí v systému, prozkoumává své okolí a shromažďuje podrobné informace o systému jako hostname, platforma, domovský adresář a adresář systémového TMP než rozšíří svůj dosah do aplikací, které ukládají citlivá data, jako například prohlížeče (Chrome/Brave/Edge/Opera) a digitální peněženkyRekurzivně prohledává běžná umístění profilů prohlížečů, souborů peněženek, klíčenek a mnoha typů dokumentů/souborů. Mezi klíčová slova pro vyhledávání patří peněženka, výrazy související se semeny a mnoho přípon souborů, které pravděpodobně obsahují přihlašovací údaje nebo tajné klíče (*.env, *.key, *.wallet, *.json, *.txt, *.doc atd..). Obsahuje seznamy výjimek pro běžné adresáře, aby se zabránilo zjevným systémovým souborům.

Datová část zapisuje lokální značku/zámkový soubor, aby se zabránilo více souběžným spuštěním, a zapisuje svá data do dočasných adresářů operačního systému, aby se zabránilo detekci.

Zahalená datová část obsahuje také komunikační kanál ke vzdálenému serveru, který funguje jako jeho velitelský a řídicí uzel. Prostřednictvím tohoto kanálu může vyzvednout ukradené informace a obdržet další pokynyAčkoli se samotná infrastruktura jeví jako omezená a účelová, její existence potvrzuje záměr útočníka udržovat si trvalou kontrolu nad infikovanými systémy.

Když malware najde citlivá data, sbalí je a pokusí se je nahrát na vzdálený koncový bod hostovaný na cloudovém serveru pomocí multipart/form-data, takže k požadavkům jsou připojeny ukradené soubory.

Ukazatele kompromitace a doporučení ke zmírnění

Organizacím se doporučuje odstranit tyto škodlivé závislosti (react-ui-notify, react-tmedia, react-ui-animates, react-medias, react-mandes, bingo-logger) a aktualizujte tato prostředí, aby byla zajištěna jejich integrita. Systémům, které mohly být vystaveny riziku, by měly být okamžitě srotovány všechny přihlašovací údaje a přístupové tokeny.

Správci sítě by měli omezit odchozí provoz na tyto IP adresy. 23.227.202.24, 131.153.22.25 a zkontrolujte nedávná připojení, zda neobsahují anomálie. Důrazně se doporučuje obnovit postižená prostředí z ověřených a čistých zdrojů, aby se zabránilo opětovné infekci a zajistila se integrita dodavatelského řetězce.

Širší kontext

Celkově jsou tyto balíčky dalším příkladem Vzhledem k nové úrovni vyspělosti útoků na dodavatelský řetězec založených na JavaScriptu útočníci stále častěji vytvářejí podobné balíčky, které si vypůjčují strukturu a dokumentaci z důvěryhodných projektů, modulární rozšíření a zavádějí lepší techniky, které ztěžují detekci a zmírňování rizik. 

Tento vývoj zvyšuje pravděpodobnost náhodné instalace nic netušícími vývojáři a poskytuje útočníkům hlubší přístup k prostředím pro tvorbu. CI/CD systémy a repozitáře zdrojového kódu.

Open-source ekosystémy se staly preferovanou distribuční platformou pro takové kampaně. Využíváním inherentní důvěry, kterou vývojáři vkládají do komunitních balíčků, mohou útočníci s minimálním úsilím a často bez okamžitého odhalení nebo následků infiltrovat dodavatelský řetězec softwaru.

Včasné varování před malwarem (MEW) od společnosti Xygeni

Tento incident byl původně identifikován prostřednictvím Xygeniho Včasné varování před malwarem systém, který průběžně monitoruje registry open-source balíčků, jako jsou npm, PyPI a Maven, a hledá škodlivé balíčky.

Náš detekční engine automaticky označil tyto balíčky jako podezřelé kvůli jejich neobvyklé struktuře, postinstalačnímu skriptu a zahalenému obsahu. V důsledku toho škodlivé balíčky (react-ui-notify, react-tmedia, react-ui-animates, react-medias a react-mandes) byly naším bezpečnostním týmem potvrzeny jako škodlivé a nahlášeny npm ještě předtím, než mohly dosáhnout širšího rozšíření.

Jak systém Xygeni Early Warning chrání vaše pipelines

  • Detekce hrozeb v reálném časeProhledává každý nový nebo aktualizovaný balíček ve vašem grafu závislostí a označuje podezřelé chování, jako jsou systémová volání operačního systému, provádění příkazů, obfusovaný kód, překlepy a mnoho dalšího.
  • Okamžitá upozorněníUpozorní vaše bezpečnostní a DevOps týmy ve Slacku, Jiře nebo e-mailem, jakmile se ve vašem prostředí objeví nová hrozba.
  • Oprava jedním kliknutímGeneruje pull requests které odstraňují nebo nahrazují zranitelné verze závislostí napříč vašimi projekty.
  • Podporované ekosystémy: Aktuálně zahrnuje npm, PyPI, Maven a Packagist.
  • Xygeni vám pomáhá předcházet útokům v dodavatelském řetězci tím, že zachycuje škodlivé balíčky v nejranější fázi, ještě než se dostanou do vaší sestavy.

???? Vyzkoušejte si Xygeni Malware Early Warning zdarma a uvidíte, jak rychle dokážete odhalit a neutralizovat hrozby pro dodavatelský řetězec ve svém vlastním pipelines.

nástroje pro analýzu složení softwaru SCA
Stanovte priority, opravte a zabezpečte svá softwarová rizika
Získejte svůj bezplatný účet.
Nevyžaduje se žádná kreditní karta.

Zajistěte si vývoj a dodávky softwaru

s produktovým balíčkem Xygeni