In het NPM-pakket UAParser.js, dat wekelijks 8 miljoen downloads heeft, is kwaadaardige software geïmplementeerd.

De geschiedenis van het verwijderen van drie kwaadaardige pakketten uit de NPM-repository, die code van de UAParser.js-bibliotheek kopieerden, kreeg een onverwachte wending — onbekende aanvallers kregen controle over het account van de auteur van het UAParser.js-project en brachten updates uit die code voor het stelen van wachtwoorden en het minen van cryptocurrency bevatten.

Het probleem is dat de UAParser.js-bibliotheek, die functies biedt voor het parseren van de HTTP User-Agent header, wekelijks ongeveer 8 miljoen downloads heeft en wordt gebruikt als afhankelijkheid in meer dan 1200 projecten. Er is verklaard dat UAParser.js wordt toegepast in projecten van bedrijven zoals Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP en Verison.

De aanval werd uitgevoerd via de hack van het account van de ontwikkelaar van het project, die zich realiseerde dat er iets niet klopte na een ongebruikelijke golf van spam die in zijn inbox terechtkwam. Hoe het account van de ontwikkelaar precies werd gehackt, wordt niet vermeld. De aanvallers stelden versies 0.7.29, 0.8.0 en 1.0.0 op, waarin kwaadaardige code was opgenomen. Na enkele uren herwonnen de ontwikkelaars de controle over het project en stelden ze de updates 0.7.30, 0.8.1 en 1.0.1 samen om het probleem op te lossen. De kwaadaardige versies werden alleen uitgegeven als pakketten in de NPM-repository. De Git-repository van het project op GitHub heeft geen schade opgelopen. Alle gebruikers die de problematische versies hebben geïnstalleerd, wordt geadviseerd hun systeem als gecompromitteerd te beschouwen als ze in Linux/macOS het bestand jsextension of in Windows de bestanden jsextension.exe en create.dll aantreffen.

De toegevoegde kwaadaardige wijzigingen leken op wijzigingen die eerder in klonen van UAParser.js waren voorgesteld, die blijkbaar waren uitgebracht voor het testen van functionaliteit voordat een grootschalige aanval op het hoofdproject plaatsvond. Een uitvoerbaar bestand genaamd jsextension werd van een externe host naar het gebruikerssysteem geladen en uitgevoerd, afhankelijk van het platform van de gebruiker, en ondersteunde werking in Linux, macOS en Windows. Voor het Windows-platform organiseerden de aanvallers, naast de cryptocurrency-miningsoftware Monero (waarbij de miner XMRig werd gebruikt), ook het inbrengen van de bibliotheek create.dll om wachtwoorden te onderscheppen en deze naar een externe host te verzenden.

De code voor de upload is toegevoegd aan het bestand preinstall.sh, waarin de invoeging verscheen IP=$(curl -k https://freegeoip.app/xml/ | grep ‘RU|UA|BY|KZ’) if [ -z «$IP» ] … uploaden en uitvoeren van het uitvoerbare bestand fi

Zoals te zien is in de code, controleert het script eerst het IP-adres via de service freegeoip.app en start het geen schadelijke applicatie voor gebruikers uit Rusland, Oekraïne, Wit-Rusland en Kazachstan.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster