Bekende open source node package manager (NPM) registries zijn het doelwit van een massale aanval met kwaadaardige packages. Die misbruikt onder meer de kwetsbaarheid van typosquatting en het principiële blockchain-netwerk van de Ethereum-cryptomunt. Dat constateerden supply chain security-specialisten van Phylum.
Volgens het onderzoek zijn de laatste tijd vooral de NPM registries Puppeteer en Bignum.js het doelwit. Daarnaast worden ook verschillende cryptocurrency libraries aangevallen. In totaal gaat het daarbij tot nu om 287 gedetecteerde kwaadaardige packages.
Met de aanval willen de hackers de systemen infecteren van de ontwikkelaars die voor hun code van deze registries afhankelijk zijn. De kwaadaardige packages hebben namen die gelijk zijn aan de legitieme packages voor de getroffen registries.
De hackers mikken daarbij vooral op tikfouten die zij maken of typosquatting. Vooral voor het maken van tikfouten door ontwikkelaars wanneer zij de naam van legitieme packages in de getroffen NPM registries invoeren.
Aanvalspad via Ethereum blockchain
De nu aangetroffen kwaadaardige packages zorgen er onder meer voor dat zij hun bedoeling en de achterliggende remote servers zoveel mogelijk verbergen. Hiervoor gebruiken zij een nieuwe manier om het IP-adres te verbergen waarvan zij in tweede instantie malware payloads ontvangen. In de initiële kwaadaardige code staat dit IP-adres zelfs nergens vermeld.
In plaats van met een IP-adres, legt de kwaadaardige code in de gepubliceerde package contact met een ethereum smart contract. Hierbij wordt een ‘string’ of IP-adres opgehaald met een specifiek contactadres op het Ethereum-hoofdnetwerk, het belangrijkste blockchain-netwerk dat de cryptomunt ondersteunt en waar de uiteindelijke transacties plaatsvinden.
Wanneer de kwaadaardige packages zijn geïnstalleerd, doen zij zich vaak voor als een Vercel package. De payload van deze malafide packages draait vervolgens in het geheugen en laadt zichzelf bij iedere reboot en verbindt zich met het IP-adres uit het ethereum-contract.
Daarna voert het een aantal verzoeken uit voor het ophalen van overige JavaScript-bestanden. Dan stuurt het systeeminformatie van het getroffen systeem terug naar dezelfde server vanwaar het de bestanden haalt. Hierbij gaat het onder meer om data over de processor, de GPU, de hoeveelheid geheugen op de machine, de OS-versie en de gebruikersnaam.
De specialisten van Phylum konden dit aanvalspad reconstrueren omdat Ethereum een onwijzigbare geschiedenis bewaart van alle waarden die het ooit heeft gezien. Dit betekende dat de securityspecialisten alle IP-adressen die de hackers voor dit type aanval gebruikten, konden terugvinden.
Bestrijding
Voor het tegengaan van de aanval, vooral door typosquatting, adviseert Phylum ontwikkelaars altijd de noodzakelijke package-namen te checken op tikfouten.
Ook hebben de experts een lijst gepubliceerd van alle namen, IP-adressen en cryptografische hashes die zijn gebruikt in de kwaadaardige packages in deze malwarecampagne.
Lees meer: Tienduizenden GitHub-comments verspreiden Lumma Stealer-malware