„Ein weiser Ninja sucht keinen Feind, den er nicht vollständig versteht.“ – Splinter von Teenage Mutant Ninja Turtles Als technischer Redakteur mit Leidenschaft für Science-Fiction ist es einer der aufregendsten Teile meines Jobs bei Sonatype, wenn ich die Möglichkeit habe, mit dem Sicherheitsforschungsteam zusammenzuarbeiten. Seitdem wir es gefunden haben die dem entsprechen, was wir RAT-Mutanten nennen – neuartige Malware, die sich die Fähigkeiten von Remote-Access-Trojanern und Informationsdiebstahlern zunutze macht – hatten unsere Sicherheitsforscher ein quälendes Déjà-vu-Gefühl. letzten Monat eine Reihe von Python-Paketen Das kommt nicht selten vor: Sie prüfen ständig Hunderte verdächtiger Pakete aus Open-Source-Registern, um festzustellen, ob sie wirklich bösartig sind. Während dieses Vorgangs identifizieren sie bekannte Muster zwischen den Paketen und führen manchmal, wenn sie starke Ähnlichkeiten erkennen, weitere Recherchen durch, um den dahinter stehenden Akteur/die Kampagne aufzuspüren. Zwischen der letzten Woche des Jahres 2022 und Anfang 2023 hat unser KI-System verdächtige Pakete markiert, die in die PyPI-Registrierung hochgeladen wurden, darunter . Unsere Sicherheitsforscher haben sie untersucht und bestätigt, dass sie tatsächlich bösartig waren. Und nach weiterer Analyse stellten sie fest, dass diese Pakete eine Reihe von Funktionen hinzufügten, die in Python-Malware nicht oft zu finden sind. pyrologin , easytimestamp , discorder , discord-dev , style.py und pythonstyles In einer De-facto-Strategie verstecken Kriminelle eine Nutzlast in der Datei sodass Entwickler nur eine einfache Pip-Installation durchführen müssen, um sich zu infizieren. In diesem Fall würden sie versehentlich ein PowerShell-Skript starten, das eine ZIP-Datei herunterlädt, um Bibliotheken zu installieren, mit denen der Angreifer die Maus und die Tastatur des Opfers steuern, Screenshots erstellen und versteckte Remoteverbindungen herstellen kann. Darüber hinaus filtern diese Pakete auch vertrauliche Informationen wie Passwörter, Cookies und Kryptowährungs-Wallet-Daten heraus und versuchen sogar, ein Tool für den Fernzugriff zu installieren. Unsere Ergebnisse stimmten mit überein der gleichen Pakete. setup[.]py Phylums technischer Bericht Dennoch hatte der Sicherheitsforscher Carlos Fernandez ein unheimliches Déjà-vu-Gefühl. In der Woche, nachdem wir die Pakete veröffentlicht hatten, schossen ihm Erinnerungen daran durch den Kopf, frühere Versionen dieser Malware gesehen zu haben. Ein Bedrohungsakteur mag seine Malware im Laufe der Zeit weiterentwickelt haben, aber wir mussten sichergehen, also setzte ich meinen OSINT-Hut auf, um ihm zu zeigen, ob an seiner Intuition etwas Wahres dran war. Die Ursprungsgeschichte Wenn wir auf unsere Datenbank zurückblicken, wurde am 25. September 2022 ein Paket namens in das PyPI-Repository hochgeladen. Unsere KI hat es als verdächtig gekennzeichnet und unsere Sicherheitsforscher haben bestätigt, dass es Malware enthielt und die Quellen eines anderen Pakets namens bündelte. Beide Bibliotheken wurden von verfasst , auch bekannt als BillyTheGoat, auch bekannt als BillyV3 (mit Beiträgen von loTus04 und BlueRed). Dieser Autor aus Frankreich (das lässt zumindest sein Standort auf GitHub und die in seinen Discord-Kanälen gesprochene Sprache vermuten) wird als die Person dahinter genannt , ein Python-Verschleierer, den wir häufig in kürzlich hochgeladener Malware gefunden haben, und einer der Ersteller von , ein Informationsdiebstahler, der seit Juli in einem aktiv ist Register zu öffnen. pygradient pystyle billythegoat356 Hyperion W4SP-Stealer anhaltender Angriff auf die Lieferkette Der W4SP-Stealer zeichnet sich durch Persistenz (er wird jedes Mal reaktiviert, wenn Benutzer den PC neu starten), Verschleierung (der Autor verspricht, dass er völlig nicht erkennbar ist) und Steganographietechniken aus, um polymorphe und stark verschleierte Nutzlasten innerhalb einer Bilddatei zu verbergen. Die Malware sendet alle Discord-Konten, Kreditkarten, Passwörter und Krypto-Wallets des Opfers über eine fest codierte Discord-Webhook-Adresse an den Angreifer zurück. Kriminelle, die an dieser Malware interessiert sind, haben sie gekauft, indem sie etwa 20 US-Dollar in Krypto bezahlt haben. Ursprünglich war nicht böswilliger Natur – ein harmloses Paket, um Konsolenausgaben zu formatieren und einzufärben, um die Lesbarkeit und das Benutzererlebnis zu verbessern. Laut Phylum-Forschung entschied man sich jedoch, sobald es populär wurde (das Paket ist immer noch auf PyPI aktiv und verzeichnet jeden Monat mehr als 40.000 Downloads), in einigen Versionen W4SP-Malware hinzuzufügen. pystyle Open-Source-Pakete wie können monatelang als Sleeper-Agenten fungieren, um später von ihrem eigenen Autor für böswillige Zwecke aktiviert zu werden. Ein riskantes Unterfangen, da ihr beliebtes Paket von Sicherheitsforschern wie uns entdeckt werden kann, die es als bösartig melden und es für immer entfernen lassen. Aus diesem Grund erstellen sie oft neue Pakete, in denen sie den Quellcode einer harmlosen Bibliothek enthalten, eine Art bösartige Nutzlast hinzufügen und sie unter einem neuen Namen hochladen: etwas Generisches, harmlos klingendes, unschuldig aussehendes. Ein Name wie . pystyle pygradient Nachdem wir mit Carlos einen genaueren Blick darauf geworfen hatten, stellten wir fest, dass dieser Proto-RAT-Mutanten-Malware einige Funktionen der Dezember-Versionen fehlten: Obwohl sie auch ein PowerShell-Skript startete und vertrauliche Daten exfiltrierte, verwendete sie keine Base64-codierten Payloads oder eine Zulassungsliste txt-Datei, um eine Selbstinfektion zu vermeiden. In gewisser Weise war es eine mildere, weniger anspruchsvolle Variante. Doch dann schauten wir uns die Anfang November hochgeladenen Pakete an, darunter , und , und nachdem wir tiefer eingetaucht waren, fanden wir die Bestätigung unseres Verdachts: Die Malware entwickelte sich tatsächlich weiter. paintpy devicespoof devicespoofer Ein Nachahmer auf der Jagd nach Malware Auch wenn BillyTheGoat seit November nicht mehr auf GitHub aktiv ist, finden wir immer noch Malware, die auf seinen Kreationen basiert oder direkt von ihnen stiehlt, meist von einem Benutzer, der offenbar in Portugal ansässig ist . Zeeckt Dieser Benutzer hat in PyPI ein kürzlich entferntes Paket namens hochgeladen, das scheinbar fälschlicherweise BillyTheGoat zugeschrieben wurde – eine Technik, um die Reputation ihres neuen Pakets zu steigern, indem sie es mit einer beliebten GitHub-Bibliothek verknüpft und so mit ihren Hunderten von Stars und Forks in Verbindung gebracht wird. pystilez StartJacking Checkmarx Dieser bösartige Akteur wurde entdeckt, nachdem er einen W4SP-Angriff in einem Paket namens (zusammen mit gleichnamigen Varianten) gefunden hatte, das einen Discord-Server-Link in seinem Schadcode enthielt. Das mit einem verifizierten Steam-Konto verknüpfte Administratorprofil und der Name „zeeckt“ tauchten als einer der Steam-Aliase des Angreifers auf. hat verfolgt apicolor berichtete außerdem, dass dieser Bedrohungsakteur gefälschte Benutzer erstellte, indem er die Profile beliebter GitHub-Konten kopierte, um die Legitimität zu erhöhen. Und eines ihrer Opfer beschloss, etwas zu erschaffen warnt Menschen vor diesem Angriff, nachdem sie auf eines ihrer gefälschten Profile hereingefallen sind. Kontrollpunkt ein YouTube-Video Ein Sicherheitsforscher veröffentlichte eine der Payloads von Zeeckt zu Bildungszwecken und erhielt eine interessante Antwort vom Co-Autor des W4SP-Stealers: Wie ironisch, dass Ihr Stealer gestohlen wurde. Derselbe Autor, offenbar ein 17-jähriger Python-Entwickler, bringt seine Frustration in einer README-Datei auf seinem GitHub-Profil noch einmal zum Ausdruck: Wir wissen nicht genau, welchen Schadcode Zeeckt von anderen Kriminellen gestohlen hat, aber eines ist sicher: Dieser Name taucht weiterhin in Malware-Kampagnen in Open-Source-Registern auf. Heimtückischere Varianten nagen an Ihrem Kryptovermögen Carlos hat kürzlich vier weitere Pakete gefunden : , und . Nach weiteren Untersuchungen markierte er sie als bösartig und meldete sie zur Entfernung bei PyPI. Im schnellsten Fall dauerte es von der Veröffentlichung bis zur Löschung etwa 20 Minuten. Zeeckt forenitq forenith , forenity forenitz Als Carlos sich in ansah fand er die folgende Nutzlast der ersten Stufe: setup[.]py forenitq , Der Angreifer erstellt drei temporäre Dateien, die mithilfe des „Start“-Befehls Windows-Binärdateien von bestimmten URLs herunterladen und ausführen. Obwohl die Slugs und auf eine böswillige Absicht hinweisen, konnten wir diese Annahme nicht bestätigen, ohne unter die Haube zu schauen. /rat /clip Zum Zeitpunkt des Verfassens dieses Artikels ist die unter gehostete Seite noch aktiv und zeigt nur einen Link zu einer Discord-Einladung an, die bereits abgelaufen oder privat ist. hxxp://20[.]226[.]18[.]203 Carlos bemerkte, dass das Paket als beliebt galt Paket, deren Metadaten für einen möglichen StarJacking-Versuch verwendet werden. Colorama Nachdem er die RAT-Datei entschlüsselt hatte, fand er eine Zeile, die einen möglichen Clipboard-Hijacker lädt, dessen Einzelheiten jedoch Base64-codiert waren: Bei der Dekodierung erhalten wir einen Python-Code, der die Zwischenablage eines Opfers kapern soll, um die beabsichtigte Kryptowährungs-Wallet-Adresse durch die Adresse des Angreifers zu ersetzen: Es sucht nach bestimmten Mustern wie (bc1), (0x), Monero (4) und (L oder M oder 3) und ersetzt, wenn ein Muster gefunden wird, die beabsichtigte Adresse durch die Kryptowährungs-Wallet-Adresse des Angreifers . Bitcoin Ethereum Litecoin Der Code verwendet die Bibliothek zum Kopieren und Einfügen von Daten aus der Zwischenablage. Es wird die Bibliothek installieren, falls sie noch nicht installiert ist, und dann die Kryptowährungs-Wallet-Adresse in die Zwischenablage kopieren. Der Code wird dann in eine Endlosschleife gesetzt, um die Zwischenablage auf Wallet-Adressmuster zu überwachen. pyperclip Darüber hinaus haben wir weitere Techniken entdeckt, die dieser RAT-Mutant verwendet, um der Erkennung zu entgehen: eine Nutzlast der ersten Stufe, die der Datei anstelle von hinzugefügt wird, und eine polymorphe Nutzlast der zweiten Stufe, die sich bei jeder Ausführung ändert die Binärdatei. forenitq/ansi[.]py setup[.]py Der Angreifer fügte außerdem eine neue Befehls- und Kontrollfunktion mit einem sehr umfassenden Hilfemenü hinzu – und dieses Mal ist es falsch: Wie Sie sehen, sind böswillige Akteure bestrebt, Ihre Kryptogelder und Systemzugangsdaten zu stehlen, um weiter in Ihre Infrastruktur einzudringen. Ihre RAT-Malware mutiert ständig, um ausweichender zu sein und den Entwicklern mehr Schaden zuzufügen. Wenn Sie Ihre Software-Lieferkette heute nicht schützen können, sollten Sie so schnell wie möglich entsprechende Maßnahmen ergreifen. IOCs (Indikatoren für Kompromisse) hxxp://20[.]226[.]18[.]203/inject/tCxFLYLT6ViY9ZnP hxxp://20[.]226[.]18[.]203/clip hxxp://20[.]226[.]18[.]203/rat