Bedreigingsdatabase Malware CanisterWorm-malware

CanisterWorm-malware

Een geavanceerde aanval op de toeleveringsketen, die aanvankelijk gericht was op de veelgebruikte Trivy-scanner, is uitgegroeid tot een bredere inbreuk die talloze npm-pakketten treft. De daders achter de campagne worden ervan verdacht een voorheen ongedocumenteerde, zelfverspreidende worm genaamd CanisterWorm te hebben ingezet, waardoor de omvang en impact van de inbraak aanzienlijk zijn toegenomen.

De malware ontleent zijn naam aan het gebruik van een Internet Computer Protocol (ICP)-canister, fraudebestendige smart contracts die worden gehost op een gedecentraliseerde blockchain, als onderdeel van zijn commandostructuur. Dit is het eerste publiekelijk gedocumenteerde geval van ICP-canisters die worden ingezet om Command-and-Control (C2)-eindpunten te bemachtigen, waarmee een nieuwe en robuuste tactiek wordt geïntroduceerd die traditionele bestrijdingsmaatregelen bemoeilijkt.

Gecompromitteerde pakketten en initiële toegangsvector

De aanval heeft meerdere npm-pakketten op verschillende niveaus getroffen, wat aantoont dat de impact ervan binnen de softwareleveringsketen aanzienlijk is:

  • 28 pakketten onder de scope van @EmilGroup
  • 16 pakketten onder de @opengov-scope
  • Aanvullende pakketten, waaronder @teale.io/eslint-config, @airtm/uuid-base32 en @pypestream/floating-ui-dom

Deze campagne volgt kort op een inbreuk op inloggegevens waardoor aanvallers kwaadaardige versies van Trivy-gerelateerde tools konden publiceren, met name trivy, trivy-action en setup-trivy, die ingebouwde functionaliteit voor het stelen van inloggegevens bevatten. De operatie wordt vermoedelijk in verband gebracht met een op de cloud gerichte cybercriminele groep die bekendstaat als TeamPCP.

Infectieworkflow en gedecentraliseerde commandostructuur

De infectieketen begint tijdens het installatieproces van het npm-pakket, waar een postinstallatiescript een loader uitvoert. Deze loader implementeert een op Python gebaseerde backdoor die is ontworpen om te communiceren met de ICP-canister. De canister fungeert als een dead drop resolver en retourneert een URL die het geïnfecteerde systeem doorverwijst naar het downloaden en uitvoeren van de payload van de volgende fase.

Het gedecentraliseerde karakter van de ICP-infrastructuur biedt aanvallers een aanzienlijk voordeel. Omdat de canister de payload-URL dynamisch kan bijwerken, kunnen cybercriminelen nieuwe kwaadaardige binaire bestanden verspreiden over alle geïnfecteerde systemen zonder de reeds geïnstalleerde malware zelf aan te passen. Deze architectuur maakt het bovendien aanzienlijk lastiger om de malware onschadelijk te maken.

Mechanisme voor persistentie en stealth-technieken

De persistentie wordt bereikt door het creëren van een systemd-gebruikersservice die is geconfigureerd om het kwaadaardige proces automatisch opnieuw op te starten. Belangrijke kenmerken zijn onder meer:

  • Automatische herstart wordt afgedwongen via de Restart=always-richtlijn.
  • Een vertraging van 5 seconden voordat de backdoor opnieuw wordt opgestart als deze wordt beëindigd.
  • De dienst vermomd als legitieme PostgreSQL-monitoringsoftware onder de naam 'pgmon'.

Deze aanpak garandeert een continue werking en minimaliseert tegelijkertijd de kans op detectie door op te gaan in de legitieme systeemdiensten.

Adaptieve payload-levering en noodstopgedrag

De backdoor communiceert periodiek, elke 50 minuten, met de ICP-container via een vervalste browser-User-Agent om argwaan te voorkomen. De geretourneerde URL bepaalt de volgende actie:

  • Als de URL naar een geldige payload verwijst, downloadt en voert de malware deze uit.
  • Als de URL 'youtube.com' bevat, komt de malware in een slapende toestand terecht.

Dit mechanisme fungeert in feite als een externe noodstop. Door de URL van de container te wijzigen tussen een onschadelijke YouTube-link en een kwaadaardige payload, kan de aanvaller de malware op alle geïnfecteerde systemen activeren of deactiveren. Opvallend is dat eerder uitgevoerde payloads op de achtergrond blijven draaien, omdat de malware eerdere processen niet beëindigt.

Een vergelijkbare, op YouTube gebaseerde kill switch is ook waargenomen in een met een trojan geïnfecteerde Trivy-binary (versie 0.69.4), die via een aparte Python-dropper communiceert met dezelfde ICP-infrastructuur.

Mogelijkheden van wormen en geautomatiseerde verspreiding

Aanvankelijk verliep de verspreiding via een handmatig uitgevoerd script genaamd deploy.js, dat gestolen npm-authenticatietokens gebruikte om kwaadaardige code in toegankelijke pakketten te injecteren. Dit script werd niet tijdens de installatie geactiveerd, maar diende als een op zichzelf staand hulpmiddel om het bereik van de aanval te vergroten.

Latere varianten van CanisterWorm zijn aanzienlijk geëvolueerd. In nieuwere versies, zoals die te vinden zijn in @teale.io/eslint-config (versies 1.8.11 en 1.8.12), integreert de worm zelfverspreiding direct in het installatieproces van het pakket. Het bijgewerkte mechanisme omvat:

  • Extractie van npm-authenticatietokens uit de geïnfecteerde omgeving
  • De propagatieroutine wordt direct uitgevoerd als een losstaand achtergrondproces.
  • Geautomatiseerde publicatie van gecompromitteerde pakketten met behulp van buitgemaakte inloggegevens

Deze verschuiving transformeert de aanval van een handmatig uitgevoerde campagne in een volledig autonoom verspreidingssysteem.

Escalatie naar een zelfvoorzienende bedreiging voor de toeleveringsketen

De introductie van geautomatiseerd verzamelen en zelfverspreiding van tokens markeert een kritieke escalatie. Elk ontwikkelaarswerkstation of CI/CD-pipeline dat een gecompromitteerd pakket installeert en toegankelijke npm-referenties bevat, wordt een actief verspreidingspunt. Dit creëert een domino-effect waarbij geïnfecteerde pakketten leiden tot verdere infecties in afhankelijke systemen.

In dit stadium ontwikkelt de dreiging zich van geïsoleerde accountinbreuken tot een zelfvoorzienend ecosysteem voor de verspreiding van malware. Elke nieuw geïnfecteerde omgeving draagt bij aan de verspreiding, wat exponentiële groei mogelijk maakt en de beheersing aanzienlijk moeilijker maakt.

Wat de bezorgdheid nog versterkt, is dat testartefacten zoals een placeholder-payload ('hello123') erop wijzen dat de aanvallers actief bezig zijn met het verfijnen en valideren van de aanvalsketen voordat ze volledig operationele kwaadaardige binaire bestanden inzetten.

Trending

Meest bekeken

Bezig met laden...