NPM findet 15 Phishing- und Spam-Pakete

Es wurde ein Angriff auf Benutzer des NPM-Verzeichnisses registriert, bei dem am 20. Februar mehr als 15 Pakete im NPM-Repository abgelegt wurden, in deren README-Dateien Links zu Phishing-Sites oder Empfehlungslinks für die Lizenzgebühren enthalten waren wurden bezahlt. Die Analyse der Pakete ergab 190 einzigartige Phishing- oder Werbelinks zu 31 Domains.

Paketnamen wurden gewählt, um das Interesse des Laien zu wecken, zum Beispiel „free-tiktok-followers“, „free-xbox-codes“, „instagram-followers-free“ usw. Die Berechnung wurde durchgeführt, um die Liste der letzten Updates auf der NPM-Hauptseite mit Spam-Paketen zu füllen. Die Beschreibungen der Pakete enthielten Links, die kostenlose Werbegeschenke, Geschenke, Spiel-Cheats und kostenlose Dienste versprachen, um Follower und Likes in sozialen Netzwerken wie TikTok und Instagram zu gewinnen. Dies ist nicht der erste derartige Angriff; im Dezember wurden 144 Spam-Pakete in den Verzeichnissen NuGet, NPM und PyPi veröffentlicht.

NPM findet 15 Phishing- und Spam-Pakete

Der Inhalt der Pakete wurde automatisch mithilfe eines Python-Skripts generiert, das offenbar aus Versehen in den Paketen belassen wurde und die während des Angriffs verwendeten Arbeitsanmeldeinformationen enthielt. Pakete wurden unter vielen verschiedenen Konten veröffentlicht, wobei Methoden zum Einsatz kamen, die es schwierig machen, die Spur zu entschlüsseln und problematische Pakete schnell zu identifizieren.

Neben betrügerischen Aktivitäten wurden auch mehrere Versuche zur Veröffentlichung schädlicher Pakete in den NPM- und PyPi-Repositories identifiziert:

  • Im PyPI-Repository wurden 451 Schadpakete gefunden, die mithilfe von Typesquatting als einige beliebte Bibliotheken getarnt wurden (durch Zuweisung ähnlicher Namen, die sich in einzelnen Zeichen unterscheiden, zum Beispiel vper statt vyper, bitcoinnlib statt bitcoinlib, ccryptofeed statt cryptofeed, ccxtt statt ccxt, cryptocommpare statt cryptocompare, seleium statt selenium, pinstaller statt pyinstaller usw.). Die Pakete enthielten verschleierten Code zum Diebstahl von Kryptowährungen, der das Vorhandensein von Krypto-Wallet-IDs in der Zwischenablage feststellte und sie in die Wallet des Angreifers umwandelte (es wird davon ausgegangen, dass das Opfer bei einer Zahlung nicht bemerkt, dass die Wallet-Nummer über die Zwischenablage übertragen wurde). ist anders). Die Ersetzung erfolgte durch ein Browser-Add-on, das im Kontext jeder aufgerufenen Webseite ausgeführt wurde.
  • Im PyPI-Repository wurde eine Reihe bösartiger HTTP-Bibliotheken identifiziert. Schädliche Aktivitäten wurden in 41 Paketen gefunden, deren Namen mithilfe von Typesquatting-Methoden ausgewählt wurden und beliebten Bibliotheken ähnelten (aio5, requestst, ulrlib, urllb, libhttps, piphttps, httpxv2 usw.). Das Stuffing war so gestaltet, dass es wie funktionierende HTTP-Bibliotheken oder kopierter Code aus vorhandenen Bibliotheken aussah, und in der Beschreibung wurden Behauptungen über Vorteile und Vergleiche mit legitimen HTTP-Bibliotheken aufgestellt. Die böswilligen Aktivitäten beschränkten sich entweder auf das Herunterladen von Schadsoftware auf das System oder das Sammeln und Versenden vertraulicher Daten.
  • NPM identifizierte 16 JavaScript-Pakete (speedte*, trova*, lagra), die neben der deklarierten Funktionalität (Durchsatztests) auch Code für das Kryptowährungs-Mining ohne Wissen des Benutzers enthielten.
  • NPM identifizierte 691 Schadpakete. Die meisten problematischen Pakete gaben vor, Yandex-Projekte zu sein (yandex-logger-sentry, yandex-logger-qloud, yandex-sendsms usw.) und enthielten Code zum Senden vertraulicher Informationen an externe Server. Es wird davon ausgegangen, dass diejenigen, die die Pakete platziert haben, beim Erstellen von Projekten in Yandex versucht haben, ihre eigene Abhängigkeit zu ersetzen (die Methode zum Ersetzen interner Abhängigkeiten). Im PyPI-Repository fanden dieselben Forscher 49 Pakete (reqsystem, httpxfaster, aio6, gorilla2, httpsos, pohttp usw.) mit verschleiertem Schadcode, der eine ausführbare Datei von einem externen Server herunterlädt und startet.

Source: opennet.ru

Kommentar hinzufügen