Malware wurde mit 8 Millionen Downloads pro Woche in das NPM-Paket von UAParser.js eingeschleust

Die Geschichte der Entfernung von drei Schadpaketen, die den Code der UAParser.js-Bibliothek aus dem NPM-Repository kopierten, erhielt eine unerwartete Fortsetzung – unbekannte Angreifer übernahmen die Kontrolle über das Konto des Autors des UAParser.js-Projekts und veröffentlichten Updates mit Code für Passwörter stehlen und Kryptowährungen schürfen.

Das Problem besteht darin, dass die UAParser.js-Bibliothek, die Funktionen zum Parsen des HTTP-User-Agent-Headers bietet, etwa 8 Millionen Downloads pro Woche hat und in über 1200 Projekten als Abhängigkeit verwendet wird. UAParser.js wird angeblich von Unternehmen wie Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP und Verison verwendet.

Der Angriff erfolgte durch Hacking in das Konto des Projektentwicklers, der merkte, dass etwas nicht stimmte, nachdem eine ungewöhnliche Spam-Welle in sein Postfach gelangte. Wie genau das Konto des Entwicklers gehackt wurde, wird nicht berichtet. Die Angreifer erstellten die Versionen 0.7.29, 0.8.0 und 1.0.0, indem sie Schadcode einschleusten. Innerhalb weniger Stunden erlangten die Entwickler die Kontrolle über das Projekt zurück und generierten die Updates 0.7.30, 0.8.1 und 1.0.1, um das Problem zu beheben. Schädliche Versionen wurden nur als Pakete im NPM-Repository veröffentlicht. Das Git-Repository des Projekts auf GitHub war nicht betroffen. Allen Benutzern, die problematische Versionen installiert haben, wird empfohlen, das System als kompromittiert zu betrachten, wenn sie die Datei jsextension unter Linux/MacOS und die Dateien jsextension.exe und create.dll unter Windows finden.

Die hinzugefügten böswilligen Änderungen ähnelten den zuvor in UAParser.js-Klonen vorgeschlagenen Änderungen, die offenbar zum Testen der Funktionalität veröffentlicht wurden, bevor ein groß angelegter Angriff auf das Hauptprojekt gestartet wurde. Die ausführbare Datei jsextension wurde von einem externen Host geladen und auf dem System des Benutzers gestartet, der je nach Plattform des Benutzers und unterstützter Arbeit unter Linux, macOS und Windows ausgewählt wurde. Für die Windows-Plattform organisierten die Angreifer neben dem Kryptowährungs-Mining-Programm Monero (zum Einsatz kam der XMRig-Miner) auch die Einführung der Bibliothek create.dll, um Passwörter abzufangen und an einen externen Host zu senden.

Der Download-Code wurde zur Datei preinstall.sh hinzugefügt, die den Eintrag IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') if [ -z " enthielt. $ IP" ] ... Laden Sie die ausführbare fi-Datei herunter und führen Sie sie aus

Wie aus dem Code hervorgeht, überprüfte das Skript zunächst die IP-Adresse im Dienst freegeoip.app und startete keine Schadanwendung für Benutzer aus Russland, der Ukraine, Weißrussland und Kasachstan.

Source: opennet.ru

Kommentar hinzufügen