Trusseldatabase Malware CanisterWorm-malware

CanisterWorm-malware

Et sofistikeret forsyningskædeangreb, der oprindeligt var rettet mod den udbredte Trivy-scanner, er eskaleret til en bredere angrebssituation, der påvirker adskillige npm-pakker. Trusselaktørerne bag kampagnen mistænkes for at implementere en tidligere udokumenteret selvspredende orm kendt som CanisterWorm, hvilket øger omfanget og virkningen af indtrængen betydeligt.

Malwaren har fået sit navn fra dens brug af en Internet Computer Protocol (ICP)-beholder, manipulationssikre smarte kontrakter, der hostes på en decentraliseret blockchain, som en del af dens kommandoinfrastruktur. Dette markerer det første offentligt dokumenterede tilfælde af, at ICP-beholdere er blevet brugt som våben til at hente Command-and-Control (C2)-slutpunkter, hvilket introducerer en ny og robust taktik, der komplicerer traditionelle afbødningsindsatser.

Kompromitterede pakker og indledende adgangsvektor

Angrebet har påvirket flere npm-pakker på tværs af forskellige omfang, hvilket demonstrerer en bred eksplosionsradius inden for softwareforsyningskæden:

  • 28 pakker under @EmilGroup-området
  • 16 pakker under @opengov-området
  • Yderligere pakker, herunder @teale.io/eslint-config, @airtm/uuid-base32 og @pypestream/floating-ui-dom

Denne kampagne følger lige i kølvandet på en kompromittering af legitimationsoplysninger, der gjorde det muligt for angribere at offentliggøre ondsindede versioner af Trivy-relaterede værktøjer, nærmere bestemt trivy, trivy-action og setup-trivy, som indeholdt indlejrede funktioner til at stjæle legitimationsoplysninger. Operationen menes at være knyttet til en cloud-fokuseret cyberkriminel gruppe identificeret som TeamPCP.

Infektionsarbejdsgang og decentraliseret kommandoinfrastruktur

Infektionskæden begynder under installationsprocessen af npm-pakken, hvor et postinstall-script udfører en loader. Denne loader implementerer en Python-baseret bagdør, der er designet til at kommunikere med ICP-canisteren. Canisteren fungerer som en dead drop-resolver og returnerer en URL, der dirigerer det inficerede system til at downloade og udføre næste-trins nyttelast.

ICP-infrastrukturens decentraliserede natur giver angriberne en betydelig fordel. Da canisteren dynamisk kan opdatere payload-URL'en, kan trusselsaktører distribuere nye ondsindede binære filer på tværs af alle inficerede systemer uden at ændre selve den installerede malware. Denne arkitektur gør også fjernelse af malware betydeligt mere udfordrende.

Persistensmekanisme og stealth-teknikker

Persistens opnås ved at oprette en systemd-brugertjeneste, der er konfigureret til automatisk at genstarte den ondsindede proces. Nøgleegenskaber inkluderer:

  • Automatisk genstart håndhæves via direktivet Restart=always
  • En forsinkelse på 5 sekunder før genåbning af bagdøren, hvis den afsluttes
  • Forklædning af tjenesten som legitim PostgreSQL-overvågningssoftware under navnet 'pgmon'

Denne tilgang sikrer kontinuerlig drift, samtidig med at sandsynligheden for detektion minimeres ved at blive integreret med legitime systemtjenester.

Adaptiv nyttelastlevering og kill switch-adfærd

Bagdøren kommunikerer periodisk med ICP-beholderen hvert 50. minut ved hjælp af en forfalsket browser-brugeragent for at undgå mistanke. Den returnerede URL bestemmer den næste handling:

  • Hvis URL'en peger på en gyldig nyttelast, downloader og udfører malwaren den
  • Hvis URL'en indeholder 'youtube.com', går malwaren i en inaktiv tilstand

Denne mekanisme fungerer effektivt som en fjernafbryder. Ved at skifte mellem et godartet YouTube-link og en ondsindet nyttelast på beholderens URL kan angriberen aktivere eller deaktivere malwaren på tværs af alle inficerede systemer. Det er værd at bemærke, at tidligere udførte nyttelaster fortsætter med at køre i baggrunden, da malwaren ikke afslutter tidligere processer.

En lignende YouTube-baseret kill switch er også blevet observeret i en trojaniseret Trivy-binærfil (version 0.69.4), som kommunikerer med den samme ICP-infrastruktur via en separat Python-dropper.

Ormefunktioner og automatiseret formering

I starten var spredningen afhængig af et manuelt udført script ved navn deploy.js, som udnyttede stjålne npm-godkendelsestokens til at injicere ondsindet kode i tilgængelige pakker. Dette script blev ikke udløst under installationen, men fungerede som et selvstændigt værktøj til at udvide angrebets rækkevidde.

Efterfølgende varianter af CanisterWorm har udviklet sig betydeligt. I nyere versioner, såsom dem der findes i @teale.io/eslint-config (version 1.8.11 og 1.8.12), inkorporerer ormen selvudbredelse direkte i pakkens installationsproces. Den opdaterede mekanisme inkluderer:

  • Udtrækning af npm-godkendelsestokens fra det inficerede miljø
  • Øjeblikkelig udførelse af udbredelsesrutinen som en frakoblet baggrundsproces
  • Automatiseret publicering af kompromitterede pakker ved hjælp af indsamlede legitimationsoplysninger

Dette skift transformerer angrebet fra en manuelt betjent kampagne til et fuldt autonomt forplantningssystem.

Eskalering til en selvbærende trussel mod forsyningskæden

Introduktionen af automatiseret token-høstning og selvudbredelse markerer en kritisk eskalering. Enhver udviklerarbejdsstation eller CI/CD-pipeline, der installerer en kompromitteret pakke og indeholder tilgængelige npm-legitimationsoplysninger, bliver en aktiv udbredelsesnode. Dette skaber en kaskadeeffekt, hvor inficerede pakker fører til yderligere infektioner på tværs af downstream-afhængigheder.

På dette stadie udvikler truslen sig fra kompromittering af isolerede konti til et selvbærende økosystem af malwaredistribution. Hvert nyligt inficeret miljø bidrager til spredningen, hvilket muliggør eksponentiel vækst og gør inddæmning betydeligt vanskeligere.

Bekymringen forværres yderligere af test af artefakter, såsom en placeholder-nyttelast ('hello123'), der indikerer, at angriberne aktivt forfiner og validerer angrebskæden, før de implementerer fuldt operationelle, ondsindede binære filer.

Trending

Mest sete

Indlæser...