Still und heimlich ausgetauscht: Eine Kampagne mit “Crypto Clipper”-Erweiterung

Verfasst von Neil Tyagi

Zusammenfassung 

McAfee+™ Advanced Threat Research hat eine aktive Kampagne mit Browser-Erweiterungen identifiziert, bei der Wallet-Adressen kurz vor einer Transaktion unbemerkt ersetzt werden, um so Kryptowährung zu stehlen. Die Payload wird über unsignierte Installationsprogramme verteilt, die sowohl in .NET- als auch in Golang-Varianten beobachtet wurden. Die Programme installieren eine schädliche Chromium-Erweiterung, die sich als vermeintlich harmlose “Google Notes”-Anwendung tarnt.  

Die Kampagne steht in Zusammenhang mit einem früheren Blog-Beitrag von McAfee Labs mit dem Titel “Sinkholing CountLoader: Insights into Its Recent Campaign” (Sinkholing CountLoader: Einblicke in die neueste Kampagne), da hinter beiden Operationen offenbar derselbe Bedrohungsakteur steckt. In der früheren Untersuchung analysierten wir eine Crypto Clipper-Payload, die direkt in den Arbeitsspeicher injiziert wurde. In diesem Beitrag untersuchen wir eine andere Variante der Endphasen-Payload: eine browserbasierte, schädliche Erweiterung, die Kryptowährungstransaktionen abfängt und manipuliert.  

In diesem Bericht beschreiben wir detailliert die Vorgehens- und Funktionsweise der Erweiterung und führen eine technische Analyse der Mechanismen durch, die diese Bedrohung so außergewöhnlich machen. Die Erweiterung verhält sich wie ein Crypto Clipper mit Überwachung der Zwischenablage: Sie überwacht Kopier- und Einfügevorgänge, erkennt Wallet-Adressen für mehrere Blockchains und ersetzt diese durch vom Angreifer kontrollierte Adressen, kurz bevor das Opfer den Inhalt einfügt. Da die meisten Blockchain-Transaktionen nicht rückgängig gemacht werden können, kann bereits eine einzige manipulierte Transaktion zu dauerhaftem finanziellen Verlust führen. 

Zwei Merkmale heben diese Kampagne von der typischen Clipper-Bedrohung ab: 

  1. Missbrauch der Vertrauensschicht in Chromium: Das Installationsprogramm zwingt Chromium-basierten Browsern wie Google Chrome, Brave und Microsoft Edge unbemerkt eine schädliche Browsererweiterung auf, indem es geschützte Dateien für Browsereinstellungen verändert. In der Regel speichern die Browser Sicherheitsüberprüfungsdaten (Hash-/HMAC-Werte) zusammen mit sensiblen Einstellungen, um unbefugte Änderungen zu erkennen. Die Malware berechnet diese Sicherheitswerte nach der Manipulation der Dateien neu und verändert sie entsprechend, wodurch der Browser glaubt, die schädliche Erweiterung sei rechtmäßig installiert worden. Dadurch kann die Erweiterung den üblichen Installationsprozess über den Web Store für Erweiterungen umgehen und unbemerkt ohne Zustimmung des Benutzers im Hintergrund geladen werden. Bei den aktuellen Versionen der Browser Chrome und Edge muss das Opfer den Entwicklermodus manuell aktivieren, damit die Erweiterung ordnungsgemäß geladen wird. Benutzer mit älteren Versionen von Chromium-basierten Browsern sind jedoch weiterhin einem hohen Risiko ausgesetzt. Bei den neuesten Versionen wenden die Angreifer auch häufig Social-Engineering-Taktiken an, um den Entwicklermodus zu aktivieren.
  2. Blockchain-gestütztes Command-and-Control (C2): Die Erweiterung enthält keine fest programmierte C2-Domain. Stattdessen fragt sie einen öffentlichen Blockchain-RPC-Endpunkt ab, ruft eine schreibgeschützte Smart-Contract-Methode auf und dekodiert die Antwort zur Laufzeit, um die zum Zeitpunkt der Analyse beobachtete aktive C2-Domain “zebregts[.]com” offenzulegen. Diese oft als “EtherHiding” bezeichnete Technik erschwert die Stilllegung von C2-Domains, da der Angreifer die Infrastruktur wechseln kann, indem er einfach einen Wert des Smart Contracts ändert, sodass die Malware nicht erneut übertragen werden muss. 

Die McAfee-Telemetriedaten zeigen, dass sich die Malware weltweit verbreitet, wobei Indien besonders stark betroffen ist. Die breite geografische Streuung deutet eher auf eine gezielte Jagd auf private Kryptowährungs-Nutzer hin als auf einen Angriff auf eine bestimmte Region. 

Geografische Verbreitung  

