Grėsmių duomenų bazė Kenkėjiška programa „CanisterWorm“ kenkėjiška programa

„CanisterWorm“ kenkėjiška programa

Sudėtinga tiekimo grandinės ataka, iš pradžių nukreipta prieš plačiai naudojamą „Trivy“ skaitytuvą, peraugo į platesnį įsilaužimą, paveikiantį daugybę npm paketų. Įtariama, kad kampaniją vykdę kibernetiniai nusikaltėliai panaudojo anksčiau nedokumentuotą savaime plintantį kirminą, vadinamą „CanisterWorm“, kuris žymiai padidino įsilaužimo mastą ir poveikį.

Kenkėjiška programa savo pavadinimą gavo dėl to, kad savo komandų infrastruktūroje naudoja interneto kompiuterio protokolo (ICP) talpyklą – apsaugotas nuo klastojimo išmaniąsias sutartis, talpinamas decentralizuotoje blokų grandinėje. Tai pirmas viešai dokumentuotas atvejis, kai ICP talpyklos buvo apginkluotos komandų ir kontrolės (C2) galiniams taškams gauti, o tai yra nauja ir atspari taktika, apsunkinanti tradicines švelninimo pastangas.

Pažeistų paketų ir pradinės prieigos vektorius

Ataka paveikė kelis npm paketus skirtingose taikymo srityse, parodydama platų sprogimo spindulį programinės įrangos tiekimo grandinėje:

  • 28 paketai, priklausantys @EmilGroup taikymo sričiai
  • 16 paketų, patenkančių į @opengov taikymo sritį
  • Papildomi paketai, įskaitant @teale.io/eslint-config, @airtm/uuid-base32 ir @pypestream/floating-ui-dom

Ši kampanija įvyko netrukus po to, kai užpuolikai galėjo publikuoti kenkėjiškas su „Trivy“ susijusių įrankių versijas, konkrečiai „trivy“, „trivy-action“ ir „setup-trivy“, kuriose buvo įdiegtas įgaliojimų vagystės funkcionalumas. Manoma, kad ši operacija susijusi su debesijos kompiuterijos srities kibernetine nusikaltėlių grupuote, vadinama „TeamPCP“.

Infekcijos darbo eiga ir decentralizuota komandų infrastruktūra

Užkrato grandinė prasideda „npm“ paketo diegimo proceso metu, kai po diegimo atliekamas scenarijus vykdo įkrovos programą. Ši įkrovos programa išskleidžia „Python“ pagrindu sukurtą galinį langą, skirtą bendrauti su ICP filtru. Filtras veikia kaip neveikiančių failų sprendiklis, grąžinantis URL, kuris nukreipia užkrėstą sistemą atsisiųsti ir vykdyti kito etapo paketą.

Decentralizuotas ICP infrastruktūros pobūdis suteikia užpuolikams didelį pranašumą. Kadangi kenkėjiškų programų talpykla gali dinamiškai atnaujinti naudingosios apkrovos URL, kenkėjiškų programų kūrėjai gali platinti naujus kenkėjiškus dvejetainius failus visose užkrėstose sistemose nemodifikuodami pačios įdiegtos kenkėjiškos programos. Ši architektūra taip pat gerokai apsunkina pašalinimo pastangas.

Atkaklumo mechanizmas ir slapti metodai

Nuolatiškumas pasiekiamas sukuriant „systemd“ vartotojo paslaugą, sukonfigūruotą automatiškai paleisti kenkėjišką procesą iš naujo. Pagrindinės charakteristikos:

  • Automatinis paleidimas iš naujo, vykdomas naudojant direktyvą „Restart=always“
  • 5 sekundžių uždelsimas prieš iš naujo paleidžiant galines duris, jei jos nutraukiamos
  • Paslaugos maskavimas kaip teisėtos „PostgreSQL“ stebėjimo programinės įrangos pavadinimu „pgmon“

