Cybersecurity-onderzoekers hebben een aanval op de softwaretoevoerketen ontdekt die al meer dan een jaar actief is op het npm-pakketregister door te beginnen als een onschadelijke bibliotheek en later kwaadaardige code toe te voegen om gevoelige gegevens te stelen en cryptocurrency te minen op geïnfecteerde systemen.
Het pakket, genaamd @0xengine/xmlrpc, werd oorspronkelijk op 2 oktober 2023 gepubliceerd als een op JavaScript gebaseerde XML-RPC-server en -client voor Node.js. Het is tot nu toe 1.790 keer gedownload en kan nog steeds worden gedownload vanuit de repository.
Controleermarxdie het pakket ontdekte, zei dat de kwaadaardige code een dag later strategisch werd geïntroduceerd in versie 1.3.4, met functionaliteit om elke 12 uur waardevolle informatie te verzamelen, zoals SSH-sleutels, bash-geschiedenis, systeemmetagegevens en omgevingsvariabelen, en deze te exfiltreren via diensten zoals Dropbox en file.io.
“De aanval werd verspreid via meerdere vectoren: directe npm-installatie en als een verborgen afhankelijkheid in een legitiem ogende repository”, zei beveiligingsonderzoeker Yehuda Gelb in een technisch rapport dat deze week werd gepubliceerd.
De tweede benadering omvat een GitHub-projectrepository genaamd yawpp (afkorting van “Yet Another WordPress Poster”) die beweert een tool te zijn die is ontworpen om programmatisch berichten op het WordPress-platform te creëren.
Het “package.json”-bestand vermeldt de nieuwste versie van @0xengine/xmlrpc als een afhankelijkheid, waardoor het kwaadaardige npm-pakket automatisch wordt gedownload en geïnstalleerd wanneer gebruikers proberen de yawpp-tool op hun systemen in te stellen.
Het is momenteel niet duidelijk of de ontwikkelaar van de tool dit pakket opzettelijk als afhankelijkheid heeft toegevoegd. De repository is op het moment van schrijven één keer gevorkt. Vanzelfsprekend is deze aanpak ook een effectieve methode voor de verspreiding van malware, omdat hiermee misbruik wordt gemaakt van het vertrouwen dat gebruikers stellen in pakketafhankelijkheden.
Eenmaal geïnstalleerd, is de malware ontworpen om systeeminformatie te verzamelen, persistentie op de host tot stand te brengen via systemd en de XMRig cryptocurrency miner in te zetten. Er zijn maar liefst 68 gecompromitteerde systemen gevonden die actief cryptocurrency minen via de Monero-portemonnee van de aanvaller.
Bovendien is het uitgerust om voortdurend de lijst met actieve processen te controleren om te controleren op de aanwezigheid van opdrachten als top, iostat, sar, blikken, dstat, nmon, vmstat en ps, en alle mining-gerelateerde processen te beëindigen als deze worden gevonden. Het is ook in staat mijnbouwactiviteiten op te schorten als gebruikersactiviteit wordt gedetecteerd.
“Deze ontdekking dient als een duidelijke herinnering dat de lange levensduur en consistente onderhoudsgeschiedenis van een pakket de veiligheid ervan niet garanderen”, aldus Gelb. “Of het nu gaat om kwaadaardige pakketten of om legitieme pakketten die door updates worden gecompromitteerd, de softwareleveringsketen vereist constante waakzaamheid – zowel tijdens de eerste controle als gedurende de hele levenscyclus van een pakket.”
De openbaarmaking komt als Datadog-beveiligingslaboratoria heeft een voortdurende kwaadaardige campagne ontdekt die zich richt op Windows-gebruikers en die gebruik maakt van namaakpakketten die zijn geüpload naar zowel npm als de Python Package Index (PyPI)-repository’s met als einddoel het inzetten van open-source stealer-malware, bekend als Blank-Grabber en Skuld Stealer.
Het bedrijf, dat vorige maand de supply chain-aanval ontdekte, volgt het dreigingscluster onder de naam MUT-8694 (waarbij MUT staat voor ‘mysterieuze, niet-toegeschreven bedreiging’) en stelt dat het overlapt met een campagne die eerder deze maand door Socket werd gedocumenteerd als gericht op het infecteren van Roblox-gebruikers met dezelfde malware.
Er zijn maar liefst 18 en 39 valse unieke pakketten geüpload naar npm en PyPI, waarbij de bibliotheken proberen voor te komen als legitieme pakketten door het gebruik van typosquatting-technieken.
“Het gebruik van talloze pakketten en de betrokkenheid van verschillende kwaadwillende gebruikers suggereert dat MUT-8694 volhardend is in hun pogingen om ontwikkelaars in gevaar te brengen”, aldus Datadog-onderzoekers. “In tegenstelling tot het PyPI-ecosysteem hadden de meeste npm-pakketten verwijzingen naar Roblox, een online game-creatieplatform, wat suggereert dat de bedreigingsacteur zich in het bijzonder op Roblox-ontwikkelaars richt.”