Eine Weltkarte mit den von der Cybersicherheitsbedrohung betroffenen Ländern.
Unsere Untersuchungen zeigen, dass dies die weltweit am stärksten betroffenen Regionen sind.

Die Analyse der Telemetriedaten zeigt, dass die Infektionen weltweit auftreten, wobei in Indien im Vergleich zu anderen Regionen eine deutlich höhere Konzentration zu beobachten ist. 

Die breite geografische Streuung deutet eher auf eine gezielte Jagd auf private Kryptowährungs-Nutzer hin als auf einen Angriff auf eine bestimmte Region. 

Die schädliche Erweiterung: “Google Notes” 

Die Malware tarnt sich als scheinbar harmlose Google Notes-Erweiterung. 

Die schädliche Google Chrome-Erweiterung.
Abb. 1: Das Bild zeigt die schädliche Erweiterung, die im Mittelpunkt der Kampagne steht.

Die installierte Erweiterung präsentiert sich als minimalistische, seriös wirkende Notizenanwendung mit dem Namen “Google Notes”, einem unverdächtigen Symbol und einer funktionalen (und einfach gestalteten) Benutzeroberfläche.  

Die Tarnung ist gut durchdacht: Wenn Benutzer die Erweiterung manuell öffnen, finden sie ein Programm vor, das wie beschrieben funktioniert und somit kaum Verdacht erregt. Die schädliche Logik der Erweiterung ist in Service-Worker- und Content-Skripten implementiert, die im Hintergrund laufen und auf der Benutzeroberfläche nicht zu sehen sind. 

Ein erstes deutliches Warnsignal tritt bereits beim Installieren der Erweiterung auf, wenn sie Sicherheitsberechtigungen und Zugriffsrechte anfordert, die für eine typische Notizenanwendung außerordentlich umfangreich sind. Dazu gehören:

  • Zugriff auf alle URLs, wodurch Content-Skripte in jede vom Benutzer besuchte Website injiziert werden können
  • Zugriff auf den Browserverlauf 
  • Lese- und Schreibzugriff auf die Zwischenablage 

Schutzmaßnahmen und Empfehlungen 

Für Verbraucher 

  1. Bevor Sie eine Kryptowährungstransaktion bestätigen, gleichen Sie manuell die ersten und letzten sechs Zeichen der eingefügten Empfängeradresse mit der Originaladresse ab – idealerweise auf einem separaten Gerät. Mit dieser einen Maßnahme können Sie sich bereits vor den meisten Clipper-Angriffen schützen. 
  2. Installieren Sie Browser-Erweiterungen ausschließlich über den offiziellen Chrome Web Store, dem Edge-Add-ons-Store oder einem vergleichbaren Store. Wenn eine Erweiterung in Ihrer Liste installierter Erweiterungen erscheint, an deren Installation Sie sich jedoch nicht eindeutig erinnern können, sollten Sie sie als verdächtig einstufen. 
  3. Überprüfen Sie die Berechtigungen der installierten Erweiterungen. Es gibt keinen guten Grund, warum ein Tool zum Erstellen von Notizen Zugriff auf alle Websites, den Browserverlauf oder die Zwischenablage benötigt. 
  4. Führen Sie keine unsignierten ausführbaren Dateien von nicht vertrauenswürdigen Quellen aus – insbesondere nicht von Seiten, die kostenlose oder gecrackte Versionen kostenpflichtiger Software anbieten. Dies ist ein häufiger Übertragungsweg für Installationsprogramme dieser Art. 
  5. Stellen Sie sicher, dass Ihr Endgeräteschutz auf dem neuesten Stand ist und aktiviert wurde. Wie im Folgenden beschrieben, sind McAfee-Kunden vor dieser speziellen Kampagne geschützt. 

Die McAfee® Security-Lösungen schützen Benutzer auf mehreren Ebenen: 

1. McAfee erkennt diese Bedrohung als “CryptoStealer.NE” und sorgt so für die Sicherheit von McAfee-Kunden. 

Abb. 2: Dieses Bild zeigt, wie McAfee Antivirus die Bedrohung für Privatanwender blockiert.
Abb. 2: Dieses Bild zeigt, wie McAfee Antivirus die Bedrohung für Privatanwender blockiert.

2. Schutz vor schädlichen Downloads

Das Verhalten des Installationsprogramms – Herunterladen und Ausführen von Payloads – wird von McAfee erkannt und blockiert, noch bevor eine Infektion erfolgen kann. In unseren Tests wurden alle schädlichen Domains und URLs durch McAfee blockiert. 

3. Netzwerkschutz

Verbindungen zu bekannter böswilliger Infrastruktur (C2-Servern) werden von McAfee blockiert, wodurch das Abrufen von Wallet-Adressen verhindert wird. 

4. Echtzeit-Bedrohungsdaten

