Databáza hrozieb Malvér Škodlivý softvér CanisterWorm

Škodlivý softvér CanisterWorm

Sofistikovaný útok na dodávateľský reťazec, pôvodne zameraný na široko používaný skener Trivy, sa rozvinul do širšieho kompromitovania, ktoré postihlo množstvo npm balíkov. Útočníci, ktorí stoja za kampaňou, sú podozriví z nasadenia predtým nezdokumentovaného samovoľne sa množiaceho červa známeho ako CanisterWorm, čím sa výrazne zvýšil rozsah a dopad narušenia.

Názov malvéru pochádza z použitia canistra internetového počítačového protokolu (ICP), inteligentných zmlúv odolných voči neoprávnenej manipulácii, ktoré sú hostované na decentralizovanom blockchaine, ako súčasti jeho veliteľskej infraštruktúry. Ide o prvý verejne zdokumentovaný prípad, kedy boli canistre ICP použité na získanie koncových bodov velenia a riadenia (C2), čím sa zavádza nová a odolná taktika, ktorá komplikuje tradičné snahy o zmiernenie rizík.

Kompromitované balíky a vektor počiatočného prístupu

Útok ovplyvnil viacero npm balíkov v rôznych oblastiach, čo demonštruje široký rádius šírenia v rámci dodávateľského reťazca softvéru:

  • 28 balíkov v rámci rozsahu @EmilGroup
  • 16 balíkov v rámci @opengov
  • Ďalšie balíky vrátane @teale.io/eslint-config, @airtm/uuid-base32 a @pypestream/floating-ui-dom

Táto kampaň tesne nasleduje po kompromitácii prihlasovacích údajov, ktorá útočníkom umožnila publikovať škodlivé verzie nástrojov súvisiacich s Trivy, konkrétne trivy, trivy-action a setup-trivy, ktoré obsahovali vstavanú funkciu na krádež prihlasovacích údajov. Predpokladá sa, že operácia súvisí s cloudovou kyberzločinnou skupinou TeamPCP.

Pracovný postup pri infekcii a infraštruktúra decentralizovaného velenia

Reťazec infekcie začína počas procesu inštalácie balíka npm, kde postinštalačný skript spustí zavádzač. Tento zavádzač nasadí backdoor založený na jazyku Python, ktorý je určený na komunikáciu s ICP canisterom. Canister funguje ako dead drop resolver a vracia URL adresu, ktorá nasmeruje infikovaný systém na stiahnutie a spustenie ďalšieho užitočného zaťaženia.

Decentralizovaná povaha infraštruktúry ICP poskytuje útočníkom významnú výhodu. Keďže kontajner dokáže dynamicky aktualizovať URL adresu užitočného zaťaženia, útočníci môžu distribuovať nové škodlivé binárne súbory naprieč všetkými infikovanými systémami bez toho, aby museli upravovať samotný nasadený malvér. Táto architektúra tiež značne sťažuje úsilie o jeho odstránenie.

Mechanizmus vytrvalosti a techniky tajnosti

Perzistencia sa dosahuje vytvorením používateľskej služby systemd nakonfigurovanej na automatické reštartovanie škodlivého procesu. Medzi kľúčové charakteristiky patria:

  • Automatický reštart vynútený pomocou direktívy Restart=always
  • 5-sekundové oneskorenie pred opätovným spustením zadných vrátok, ak boli ukončené
  • Maskovanie služby ako legitímneho monitorovacieho softvéru PostgreSQL pod názvom „pgmon“

Tento prístup zaisťuje nepretržitú prevádzku a zároveň minimalizuje pravdepodobnosť odhalenia tým, že sa integruje s legitímnymi systémovými službami.

Adaptívne doručovanie užitočného zaťaženia a správanie vypínača

Zadné vrátka pravidelne komunikujú s ICP kanistrom každých 50 minút pomocou falošného používateľského agenta prehliadača, aby sa predišlo podozreniu. Vrátená URL adresa určuje ďalšiu akciu:

  • Ak URL adresa odkazuje na platný dátový obsah, malvér ho stiahne a spustí.
  • Ak adresa URL obsahuje „youtube.com“, malvér prejde do neaktívneho stavu.

Tento mechanizmus efektívne slúži ako diaľkový vypínač. Prepínaním URL adresy schránky medzi neškodným odkazom na YouTube a škodlivým dátovým zaťažením môže útočník aktivovať alebo deaktivovať malvér vo všetkých infikovaných systémoch. Je pozoruhodné, že predtým spustené dátové zaťaženia naďalej bežia na pozadí, pretože malvér neukončuje predchádzajúce procesy.

Podobný kill switch založený na YouTube bol pozorovaný aj v binárnom súbore Trivy napadnutom trojanmi (verzia 0.69.4), ktorý komunikuje s rovnakou infraštruktúrou ICP prostredníctvom samostatného Python droppera.

Schopnosti červov a automatizované šírenie

Šírenie sa spočiatku spoliehalo na manuálne spustený skript s názvom deploy.js, ktorý využíval ukradnuté autentifikačné tokeny npm na vkladanie škodlivého kódu do prístupných balíkov. Tento skript sa nespúšťal počas inštalácie, ale slúžil ako samostatný nástroj na rozšírenie dosahu útoku.

Následné varianty CanisterWormu sa výrazne vyvinuli. V novších verziách, ako sú tie, ktoré nájdete na @teale.io/eslint-config (verzie 1.8.11 a 1.8.12), červ začleňuje samošírenie priamo do procesu inštalácie balíka. Aktualizovaný mechanizmus zahŕňa:

  • Extrakcia autentifikačných tokenov npm z infikovaného prostredia
  • Okamžité vykonanie propagačnej rutiny ako samostatného procesu na pozadí
  • Automatické publikovanie kompromitovaných balíkov pomocou získaných prihlasovacích údajov

Táto zmena transformuje útok z manuálne ovládanej kampane na plne autonómny systém šírenia.

Eskalácia do hrozby pre sebestačný dodávateľský reťazec

Zavedenie automatizovaného zberu tokenov a ich samošírenia predstavuje kritickú eskaláciu. Akákoľvek vývojárska pracovná stanica alebo CI/CD kanál, ktorý nainštaluje kompromitovaný balík a obsahuje prístupné npm prihlasovacie údaje, sa stáva aktívnym uzlom šírenia. To vytvára kaskádový efekt, v ktorom infikované balíky vedú k ďalším infekciám naprieč závislosťami v následných systémoch.

V tejto fáze sa hrozba vyvíja z izolovaného narušenia účtu do sebestačných ekosystémov distribúcie malvéru. Každé novo infikované prostredie prispieva k šíreniu, umožňuje exponenciálny rast a výrazne sťažuje jeho obmedzenie.

Tieto obavy ešte zhoršuje fakt, že testovanie artefaktov, ako napríklad zástupného užitočného zaťaženia („hello123“), naznačuje, že útočníci aktívne vylepšujú a overujú útočný reťazec pred nasadením plne funkčných škodlivých binárnych súborov.

Trendy

Najviac videné

Načítava...