Šis metodas užtikrina nepertraukiamą veikimą ir sumažina aptikimo tikimybę, susiliejant su teisėtomis sistemos paslaugomis.

Adaptyvus naudingosios apkrovos tiekimas ir išjungimo jungiklio veikimas

Užpakalinės durys periodiškai bendrauja su ICP kanistru kas 50 minučių, naudodamos netikrą naršyklės vartotojo agentą, kad išvengtų įtarimų. Grąžintas URL nustato tolesnį veiksmą:

  • Jei URL nurodo į galiojantį naudingąjį turinį, kenkėjiška programa jį atsisiunčia ir vykdo.
  • Jei URL yra „youtube.com“, kenkėjiška programa pereina į ramybės būseną.

Šis mechanizmas iš esmės veikia kaip nuotolinis naikinimo jungiklis. Perjungdamas talpyklos URL tarp gerybinės „YouTube“ nuorodos ir kenkėjiškos informacijos, užpuolikas gali aktyvuoti arba deaktyvuoti kenkėjišką programą visose užkrėstose sistemose. Svarbu tai, kad anksčiau įvykdytos informacijos paketai toliau veikia fone, nes kenkėjiška programa nenutraukia ankstesnių procesų.

Panašus „YouTube“ pagrindu sukurtas „kill switch“ tipo virusas taip pat pastebėtas trojanizuotame „Trivy“ dvejetainiame faile (0.69.4 versija), kuris bendrauja su ta pačia ICP infrastruktūra per atskirą „Python“ lašintuvą.

Kirminų galimybės ir automatizuotas dauginimasis

Iš pradžių platinimas rėmėsi rankiniu būdu vykdomu scenarijumi pavadinimu „deploy.js“, kuris panaudojo pavogtus „npm“ autentifikavimo žetonus, kad į prieinamus paketus įterptų kenkėjišką kodą. Šis scenarijus nebuvo aktyvuotas diegimo metu, bet veikė kaip atskira priemonė atakos aprėpčiai išplėsti.

Vėlesni „CanisterWorm“ variantai gerokai vystėsi. Naujesnėse versijose, tokiose kaip tos, kurios yra @teale.io/eslint-config (1.8.11 ir 1.8.12 versijos), kirminas savarankiškai plinta tiesiai į paketo diegimo procesą. Atnaujintas mechanizmas apima:

  • Npm autentifikavimo žetonų išgavimas iš užkrėstos aplinkos
  • Nedelsiamas sklaidos rutinos vykdymas kaip atskiro foninio proceso
  • Automatinis pažeistų paketų publikavimas naudojant surinktus prisijungimo duomenis

Šis pokytis transformuoja ataką iš rankiniu būdu valdomos kampanijos į visiškai autonominę sklidimo sistemą.

Eskalacija į savarankišką tiekimo grandinės grėsmę

Automatinio žetonų rinkimo ir savaiminio platinimo įdiegimas žymi kritinę eskalaciją. Bet kuri kūrėjo darbo stotis arba CI/CD kanalas, kuriame įdiegiamas pažeistas paketas ir kuriame yra prieinami npm kredencialai, tampa aktyviu platinimo mazgu. Tai sukuria kaskadinį efektą, kai užkrėsti paketai sukelia tolesnes infekcijas įvairiose priklausomybėse.

Šiame etape grėsmė išsivysto ne tik į pavienių paskyrų užkrėtimą, bet ir į savarankišką kenkėjiškų programų platinimo ekosistemą. Kiekviena naujai užkrėsta aplinka prisideda prie plitimo, sudarydama sąlygas eksponentiniam augimui ir gerokai apsunkindama sulaikymą.

Susirūpinimą dar labiau padidina tai, kad testavimo artefaktai, tokie kaip vietos žymėjimo paketas („hello123“), rodo, kad užpuolikai aktyviai tobulina ir tikrina atakų grandinę prieš dislokuodami visiškai veikiančius kenkėjiškus dvejetainius failus.

Tendencijos

Labiausiai žiūrima

Įkeliama...