Da die Bedrohung in den McAfee-Telemetriedaten erkannt wurde, werden mit den Schutzfunktionen folgende Maßnahmen ergriffen: 

  • Blockierung ähnlicher Varianten 
  • Erkennung zugehöriger Infrastruktur 
  • Schutz von Kunden weltweit 

So funktioniert die Bedrohungskampagne 

So geht die Malware vor  

  1. Sie installiert im Hintergrund eine Browser-Erweiterung (Stichwort: Sideloading von Web-Erweiterungen). 
  2. Sie überwacht alle Kopier- und Einfügevorgänge (insbesondere Kryptowährungs-Adressen). 
  3. Sie aktiviert sich, wenn Sie eine Kryptowährungs-Transaktion ausführen. 
  4. Sie ersetzt die Wallet-Adresse unbemerkt durch die Adresse der Angreifer. 
  5. Ihr Geld wird an die Angreifer statt an den vorgesehenen Empfänger gesendet. 

Da Transaktionen mit Kryptowährungen in der Regel nicht rückgängig gemacht werden können, ist das Geld der Opfer häufig unwiederbringlich verloren.

Abb. 3: Überblick über die Funktionsweise der Erweiterung.
Abb. 3: Überblick über die Funktionsweise der Erweiterung.

Identifizierte Kernfunktionen 

1. Installation einer Erweiterung im Hintergrund 

Die Malware nutzt nicht den offiziellen Browser-Store, sondern verändert die lokalen Browser-Dateien so, dass es so aussieht, als sei die Erweiterung installiert worden (Sideloading einer Browser-Erweiterung).

Dadurch werden die üblichen Sicherheitsabfragen umgangen und der Benutzer wird nicht darauf aufmerksam. </span Abb. 4: Procmon-Protokolle, die zeigen, dass das schädliche Web-Installationsprogramm

2. Vollständiger Browserzugriff 

Abb. 5: Erforderliche Berechtigungen für die Chrome-Erweiterung.
Abb. 5: Erforderliche Berechtigungen für die Chrome-Erweiterung.
Abb. 6: Manifest-Datei für die Web-Erweiterung.
Abb. 6: Manifest-Datei für die Web-Erweiterung.

Die schädliche Erweiterung fordert u. a. folgende übermäßige Berechtigungen an: 

  • Zugriff auf alle Websites 
  • Lesezugriff auf den Browserverlauf 
  • Lese- und Schreibzugriff auf den Inhalt der Zwischenablage 

3. Abfangen von Kryptowährungs-Adressen

Die Erweiterung enthält eine Logik zur Erkennung von Wallet-Adressen für verschiedene Kryptowährungen. Dazu gehören folgende:

Abb. 7: Fest programmierte Regexes und Ausweichadressen für Kryptowährungen.
Abb. 7: Fest programmierte Regexes und Ausweichadressen für Kryptowährungen.
  • Die im Code angegebenen Fallback-Adressen für Wallets werden nicht bei jeder Transaktion verwendet. Sie dienen vielmehr als Sicherheitsmechanismus für den Fall, dass der dynamische Abruf der Adressen vom Server der Angreifer fehlschlägt.  
  • Wenn alles normal funktioniert, ruft die Erweiterung Ersatzadressen von einem Remote-Server ab, um Wallet-Adressen dynamisch und potenziell für das jeweilige Opfer zuzuweisen.  
  • Dank der Ausweichadressen funktioniert der Angriff auch dann, wenn die Command-and-Control-Infrastruktur vorübergehend nicht verfügbar ist oder blockiert wird. 
Abb. 8: Die schädliche Erweiterung führt eine dynamische Auflösung von Kryptowährungs-Adressen durch.
Abb. 8: Die schädliche Erweiterung führt eine dynamische Auflösung von Kryptowährungs-Adressen durch.
  • Diese Funktion dient dazu, die von den Angreifern kontrollierte Ersatzadresse für die Wallet-Adresse des Opfers abzurufen.  
  • Die Funktion sendet die abgefangene Wallet-Adresse an das Angreifer-Backend, erhält eine Antwort und ersetzt dann dynamisch die ursprüngliche Adresse.  
  • Wenn die Backend-Anfrage fehlschlägt, greift die Funktion auf eine vordefinierte, fest programmierte Wallet-Adresse zurück, sodass die böswilligen Aktivitäten ununterbrochen fortgesetzt werden können. 
  • 3J98t1Wxxxx ist die Adresse, die in die Zwischenablage kopiert wurde. 

4. Umgehung von Erkennungsmaßnahmen und Verschleierung 

