Noord-Koreaanse hackers richten zich op ontwikkelaars met kwaadaardige npm-pakketten

Er is ontdekt dat een reeks nep-npm-pakketten die in de Node.js-repository zijn ontdekt, banden delen met door de Noord-Koreaanse staat gesponsorde actoren, zo blijkt uit nieuwe bevindingen van de Phylum-show.

De pakketten heten execute-time-async, data-time-utils, login-time-utils, mongodb-connection-utils en mongodb-execution-utils.

Een van de pakketten in kwestie, executietijd-async, doet zich voor als zijn legitieme tegenhanger executietijd, een bibliotheek met meer dan 27.000 wekelijkse downloads. Uitvoeringstijd is een Node.js-hulpprogramma dat wordt gebruikt om de uitvoeringstijd in code te meten.

Het “installeert in feite verschillende kwaadaardige scripts, waaronder een cryptocurrency en credential stealer”, zei Phylum, die de campagne omschreef als een software supply chain-aanval gericht op ontwikkelaars. Het pakket is sinds 4 februari 2024 302 keer gedownload voordat het werd verwijderd.

In een interessante wending hebben de bedreigingsactoren pogingen ondernomen om de versluierde kwaadaardige code te verbergen in een testbestand, dat is ontworpen om de volgende fase van payloads op te halen van een externe server, inloggegevens te stelen van webbrowsers zoals Brave, Google Chrome en Opera, en een Python-script ophalen, dat op zijn beurt andere scripts downloadt –

  • ~/.n2/pay, dat willekeurige opdrachten kan uitvoeren, ~/.n2/bow en ~/.n2/adc kan downloaden en starten, Brave en Google Chrome kan beëindigen en zichzelf zelfs kan verwijderen
  • ~/.n2/bow, een op Python gebaseerde browserwachtwoordsteler
  • ~/.n2/adc, waarmee AnyDesk op Windows wordt geïnstalleerd

Phylum zei dat het opmerkingen in de broncode (“/Users/ninoacuna/”) identificeerde die het mogelijk maakten om een ​​nu verwijderd GitHub-profiel met dezelfde naam (“Nino Acuna” of binaryExDev) op te sporen met een repository genaamd File-Uploader .

In de repository waren Python-scripts aanwezig die naar dezelfde IP-adressen verwezen (162.218.114[.]83 – later gewijzigd in 45.61.169[.]99) gebruikt om de bovengenoemde Python-scripts op te halen.

Schadelijke npm-pakketten

Er wordt vermoed dat de aanval een werk in uitvoering is, aangezien minstens vier extra pakketten met identieke functies hun weg naar de npm-pakketrepository hebben gevonden, wat in totaal 325 downloads heeft opgeleverd –

Er ontstaan ​​verbindingen met Noord-Koreaanse acteurs

Phylum, dat ook de twee GitHub-accounts analyseerde die binaryExDev volgt, ontdekte een andere repository bekend als mave-finance-org/auth-playground, die niet minder dan een dozijn keer door andere accounts is geforkt.

Schadelijke npm-pakketten

Hoewel het forken van een repository op zichzelf niet ongewoon is, was een ongebruikelijk aspect van sommige van deze gevorkte repository’s dat ze werden omgedoopt tot “auth-demo” of “auth-challenge”, waardoor de mogelijkheid ontstond dat de oorspronkelijke repository misschien wel gedeeld als onderdeel van een codeertest voor een sollicitatiegesprek.

De repository werd later verplaatst naar banus-finance-org/auth-sandbox, Dexbanus-org/live-coding-sandbox en mave-finance/next-assesment, wat aangeeft dat er pogingen zijn ondernomen om de verwijderingspogingen van GitHub actief te omzeilen. Al deze accounts zijn verwijderd.

Bovendien bleek het pakket voor de volgende beoordeling een afhankelijkheid “json-mock-config-server” te bevatten die niet in het npm-register staat, maar rechtstreeks vanuit het domein npm.mave wordt bediend[.]financiën.

Het is vermeldenswaard dat Banus beweert een gedecentraliseerde eeuwigdurende spotbeurs gevestigd in Hong Kong, waar het bedrijf op 21 februari 2024 zelfs een vacature plaatste voor een senior frontend-ontwikkelaar. Het is momenteel niet duidelijk of dit een echte vacature is of dat het een uitgebreid social engineering-programma is.

De connecties met Noord-Koreaanse bedreigingsactoren komen voort uit het feit dat het versluierde JavaScript dat in het npm-pakket is ingebed, overlapt met een andere op JavaScript gebaseerde malware genaamd BeaverTail, die via een soortgelijk mechanisme wordt verspreid. De campagne kreeg in november 2023 de codenaam Contagious Interview door Palo Alto Networks Unit 42.

Contagious Interview verschilt een beetje van Operatie Dream Job – die is gekoppeld aan de Lazarus Group – in die zin dat het zich vooral richt op het targeten van ontwikkelaars via valse identiteiten in freelance banenportals om hen te misleiden tot het installeren van malafide npm-pakketten, Michael Sikorski, vice-president en CTO van Palo Alto Networks Unit 42, vertelde destijds aan The Hacker News.

Een van de ontwikkelaars die het slachtoffer werd van de campagne heeft sindsdien aan Phylum bevestigd dat de repository wordt gedeeld onder het mom van een live coderingsinterview, hoewel ze zeiden dat ze deze nooit op hun systeem hadden geïnstalleerd.

“Meer dan ooit is het belangrijk voor zowel individuele ontwikkelaars als softwareontwikkelingsorganisaties om waakzaam te blijven tegen deze aanvallen in open-sourcecode”, aldus het bedrijf.

Thijs Van der Does