Schädlicher Code im Rest-Client und 10 anderen Ruby-Paketen entdeckt

In einer beliebten Edelsteinverpackung Rest-Client, mit insgesamt 113 Millionen Downloads, identifiziert Ersatz durch Schadcode (CVE-2019-15224), der ausführbare Befehle herunterlädt und Informationen an einen externen Host sendet. Der Angriff wurde durch durchgeführt Kompromiss Entwicklerkonto rest-client im rubygems.org-Repository, woraufhin die Angreifer am 13. und 14. August die Versionen 1.6.10–1.6.13 veröffentlichten, die böswillige Änderungen enthielten. Bevor die bösartigen Versionen blockiert wurden, gelang es etwa tausend Benutzern, sie herunterzuladen (die Angreifer veröffentlichten Updates für ältere Versionen, um nicht aufzufallen).

Die böswillige Änderung überschreibt die Methode „#authenticate“ in der Klasse
Identität, woraufhin jeder Methodenaufruf dazu führt, dass die E-Mail und das Passwort, die während des Authentifizierungsversuchs gesendet wurden, an den Host des Angreifers gesendet werden. Auf diese Weise werden die Anmeldeparameter von Dienstbenutzern abgefangen, die die Identity-Klasse verwenden und eine anfällige Version der Rest-Client-Bibliothek installieren erscheint als Abhängigkeit in vielen beliebten Ruby-Paketen, darunter ast (64 Millionen Downloads), oauth (32 Millionen), fastlane (18 Millionen) und kubeclient (3.7 Millionen).

Darüber hinaus wurde dem Code eine Hintertür hinzugefügt, die es ermöglicht, beliebigen Ruby-Code über die Eval-Funktion auszuführen. Der Code wird über ein durch den Schlüssel des Angreifers zertifiziertes Cookie übermittelt. Um Angreifer über die Installation eines Schadpakets auf einem externen Host zu informieren, werden die URL des Systems des Opfers und eine Auswahl an Informationen über die Umgebung, wie etwa gespeicherte Passwörter für das DBMS und Cloud-Dienste, gesendet. Versuche, Skripte für das Kryptowährungs-Mining herunterzuladen, wurden mit dem oben genannten Schadcode aufgezeichnet.

Nach dem Studium des Schadcodes war es soweit identifiziertdass ähnliche Veränderungen vorliegen 10 Pakete in Ruby Gems, die nicht erfasst wurden, sondern von Angreifern speziell auf der Grundlage anderer beliebter Bibliotheken mit ähnlichen Namen erstellt wurden, in denen der Bindestrich durch einen Unterstrich ersetzt wurde oder umgekehrt (z. B. basierend auf Cron-Parser Ein bösartiges Paket cron_parser wurde erstellt und basiert darauf doge_coin bösartiges Doge-Coin-Paket). Problempakete:

Das erste Schadpaket aus dieser Liste wurde am 12. Mai veröffentlicht, die meisten davon erschienen jedoch im Juli. Insgesamt wurden diese Pakete etwa 2500 Mal heruntergeladen.

Source: opennet.ru

Kommentar hinzufügen