Abb. 8: Die Datei "Settings.js" mit Konfiguration.
Abb. 8: Die Datei “Settings.js” mit Konfiguration.
  • Die Konfiguration enthält einen fest programmierten API-Schlüssel, mit dem die Erweiterung die Kommunikation mit der Angreifer-Infrastruktur authentifiziert.  
  • Mithilfe einer RPC-URL, die auf einen öffentlichen Blockchain-Knoten verweist, werden Backend-Serverinformationen dynamisch aufgelöst. Dadurch kann der Angreifer kritische Infrastruktur hinter dezentralen Systemen verbergen.  
  • Die Anwesenheit einer Smart-Contract-Adresse und der entsprechenden Methode deutet darauf hin, dass die Malware ihre C2-Domain indirekt über Blockchain-Abfragen abruft, was die Stilllegung und Nachverfolgung der Server erschwert. 
  • Die unter “Blacklist” aufgeführten URLs sind Websites zur Blockchain-Überprüfung, auf denen die Web-Erweiterung deaktiviert ist. Dies geschieht, damit das Opfer keinen Verdacht schöpft, während es versucht, seine eigene Adresse einzufügen, den Kontostand seiner Wallet abzurufen oder die Transaktionen seiner Wallet zu überprüfen. 
Abb. 9: Auflösung der C2-Domain des Angreifers über Ethereum-Smart-Contract (Etherhiding).
Abb. 9: Auflösung der C2-Domain des Angreifers über Ethereum-Smart-Contract (Etherhiding).
Abb. 10: Request-Payload mit Adresse des Ethereum-Smart-Contracts.
Abb. 10: Request-Payload mit Adresse des Ethereum-Smart-Contracts.
  • Eine dynamische Analyse ergab, dass die Malware ihre C2-Domain über einen Smart Contract in der Blockchain auflöst, der zur Laufzeit die Domain devops-offensive[.]cc ausgibt.  
  • Die Antwort aus der Blockchain wird zur Laufzeit entschlüsselt, wodurch die aktive C2-Domain (devops-offensive.cc) offengelegt wird.  
  • Diese Domain ist nicht fest codiert, sodass der Angreifer die Infrastruktur verändern kann, ohne die Malware umschreiben zu müssen.  
  • Die aufgelöste Domain wird lokal zwischengespeichert, um Persistenz zu gewährleisten und wiederholte Netzwerkabfragen zu vermeiden. 
Abb. 11: Das Bild zeigt die langkodierte Zeichenfolge mit der schädlichen Domain.
Abb. 11: Das Bild zeigt die langkodierte Zeichenfolge mit der schädlichen Domain.

Die langkodierte Zeichenfolge wird mithilfe der folgenden Funktion entschlüsselt, um die Angreifer-Domain auszugeben.

Abb. 12: Das Bild zeigt die endgültige Angreifer-Domain.
Abb. 12: Das Bild zeigt die endgültige Angreifer-Domain.

Persistenz- und Verschleierungstechniken 

Die Kampagnentechniken zur Persistenz und Verschleierung sind bewusst mehrschichtig gewählt. Der Akteur hat sie eindeutig auf zwei Aspekte hin optimiert: geringe Sichtbarkeit für den Endnutzer und hohe Widerstandsfähigkeit gegenüber Stilllegungsmaßnahmen und statischen Analysen. 

Persistenz 

  • Die Registrierung der Erweiterung durch die Manipulation der “Secure Preferences” sorgt dafür, dass die Erweiterung bei jedem nachfolgenden Start des Browsers geladen wird, ohne dass ein zusätzlicher Persistenzmechanismus unter Windows erforderlich ist. Es müssen also keine Registry-Schlüssel ausgeführt oder geplante Aufgaben oder Dienste erstellt werden, die von Endpunkt-Analysten üblicherweise überprüft werden. 
  • Der Entwicklermodus wird bei Bedarf programmatisch aktiviert. Dadurch können entpackte Erweiterungen bestehen bleiben, ohne die regelmäßig wiederkehrenden Chromium-Warnhinweise auszulösen, die vor Sideloading abschrecken sollen. 
  • Durch die zwischengespeicherte C2-Domain kann die Erweiterung weiterhin auf ein zuverlässig funktionierendes Backend zugreifen, selbst wenn der RPC-Endpunkt der Blockchain vorübergehend nicht verfügbar ist. 

