Ein Angriff auf Nutzer des NPM-Katalogs wurde bestätigt, infolgedessen wurden am 20. Februar über 15.000 Pakete im NPM-Repository veröffentlicht, deren README-Dateien Links zu Phishing-Websites oder Empfehlungslinks enthielten, für die bei einem Klick Provisionen ausgezahlt werden. Bei der Analyse der Pakete wurden 190 einzigartige Phishing- oder Werbelinks entdeckt, die 31 Domains umfassten.
Die Paketnamen wurden gewählt, um das Interesse der Allgemeinheit zu wecken, beispielsweise „free-tiktok-followers“, „free-xbox-codes“, „instagram-followers-free“ usw. Dabei wurde darauf gerechnet, die Liste der letzten Aktualisierungen auf der Startseite von NPM mit Spam-Paketen zu füllen. In der Beschreibung der Pakete wurden Links angegeben, die kostenlose Giveaways, Geschenke, Spiel-Cheats sowie kostenlose Dienste zur Manipulation von Abonnenten und Likes in sozialen Netzwerken wie TikTok und Instagram versprachen. Dies ist nicht der erste Vorfall dieser Art; im Dezember wurde in den Katalogen NuGet, NPM und PyPi die Veröffentlichung von 144.000 Spam-Paketen festgestellt.

Der Inhalt der Pakete wurde automatisch mit einem Python-Skript generiert, das anscheinend versehentlich in den Paketen zurückgelassen wurde und funktionierende Zugangsdaten enthielt, die während des Angriffs verwendet wurden. Die Pakete wurden unter einer Vielzahl verschiedener Konten veröffentlicht, wobei Methoden eingesetzt wurden, die die Rückverfolgung der Spuren und die zeitnahe Identifizierung problematischer Pakete erschwerten.
Neben betrügerischen Aktivitäten wurden in den Repositories von NPM und PyPi auch mehrere Versuche zur Veröffentlichung von schädlichen Paketen festgestellt:
- In dem PyPI-Repository wurden 451 bösartige Pakete gefunden, die sich als einige beliebte Bibliotheken tarnen, indem sie Typ-Squatting verwenden (ähnliche Namen, die sich nur durch einzelne Zeichen unterscheiden, wie vper anstelle von vyper, bitcoinnlib anstelle von bitcoinlib, ccryptofeed anstelle von cryptofeed, ccxtt anstelle von ccxt, cryptocommpare anstelle von cryptocompare, seleium anstelle von selenium, pinstaller anstelle von pyinstaller usw.). Die Pakete enthielten obfuszierten Code zum Diebstahl von Kryptowährung, der überprüfte, ob die Identifikatoren von Krypto-Wallets in der Zwischenablage vorhanden waren, und sie durch die Wallet des Angreifers ersetzte (es wird angenommen, dass das Opfer beim Bezahlen nicht bemerken würde, dass die durch die Zwischenablage übertragene Wallet-Nummer abweicht). Der Austausch erfolgte durch eine in den Browser integrierte Erweiterung, die im Kontext jeder besuchten Webseite ausgeführt wurde.
- Im PyPI-Repository wurde eine Serie von bösartigen HTTP-Bibliotheken identifiziert. Bösartige Aktivitäten wurden in 41 Paketen festgestellt, deren Namen mit Methoden des Typ-Squattings ausgewählt wurden und die an beliebte Bibliotheken erinnerten (aio5, requestst, ulrlib, urllb, libhttps, piphttps, httpxv2 usw.). Der Inhalt war als funktionierende HTTP-Bibliotheken gestaltet oder kopierte den Code existierender Bibliotheken, während in der Beschreibung Vorteile und Vergleiche mit legitimen HTTP-Bibliotheken aufgeführt wurden. Die bösartigen Aktivitäten beschränkten sich entweder auf das Herunterladen von Malware auf das System oder auf das Sammeln und Versenden vertraulicher Daten.
- In NPM wurden 16 JavaScript-Pakete (speedte*, trova*, lagra) identifiziert, die neben der angegebenen Funktionalität (Test der Bandbreite) auch Code für das Mining von Kryptowährungen ohne Wissen des Benutzers enthielten.
- In NPM wurden 691 bösartige Pakete identifiziert. Die meisten problematischen Pakete gaben sich als Yandex-Projekte aus (yandex-logger-sentry, yandex-logger-qloud, yandex-sendsms usw.) und enthielten Code zum Versenden vertraulicher Informationen an externe. ServerEs wird vermutet, dass die Absender der Pakete versuchten, ihre eigene Abhängigkeit beim Bauen von Projekten in Yandex zu substituieren (Methode zum Austausch interner Abhängigkeiten). Im PyPI-Repository fanden dieselben Forscher 49 Pakete (reqsystem, httpxfaster, aio6, gorilla2, httpsos, pohttp usw.) mit obfusziertem bösartigem Code, der eine ausführbare Datei von externen Quellen herunterlädt und ausführt. Server.
Quelle: opennet.ru
