Naujai aptikti kenkėjiški npm paketai apsimeta nekenksmingais priekinio plano pagalbininkais, tačiau juose yra kenkėjiškas užmaskuotas kodas.
Saugumo tyrimų komanda Ksigeni nustatė, kad šie npm paketai: „react-ui-notify“, „react-tmedia“, „react-ui-animates“, „react-medias“, „react-mandes“ yra modifikuoti dariniai „bingo registratorius“, pati savaime yra kenkėjiška šakutė, imituojanti populiaraus registravimo paketo struktūrą ir dokumentaciją. pino kad atrodytų teisėta. Ta priedanga naudojama siekiant išnaudoti kūrėjų pasitikėjimą ir pritraukti atsisiuntimų. Iš tikrųjų kodo bazėje yra nesusijęs užmaskuotas failas, kuris veikia „Node“ aplinkose.
Grėsmės šaltinio praeitis: kampanija „Užkrečiamas interviu“
Geriausios Užkrečiamo interviu kampanija yra susijęs su grėsmių klasteriu, vadinamu „UNC4034“, kuriame pranešama apie ryšius su Šiaurės Korėjos veikėjais Lozoriaus grupė or APT38, gerai žinoma valstybės remiama grupuotė, susijusi su Šiaurės Korėjos režimu. Šios kampanijos kūrėjai turi istoriją, kai taikydavosi į kūrėjus per atvirojo kodo ekosistemas, platindami panašius paketus, kurie vykdo paslėptus naudingus duomenis. Galiausiai iš užkrėstų sistemų išfiltruodavo su kriptovaliutomis susijusius duomenis, šaltinio kodą ir prisijungimo duomenis.
Geriausios taktika, metodai ir procedūros Šiuose npm paketuose stebimi (TTP) laikosi to paties modelio:
- Imituokite teisėtai skambančius projektų pavadinimus, kad atrodytumėte patikimi.
- Įterpti užmaskuotą kodą į bandymų failus ir pagalbinius scenarijus.
- Paleiskite paslėptus naudinguosius duomenis, kurie renka jautrius duomenis ir siunčia juos į nuotolinį komandų ir valdymo (C2) serverį.
Techniniai radiniai: Užmaskuota naudingosios apkrovos analizė
Naudingoji apkrova, rasta viduje "/test/fixtures/eval/node_modules/test.list' naudoja užmaskuotą „JavaScript“ kodą (indekso/masyvo eilučių paieškas, užkoduotus blokus), kad paslėptų skaitomas eilutes, o valdymo srautas bus vykdomas įdiegus paketą dėl įdiegimo scenarijaus „npm vykdymo testas || npm transpile || npm vykdymo praleidimas“viduje paketas.json.
Mūsų analizė parodė, kad šiuose paketuose yra prisitaikanti kenkėjiška programa, sukurta judėti skirtingose operacinėse sistemose („Windows“, „macOS“ arba „Linux“) ir vartotojų aplinkose. Ši funkcija rodo, kad sąmoningai daugiausia dėmesio skiriama techniniams vartotojams, kurie dažnai dirba įvairiose aplinkose.
Patekusi į sistemą, kenkėjiška programa tyrinėja aplinką, rinkdama išsami sistemos informacija z hostname, platforma, namų katalogas bei sistemos laikinojo failo katalogas prieš išplėsdama savo veiklą į programas, kuriose saugomi jautrūs duomenys, pvz. naršyklės („Chrome“ / „Brave“ / „Edge“ / „Opera“) ir skaitmeninės piniginėsJis rekursyviai ieško įprastose naršyklės profilių, piniginės failų, raktų pakabukų ir daugelio dokumentų / failų tipų vietose. Paieškos raktiniai žodžiai apima piniginę, su pradine verte susijusius terminus ir daugelį failų plėtinių, kuriuose gali būti kredencialų arba paslapčių (*.env, *.key, *.wallet, *.json, *.txt, *.doc ir kt..). Jame yra įprastų katalogų išskyrimų sąrašai, siekiant išvengti akivaizdžių sistemos failų.
Naudingoji apkrova įrašo vietinį žymeklį / užrakinimo failą, kad būtų išvengta kelių vienu metu vykdomų operacijų, ir įrašo savo duomenis į OS laikinus katalogus, kad būtų išvengta aptikimo.
Užmaskuotame pakete taip pat yra ryšio kanalas su nuotoliniu serveriu, kuris veikia kaip jo komandų ir valdymo centras. Per šį kanalą jis gali išgauti pavogtą informaciją bei gauti tolesnius nurodymusNors pati infrastruktūra atrodo ribota ir sukurta specialiai tam, jos egzistavimas patvirtina užpuoliko ketinimą nuolat kontroliuoti užkrėstas sistemas.
Kai kenkėjiška programa aptinka jautrių duomenų, ji juos sujungia ir bando įkelti į nuotolinį galinį tašką, esantį debesies serveryje, naudodama daugiapartinius/forminius duomenis, kad prie užklausų būtų pridėti pavogti failai.
Kompromiso rodikliai ir rekomendacijos dėl poveikio mažinimo
Organizacijoms patariama pašalinti šias kenkėjiškas priklausomybes (react-ui-notify, react-tmedia, react-ui-animates, react-medias, react-mandes, bingo-logger) ir atnaujinkite šias aplinkas, kad užtikrintumėte vientisumą. Sistemose, kurios galėjo būti paveiktos, visi prisijungimo duomenys ir prieigos žetonai turėtų būti nedelsiant pakeisti.
Tinklo administratoriai turėtų apriboti siunčiamą srautą į šiuos IP adresus 23.227.202.24, 131.153.22.25 ir peržiūrėkite neseniai prisijungusius asmenis, ar nėra anomalijų. Siekiant išvengti pakartotinio užkrėtimo ir užtikrinti tiekimo grandinės vientisumą, primygtinai rekomenduojama atkurti paveiktas aplinkas iš patikrintų, švarių šaltinių.
Platesnis kontekstas
Apskritai šie paketai yra dar vienas pavyzdys Dėl naujo „JavaScript“ pagrindu sukurtų tiekimo grandinės atakų brandos lygio priešininkai vis dažniau kuria panašius paketus, kurie skolinasi struktūrą ir dokumentaciją iš patikimų projektų, modulinę plėtrą ir taiko geresnius metodus, kad aptikimas ir sušvelninimas taptų iššūkiu.
Ši evoliucija padidina tikimybę, kad nieko neįtariantys kūrėjai netyčia įdiegs programas, ir suteikia priešininkams gilesnę prieigą prie kūrimo aplinkų. CI/CD sistemos ir šaltinio kodo saugyklos.
Atvirojo kodo ekosistemos tapo pageidaujama tokių kampanijų platinimo platforma. Pasinaudodami kūrėjų pasitikėjimu bendruomenės paketais, užpuolikai gali minimaliomis pastangomis įsiskverbti į programinės įrangos tiekimo grandinę ir dažnai be tiesioginio aptikimo ar pasekmių.
„Xygeni“ kenkėjiškų programų ankstyvojo įspėjimo (MEW) sistema
Šis incidentas iš pradžių buvo identifikuotas per Xygeni Kenkėjiškų programų ankstyvas įspėjimas sistema, kuri nuolat stebi atvirojo kodo paketų registrus, tokius kaip npm, PyPI, Maven, ieškodama kenkėjiškų paketų.
Mūsų aptikimo sistema automatiškai pažymėjo šiuos paketus kaip įtartinus dėl neįprastos struktūros, po įdiegimo atsiųsto scenarijaus ir užmaskuotos naudingosios apkrovos. Dėl to kenkėjiški paketai (react-ui-notify, react-tmedia, react-ui-animates, react-medias ir react-mandes) mūsų saugumo komandos patvirtino, kad yra kenkėjiški, ir apie juos pranešta npm, kol jie dar nebuvo plačiau naudojami.
Kaip „Xygeni Early Warning“ apsaugo jūsų pipelines
- Grėsmių aptikimas realiuoju laikuNuskaito kiekvieną naują arba atnaujintą paketą jūsų priklausomybių grafike ir pažymi įtartiną elgesį, pvz., OS sistemos iškvietimus, komandų vykdymą, užmaskuotą kodą, rašybos klaidas ir daugelį kitų.
- Skubūs įspėjimai: Praneša jūsų saugumo ir „DevOps“ komandoms „Slack“, „Jira“ arba el. paštu, kai tik jūsų aplinkoje atsiranda nauja grėsmė.
- Vieno paspaudimo taisymas: Generuoja pull requests kurios pašalina arba pakeičia pažeidžiamas priklausomybių versijas visuose jūsų projektuose.
- Palaikomos ekosistemos: Šiuo metu apima npm, PyPI, Maven ir Packagist.
- „Xygeni“ padeda jums išvengti tiekimo grandinės atakų, aptikdama kenkėjiškus paketus ankstyviausioje stadijoje, dar prieš jiems pasiekiant jūsų kompiliaciją.
👉 Išbandykite „Xygeni“ kenkėjiškų programų ankstyvojo įspėjimo programą nemokamai ir pažiūrėkite, kaip greitai galite aptikti ir neutralizuoti tiekimo grandinės grėsmes savo pipelines.