Verschleierung 

  • Die Tarnung der Erweiterung als einfache Notizen-App “Google Notes” fällt bei einem flüchtigen Blick auf die Liste der installierten Erweiterungen nicht sofort auf. 
  • Die neu berechneten HMAC-Werte bestehen die Chromium-Integritätsprüfung, wodurch das Banner “Erweiterung aus einer unbekannten Quelle installiert” nicht erscheint, das Benutzer sonst warnen würde. 
  • Das Installationsprogramm löscht sich nach der Ausführung selbst und beseitigt damit den offensichtlichsten Kompromittierungsindikator auf der Festplatte für den Erstangriff. 
  • Durch die Auflösung des C2-Servers über eine öffentliche Blockchain ist im Malware-Paket selbst keine dauerhafte C2-Domain erkennbar. Netzwerkbasierte Erkennungsmechanismen, die auf fest programmierten Indikatoren basieren, werden erst ausgelöst, wenn die Domain aufgelöst und kontaktiert wird. 
  • Mehrsprachige Installationsvarianten (.NET und Golang) senken die Wirksamkeit der Erkennung von Signaturen von Kompilierungsartefakten und Binärfunktionen. 
  • Dank der dynamischen Ersetzung der jeweiligen Adresse verfallen veröffentlichte Angreiferadressen sehr schnell und können nicht zu dauerhaften Blocklist-Einträgen zusammengetragen werden. Die Verteidiger müssen daher den Backend-Dienst selbst blockieren, nicht die von ihm vergebenen Adressen. 

Logik der Ersetzung von Wallet-Adressen 

Die Clipper-Logik ist in zwei Ebenen unterteilt: eine Ebene mit Content-Skripten, die die Aktivitäten in der Zwischenablage sowie die DOM-Eingabefelder auf allen besuchten Domains überwacht, und eine Hintergrundebene, die mit dem Backend des Angreifers kommuniziert und Ersatzadressen abruft. 

Wenn die Erweiterung einen Kopiervorgang feststellt, wendet sie eine Reihe von kryptowährungsspezifischen regulären Ausdrücken auf der Zwischenablage-Payload an. Wenn eine Übereinstimmung gefunden wird, wird die abgefangene Adresse über eine mit dem in der Konfiguration eingebetteten API-Schlüssel authentifizierte Anfrage an das Angreifer-Backend übermittelt. Das Backend antwortet mit einer Ersatzadresse, die speziell auf das übermittelte Original zugeschnitten ist. Diese Ersatzadresse wird zurück in die Zwischenablage geschrieben und überschreibt die legitime Adresse, bevor das Opfer den Inhalt einfügen kann. 

Tests mit einem rekonstruierten Backend-Client – erstellt mithilfe der erneuten Implementierung des Anfrageformats und der Antwortdekodierungslogik der Erweiterung in Python – ergaben ein aufschlussreiches Verhaltensprofil: 

  • Bitcoin (BTC), Ethereum, Bitcoin Cash, Ripple und Dash: Jeder übermittelten Adresse wird eine eindeutige, vom Angreifer kontrollierte Adresse zugeordnet. Wenn dieselbe Ausgangsadresse erneut übermittelt wird, wird dieselbe Ersatzadresse zurückgegeben. Dies deutet auf eine serverseitig verwaltete, deterministische Eins-zu-Eins-Zuordnung hin. 
  • Solana: Alle übermittelten Adressen führen auf eine einzige Angreiferadresse zurück, was darauf hindeutet, dass die opferspezifische Zuordnungsfunktion selektiv nach Blockchain implementiert ist. 

Analyse der Kryptowährungs-Wallets des Angreifers 

Mithilfe der Codeausschnitte aus der Web-Erweiterung zum Abrufen von Ersatzadressen wurde ein Python-Skript erstellt, das die Wallet-Adressen der Angreifer programmatisch extrahiert. Die Payload wurde auf der Grundlage des Angreifer-Codes erstellt, wobei der Codeausschnitt “get replacement address” direkt daraus übernommen wurde. Auch die Angreiferlogik zur Dekodierung der vom C2-Server empfangenen Daten wurde für das Skript unverändert übernommen. 

Anschließend wurde das Skript mit einigen Testadressen von Bitcoin-Wallets (BTC) ausgeführt. Dabei zeigte sich, dass für jede übertragene Bitcoin-Adresse eine eindeutige Bitcoin-Adresse als Antwort zurückgegeben wurde und dass es sich bei allen zurückgegebenen Adressen um gültige BTC-Wallets handelte. Dies deutet darauf hin, dass der Angreifer für jede übermittelte BTC-Adresse dynamisch eine neue Wallet generiert, die zu der jeweiligen Eingabeadresse passt. Zudem wurde bei erneuter Eingabe derselben Adresse wieder dieselbe BTC-Adresse zurückgegeben. Damit ist bestätigt, dass jede BTC-Adresse eines Opfers deterministisch einer einzigen speziellen und vom Angreifer kontrollierten Adresse zugeordnet wird. Einige der Angreifer-Wallets enthielten Guthaben, andere waren hingegen leer. Da aber die Gesamtzahl der Angreifer-Wallets unbekannt ist, lässt sich nur schwer zuverlässig abschätzen, wie viel Kryptowährung insgesamt gestohlen wurde. 

