Npm-pakker - Smitsomt interview

Npm-pakker forklædt som godartede brugergrænsefladebiblioteker i Nordkoreas "smitsomme interview"-forsyningskædeangreb

Nyligt opdagede ondsindede npm-pakker udgiver sig for at være harmløse frontend-hjælpere, men indeholder ondsindet, forvirret kode.

Sikkerhedsforskningsteamet hos Xygeni fastslået at disse npm-pakker: 'react-ui-notify', 'react-tmedia', 'react-ui-animates', 'react-medias', 'react-mandes' er modificerede derivater af bingo-logger, i sig selv en ondsindet fork, der efterligner strukturen og dokumentationen af ​​den populære logging-pakke 'pino' for at fremstå legitim. Dette dække bruges til at udnytte udviklernes tillid og tiltrække downloads. I virkeligheden indeholder kodebasen en urelateret obfuskeret fil, der kører i Node-miljøer. 

Baggrund for trusselaktører: Kampagnen "Contagious Interview"

Smitsom interviewkampagne er forbundet med trusselsgruppen kendt som 'UNC4034', som rapporterer links til nordkoreanske tilknyttede aktører Lazarus gruppe or APT38, en velkendt statsstøttet gruppe med tilknytning til det nordkoreanske regime. Trusselaktørerne bag denne kampagne har en historie med at målrette udviklere gennem open source-økosystemer og distribuere lignende pakker, der udfører skjulte nyttelast. I sidste ende stjæler de kryptorelaterede data, kildekode og legitimationsoplysninger fra inficerede systemer.

