Malware geïnjecteerd in het UAParser.js NPM-pakket met 8 miljoen downloads per week

Het verhaal van de verwijdering uit de NPM-repository van drie kwaadaardige pakketten die de code van de UAParser.js-bibliotheek kopieerden, kreeg een onverwachte voortzetting: onbekende aanvallers grepen de controle over het account van de auteur van het UAParser.js-project en brachten updates uit met code voor het stelen van wachtwoorden en het minen van cryptocurrencies.

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

De aanval werd uitgevoerd door het hacken van het account van de projectontwikkelaar, die zich realiseerde dat er iets mis was nadat een ongebruikelijke golf spam in zijn mailbox terechtkwam. Hoe het account van de ontwikkelaar precies is gehackt, wordt niet gerapporteerd. De aanvallers creëerden releases 0.7.29, 0.8.0 en 1.0.0 en introduceerden daarin kwaadaardige code. Binnen een paar uur kregen de ontwikkelaars de controle over het project terug en creëerden updates 0.7.30, 0.8.1 en 1.0.1 om het probleem op te lossen. Schadelijke versies werden alleen als pakketten gepubliceerd in de NPM-repository. De Git-repository van het project op GitHub werd niet beïnvloed. Alle gebruikers die problematische versies hebben geïnstalleerd en het jsextension-bestand op Linux/macOS en de jsextension.exe- en create.dll-bestanden op Windows vinden, wordt geadviseerd om het systeem als gecompromitteerd te beschouwen.

De toegevoegde kwaadaardige wijzigingen deden denken aan wijzigingen die eerder waren voorgesteld in klonen van UAParser.js, die leken te zijn vrijgegeven om de functionaliteit te testen voordat een grootschalige aanval op het hoofdproject werd gelanceerd. Het uitvoerbare bestand jsextension werd gedownload en op het systeem van de gebruiker gelanceerd vanaf een externe host, die werd geselecteerd afhankelijk van het gebruikersplatform en ondersteunde werk op Linux, macOS en Windows. Voor het Windows-platform organiseerden de aanvallers, naast het programma voor het minen van de Monero-cryptocurrency (de XMRig-miner werd gebruikt), ook de introductie van de create.dll-bibliotheek om wachtwoorden te onderscheppen en naar een externe host te sturen.

De downloadcode is toegevoegd aan het bestand preinstall.sh, waarin de invoeging IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') if [ -z " $ IP" ] ... download het uitvoerbare bestand fi

Zoals uit de code blijkt, controleerde het script eerst het IP-adres in de freegeoip.app-service en startte geen kwaadaardige applicatie voor gebruikers uit Rusland, Oekraïne, Wit-Rusland en Kazachstan.

Bron: opennet.ru

Voeg een reactie