Das gleiche Verhalten zeigt sich bei Ethereum, wo für jede eingegebene Wallet-Adresse eine unterschiedliche Adresse zurückgegeben wurde. Interessanterweise wurde bei Tests mit Solana-Adressen unabhängig von der Zahl unterschiedlicher Eingaben stets nur eine einzige Adresse zurückgegeben. Das lässt darauf schließen, dass der Angreifer die Funktion der adressenspezifischen Zuordnung nur für bestimmte Kryptowährungen implementiert hat, während bei anderen auf eine einzige statische Drop-Wallet zurückgegriffen wird. Da die Solana-Adresse für alle Opfer die gleiche ist, ist hier ein deutlicher Anstieg des Guthabens zu erkennen. Zudem stellte sich heraus, dass bei einer der aufgedeckten Ethereum-Adressen Guthaben im Wert von etwa 1902 US-Dollar hinterlegt waren. 

Zusammenfassend lässt sich sagen, dass Bitcoin, Ethereum, Bitcoin Cash, Ripple und Dash zu den Kryptowährungen gehören, für die pro Opfer individuelle Wallet-Adressen generiert werden.

Abb. 13: Die Payload wurde mithilfe des Angreifercodes erstellt.
Abb. 13: Die Payload wurde mithilfe des Angreifercodes erstellt.
Abb. 14: Aus dem Angreifer-Code übernommener Code-Ausschnitt zum Abrufen von Ersatzadressen.
Abb. 14: Aus dem Angreifer-Code übernommener Codeausschnitt zum Abrufen von Ersatzadressen.
Abb. 15: Die Angreifer-Logik zur Dekodierung der vom C2 empfangenen Daten wurde ebenfalls implementiert.
Abb. 15: Die Angreifer-Logik zur Dekodierung der vom C2 empfangenen Daten wurde ebenfalls implementiert.

Ausführung des Skripts mit Testadressen für Bitcoin-Wallets

Abb. 16: Für jede Bitcoin-Adresse wurde eine eindeutige Bitcoin-Adresse zurückgegeben. Alle Adressen sind gültige BTC-Wallet-Adressen.
Abb. 16: Für jede Bitcoin-Adresse wurde eine eindeutige Bitcoin-Adresse zurückgegeben. Alle Adressen sind gültige BTC-Wallet-Adressen.
Abb. 17: Auch für Ethereum wurden eindeutige Adressen zurückgegeben.
Abb. 17: Auch für Ethereum wurden eindeutige Adressen zurückgegeben.
Abb. 18: Ausführung des Skripts zur Überprüfung von Solana-Testadressen.
Abb. 18: Ausführung des Skripts zur Überprüfung von Solana-Testadressen.

Zum Glück für Solana erhalten wir dort immer nur eine Adresse zurück, selbst wenn mehrere Adressen eingegeben werden. Das zeigt, dass der Angreifer die Funktion zur Adresszuweisung nur bei bestimmten Kryptowährungen implementiert hat. 

Abb. 19: Hier ist ein Anstieg des Guthabens zu erkennen.
Abb. 19: Hier ist ein Anstieg des Guthabens zu erkennen.
Abb. 20: Unter der ETH-Adresse befanden sich 1902 US-Dollar.
Abb. 20: Unter der ETH-Adresse befanden sich 1902 US-Dollar.

Technische Analyse einer .net-Datei (Installationsprogramm der Erweiterung) 

Abb. 21: "BaseZipInstaller" ist ein unsigniertes .NET-Installationsprogramm.
Abb. 21: “BaseZipInstaller” ist ein unsigniertes .NET-Installationsprogramm.
Abb. 22: Gespeicherte Konfiguration in DnSpy.
Abb. 22: Gespeicherte Konfiguration in DnSpy.
  • In der Malware ist eine vollständige JSON-Konfigurationsdatei direkt in die Binärdatei eingebettet, sodass für die Ersteinrichtung keine Daten aus externen Quellen abgerufen werden müssen.  
  • Die integrierte Konfiguration enthält wichtige Details wie API-Schlüssel, die URL des Backend-Servers, die ins Visier genommenen Wallet-Erweiterungen sowie das vollständige Manifest der Erweiterung mit umfassenden Berechtigungen.  
Abb. 23: Die Hauptfunktion, bei der die Ausführung beginnt.
Abb. 23: Die Hauptfunktion, bei der die Ausführung beginnt.
  • Das Installationsprogramm ruft von einem Remote-Server (google-services[.]cc/base[.]zip) ein ZIP-Archiv ab und überprüft es. Das Archiv dient als primäre Payload für die Installation der schädlichen Browsererweiterung und stellt den Übergang von der Erstinfektion zur Kompromittierung auf Browserebene dar. 