taktikker, teknikker og procedurer (TTP'er) observeret i disse npm-pakker følger det samme mønster:

  • Efterlign projektnavne, der lyder legitime, for at virke troværdige.
  • Integrer obfuskeret kode i testfiler og hjælpescripts.
  • Kør skjulte nyttelaster, der indsamler følsomme data og sender dem til en fjern kommando- og kontrolserver (C2).

Tekniske fund: Analyse af obfuskeret nyttelast

Nyttelasten fundet indeni '/test/fixtures/eval/node_modules/test.list' bruger obfuskeret JavaScript (opslag af indeks-/array-strenge, kodede blokke) til at skjule læsbare strenge, og kontrolflowet vil blive udført, når pakken er installeret, på grund af postinstall-scriptet. 'npm kørselstest || npm transpilering || npm kørsel spring over' inden for pakke.json. 

Vores analyse afslørede, at disse pakker indeholder et adaptivt stykke malware, der er bygget til at bevæge sig på tværs af operativsystemer (Windows, macOS eller Linux) og brugermiljøer. En funktion, der tyder på et bevidst fokus på tekniske brugere, der ofte arbejder på tværs af forskellige miljøer.

Når malwaren først har etableret sig på et system, undersøger den sine omgivelser og indsamler detaljerede systemoplysninger som hostname, perron, hjemmekatalog og system tmp-mappe før den udvider sin rækkevidde til applikationer, der lagrer følsomme data, f.eks. browsere (Chrome/Brave/Edge/Opera) og digitale tegnebøgerDen søger rekursivt efter almindelige placeringer for browserprofiler, wallet-filer, nøgleringe og mange dokument-/filtyper. Søgeord omfatter wallet, seed-relaterede termer og mange filtypenavne, der sandsynligvis indeholder legitimationsoplysninger eller hemmeligheder (*.env, *.key, *.wallet, *.json, *.txt, *.doc osv..). Den indeholder udelukkelseslister for almindelige mapper for at undgå åbenlyse systemfiler.

Nyttelasten skriver en lokal markør/låsefil for at forhindre flere samtidige kørsel og skriver sine data i OS' midlertidige mapper for at undgå detektion.

Den forvirrede nyttelast indeholder også en kommunikationskanal til en fjernserver, der fungerer som dens kommando- og kontrolcenter. Gennem denne kanal kan den udtømme stjålne oplysninger og modtage yderligere instruktionerSelvom selve infrastrukturen virker begrænset og formålsbestemt, bekræfter dens eksistens angriberens intention om at opretholde vedvarende kontrol over inficerede systemer.

Når malwaren finder følsomme data, samler den dem og forsøger at uploade dem til et eksternt slutpunkt, der er hostet på en cloud-server, ved hjælp af multipart/form-data, så stjålne filer vedhæftes anmodninger.

Indikatorer for kompromis og anbefalinger til afbødning

Organisationer rådes til at fjerne disse ondsindede afhængigheder (react-ui-notify, react-tmedia, react-ui-animates, react-medias, react-mandes, bingo-logger) og opdater disse miljøer for at sikre integritet. Systemer, der kan være blevet eksponeret, bør straks have alle legitimationsoplysninger og adgangstokens roteret.

Netværksadministratorer bør begrænse udgående trafik til disse IP-adresser 23.227.202.24, 131.153.22.25 og gennemgå nylige forbindelser for uregelmæssigheder. Det anbefales kraftigt at genopbygge berørte miljøer fra verificerede, rene kilder for at forhindre geninfektion og sikre forsyningskædens integritet.

Bredere kontekst

Samlet set er disse pakker endnu et eksempel I takt med det nye modenhedsniveau inden for JavaScript-baserede supply chain-angreb skaber modstandere i stigende grad lignende pakker, der låner struktur og dokumentation fra betroede projekter, modulær udvidelse og indførelse af bedre teknikker for at gøre detektion og afbødning til en udfordring. 

Denne udvikling øger sandsynligheden for utilsigtet installation foretaget af intetanende udviklere og giver modstandere dybere adgang til byggemiljøer. CI/CD systemer og kildekodelagre.

Open source-økosystemer er blevet en foretrukken distributionsplatform for sådanne kampagner. Ved at udnytte den iboende tillid, som udviklere har til community-pakker, kan angribere infiltrere softwareforsyningskæden med minimal indsats og ofte uden øjeblikkelig opdagelse eller konsekvenser.

Tidlig advarsel om malware (MEW) fra Xygeni

Denne hændelse blev oprindeligt identificeret gennem Xygenis Tidlig advarsel om malware system, som løbende overvåger open source-pakkeregistre såsom npm, PyPI og Maven for ondsindede pakker.

Vores detektionsmotor markerede automatisk disse pakker som mistænkelige på grund af deres usædvanlige struktur, postinstallationsscript og forvirrede nyttelast. Som følge heraf blev de skadelige pakker (react-ui-notify, react-tmedia, react-ui-animates, react-medias og react-mandes) blev bekræftet som skadelige af vores sikkerhedsteam og rapporteret til npm, før de kunne nå ud til bredere anvendelse.

Sådan beskytter Xygeni Early Warning din pipelines

  • Trusselsdetektion i realtidScanner alle nye eller opdaterede pakker i din afhængighedsgraf og markerer mistænkelig adfærd såsom systemkald fra operativsystemer, kommandoudførelse, obfuskeret kode, typosquatting og meget mere.
  • Øjeblikkelige alarmerGiver dine sikkerheds- og DevOps-teams besked i Slack, Jira eller e-mail, så snart en ny trussel dukker op i dit miljø.
  • Afhjælpning med ét klik: Genererer pull requests der fjerner eller erstatter sårbare afhængighedsversioner på tværs af dine projekter.
  • Understøttede økosystemer: Omfatter i øjeblikket npm, PyPI, Maven og Packagist.
  • Xygeni hjælper dig med at være på forkant med angreb i forsyningskæden ved at fange ondsindede pakker på det tidligste stadie, før de når din build.

???? Prøv Xygeni Malware Early Warning gratis og se hvor hurtigt du kan opdage og neutralisere trusler i forsyningskæden på egen hånd pipelines.

sca-tools-software-kompositionsanalyseværktøjer
Prioriter, afhjælp og sørg for dine softwarerisici
Få din gratis konto.
Der kræves ikke noget kreditkort.

Sikr din softwareudvikling og -levering

med Xygeni-produktsuite