Abb. 24: An diesem Ort im System wird die Erweiterung mit Dateien installiert, die als
Abb. 24: An diesem Ort im System wird die Erweiterung mit Dateien installiert, die als “base.zip” heruntergeladen wurden.
Abb. 25: DnSpy mit der Liste der angegriffenen Browser.
Abb. 25: DnSpy mit der Liste der angegriffenen Browser.
  • Das Installationsprogramm durchsucht Chromium-basierte Browser wie Chrome, Edge, Opera und Brave, und ermittelt dabei die auf dem System verfügbaren Benutzerprofile.  
  • Bei jedem erkannten Profil beendet die Malware zwangsweise den Browserprozess, um Konfigurationsdateien sicher und ohne Störungen zu ändern.  
  • Anschließend injiziert sie die schädliche Erweiterung, indem sie “Secure Preferences” und “Preferences” manipuliert, sodass die Erweiterung ohne Benutzereingriff geladen werden kann. 
weiterer Code
  • Die Malware erkennt die Installationspfade der Browser durch die Abfrage der Standard-Systemverzeichnisse und findet dadurch die Benutzerdaten-Ordner von Chrome, Edge, Opera und Brave.  
  • Sie listet systematisch Browserprofile auf und sucht gezielt nach dem Vorhandensein der Datei “Secure Preferences”, in der wichtige Konfigurations- und Erweiterungsdaten der Browser gespeichert sind.  
  • Durch die gezielte Auswahl von Profilen mit “Secure Preferences” stellt die Malware sicher, dass nur gültige Browserumgebungen verändert werden, was die Erfolgsquote beim Einschleusen der Erweiterung erhöht. 
Hier ist das "WriteFile"-Ereignis in den Secure Preferences-Dateien von Chrome und Edge zu sehen, bei dem die Details der heruntergeladenen Erweiterung in die Konfigurationsdateien geschrieben werden.
Hier ist das “WriteFile”-Ereignis in den Secure Preferences-Dateien von Chrome und Edge zu sehen, bei dem die Details der heruntergeladenen Erweiterung in die Konfigurationsdateien geschrieben werden.
Abb. 27: Angreiferlogik zum erneuten Signieren der Secure Preferences-Dateien.
Abb. 27: Angreiferlogik zum erneuten Signieren der Secure Preferences-Dateien.
  • Die Malware liest und verändert die Secure Preferences-Datei des Browsers, über die die installierten Erweiterungen und deren Vertrauensstatus kontrolliert werden.  
  • Die Schadsoftware injiziert die schädliche Erweiterung in die Konfiguration und versucht, die geänderten Daten neu zu signieren, damit sie die Integritätsprüfungen des Browsers bestehen.  
  • Anschließend wird die veränderte Konfiguration wieder auf die Festplatte geschrieben. So wird sichergestellt, dass die Erweiterung automatisch geladen wird und auch nach einem Neustart des Browsers erhalten bleibt. 
Abb. 27B: Der Erweiterungspfad wird in die Secure Preferences-Datei von Chrome geschrieben.
Abb. 27B: Der Erweiterungspfad wird in die Secure Preferences-Datei von Chrome geschrieben.
Abb. 28: Die Logik zur Manipulation der Abwehrmaßnahmen des Brave-Browsers.
Abb. 28: Die Logik zur Manipulation der Abwehrmaßnahmen des Brave-Browsers.
  • Bei Browsern wie Brave und Opera injiziert die Malware die schädliche Erweiterung direkt in die Konfiguration des Browsers, indem sie Einträge im Abschnitt “extensions.settings” (bzw. “extensions.opsettings”) hinzufügt.  
  • Zudem werden die Integritäts-relevanten Felder (protection.macs) verändert, damit die injizierte Erweiterung vom Browser als vertrauenswürdig eingestuft wird.  
  • Außerdem versucht die Malware, programmatisch den Entwicklermodus zu aktivieren, wodurch entpackte Erweiterungen mit weniger Einschränkungen ausgeführt werden können. 
Abb. 29: Die Angreifer-Logik zum Abruf der Geräte-ID, die zur weiteren Berechnung der Integritätswerte verwendet wird.
Abb. 29: Die Angreifer-Logik zum Abruf der Geräte-ID, die zur weiteren Berechnung der Integritätswerte verwendet wird.
  • Die Malware versucht, die Integritätssignaturen des Browsers neu zu berechnen, indem sie neue MAC-Werte (Message Authentication Code) für die geänderte Secure Preferences-Datei generiert.  
  • Sie verwendet systemspezifische Kennungen (z. B. die Maschinen-SID) zusammen mit einem Startwert, um den internen Verifizierungsmechanismus von Chrome nachzubilden.  
  • Durch die Neuberechnung der Integritätsprüfungen (MACs und Super_MAC) versucht die Malware, ihre unbefugten Änderungen gegenüber dem Browser als legitim erscheinen zu lassen. 
Abb. 30: Die Selbstlöschungslogik.
Abb. 30: Die Selbstlöschungslogik.
  • Die Malware verfügt über einen Selbstlöschmechanismus, der die ausführbare Installationsdatei nach erfolgreicher Ausführung entfernt.  
  • Sie startet einen versteckten Eingabeaufforderungsprozess, der die Ausführung kurz verzögert, um die Originaldatei anschließend von der Festplatte zu löschen. 

Fazit 

Diese Kampagne veranschaulicht eindrucksvoll, in welche Richtung sich der Kryptodiebstahl an Endverbrauchern entwickelt. Der Angreifer hat die älteste und einfachste Kategorie von Krypto-Malware – den “Clipper” – genutzt und drei ihrer größten Schwachstellen still und leise aufgewertet. So wurden statische Angreiferadressen durch serverseitige, opferspezifische Zuweisungen ersetzt. Anfällige, fest codierte Command-and-Control-Domains wurden durch eine Blockchain-basierte Namensauflösung ersetzt, die der Angreifer mit einer einzigen Transaktion rotieren lassen kann. Zudem wurde der anfällige Dropper durch eine Chromium-Erweiterung ersetzt, die direkt in der vertrauenswürdigsten Anwendung des Benutzers ausgeführt wird und unter der Integritätssignatur des Browsers geladen wird. 

McAfee wird diese Kampagne und die damit verbundene Infrastruktur weiterhin im Auge behalten. Unsere Kunden sind durch bestehende Erkennungsmaßnahmen geschützt und profitieren von telemetriebasierten Updates, sodass neue Varianten und geänderte Infrastrukturen erkannt werden. 

Kompromittierungsindikatoren (IOC)

Typ  Kategorie  Wert 
SHA-256  .NET-Installationsprogramm (BaseZipInstaller)  2735e12030c195fb5454e4736c51b55b59664b93cae9f4bd5317afcd9c2af0bf  053620962047f50a91c6e8d1a6519eccc41fab51473f033086b4d816abe8bcb0   
SHA-256  Mit Golang kompilierte Installationsvariante  11be4c47ff049322de41743f62544cafd32d67e24ad653b7ebedf8ebd63e0962    1432393691b415d0cd4680d9cee73e60896fbe63300d9f0355c96e91817e4b1d   
URL  Payload-Übertragung  hxxps://google-services[.]cc/base[.]zip 
Domain  Command-and-Control (über Smart Contract aufgelöst)  devops-offensive[.]cc  Zebregts[.]com 
BTC-Wallet  Kryptowährungs-Wallet  3JvDBvKbS6YYMKjV3R9e9Zfd67f467fNLy  1BbhVBxpniuZuAL1gGZnEMdQhmz9JGWpyT  3AcPNVh7NyESwX3ECymy3rkdH4Ke2c26Tj  1BVTrB47erypG3tevi1U9Fv6BbNUBEiuiX 
Artefakt  Sideloading-Ziel  Secure Preferences-Datei von Chromium (Chrome-, Edge-, Brave- und Opera-Profile) 
Dateien der Erweiterung  manifest.json   crypto-patterns.js    Interceptor.js    content-script.j     cache.js     domain-resolver.js    service-worker.js    api-client.js  ed2599d6a8f30d5eaf14ad7f855aece0acdf7efa4a148eb18e4d9f0d8e2cd90c   daf82c67e8e5df6bbd5370172ac9374aa7dce48af05496e8ec3dba7b602c619b   6eb2f07265dd95cacd39dfcf0705786b97f3e173cf4e9b3dfe7bad141c9a9dd5    a2ffdbedc5c9f5400a2b1cf5d35f5ec1df06a74d0345f1035bcf75d36ed73e01     eb84ba4a0cd95655a021865d4fec93ae3393f86cc9848810ed0b49035b1c5e2c   6aaba685669d779ef8be8f7f4231096cfafd0ef386f3897c5e2106c177724fc8     2599064901308a97540af29197ed0b38702bbee38d6dbbfa61cf9eb5878353f3   ab450927b37e1b68e2be68832c354ac600e86e2545a904d4ca0ea283f2600cc2    

 

Mehr Kontrolle mit McAfee+

Umfassender Schutz für Ihre Identität und Ihre Kreditauskunft in einem Abonnement.

FacebookLinkedInTwitterEmailCopy Link

Bleiben Sie auf dem Laufenden

Folgen Sie uns, um alle Neuigkeiten von McAfee und zu aktuellen Sicherheitsbedrohungen für Privatanwender und Mobilgeräte zu erfahren.

FacebookTwitterInstagramLinkedINYouTubeRSS

More from Internet-Sicherheit

Back to top