SECURITY21. Februar 2022

Wie aus “Formbook” die Malware-as-a-Service Xloader wurde – und wie der Banking-Infostealer funktioniert

Es ist das 21. Jahrhundert. Filme, Musik und sogar die Milch gibt es im Abo – warum also nicht auch Malware? Malware-as-a-Service hat sich laut Zscaler längst als Geschäftsmodell für Cyber-Kriminelle etabliert. Bei dem Infostealer namens Xloader handelt es sich um den Nachfolger von Formbook, der seit Anfang 2016 vor allem Banken und deren Kunden für Bauchschmerzen sorgt. Die technische Analyse.

Xloader C2 communications captureZscaler
Zu Beginn wurde Formbook seinen kriminellen Kunden mit einem web-basierten Command-and-Control-Panel zur Verfügung gestellt, womit diese ihre eigenen Bot-Netze verwalten konnten. 2017 ist der Quellcode des Formbook-Panels durchgestochen worden, woraufhin der Akteur dahinter zu einem anderen Geschäftsmodell überging: Anstatt eine voll funktionsfähige Ausrüstung zum Daten- und Informations-Klau zu vertreiben, wird die C2-Infrastruktur an die Kunden nur noch vermietet. Dieses Malware-as-a-Service-Geschäftsmodell sei profitabler und erschwere den Diebstahl des Codes. Im Oktober 2020 wurde Formbook dann in Xloader umbenannt. Fleißige Cyberkriminelle konnten sich dabei auch über wesentliche Verbesserungen freuen, insbesondere in Bezug auf die Verschlüsselung des Command-and-Control-Netzwerks (C2).

Zscaler

Infostealer spielen in Ransomware-Szenarien eine wichtige Rolle, da Angreifer auf Double-Extortion-Mechanismen setzen. Somit erhöhen sie ihre Chance zur Monetarisierung des Angriffs über die bloße Geiselnahme von Daten hinaus. Die Drohung, gestohlene sensible Daten zu veröffentlichen, setzt die Opfer unter größeren Druck, das Lösegeld zu zahlen.“

Mark Lueck, CISO EMEA bei Zscaler

Ähnlich wie legale Software-as-a-Service-Angebote werde Malware als Dienst von verbrecherischen Gruppierungen auf Basis eines Abonnements angeboten. Die kriminellen Anbieter stellen eine Plattform bereit, die es auch Angreifern ohne Programmier-Kenntnis ermögliche, kriminelle Machenschaften zu verfolgen. Hat ein Ransomware-Angriff zum Erfolg geführt, werde das gezahlte Lösegeld zwischen dem Dienstanbieter, dem Programmierer und dem Abonnenten geteilt.

Zu den Funktionen von Xloader zählen unter anderem die folgenden Möglichkeiten:

  • Stehlen von Anmeldedaten aus Webbrowsern und Banking-Apps
  • Erfassen von Tastenanschlägen
  • Erstellen von Bildschirmfotos
  • Stehlen von Passwörtern
  • Herunterladen und Ausführen zusätzlicher Binärdateien
  • Ausführen von Befehlen

Obwohl die Autoren den Formbook-Zweig aufgegeben haben, um sich auf den Nachfolger Xloader zu konzentrieren, seien zudem beide Stämme noch aktiv. Formbook werde nach wie vor von Hackern verwendet, die den durchgesickerten Panel-Quellcode nutzen und das C2 selbst verwalten, während die ursprünglichen Autoren nun die neue Variante als Malware-as-a-Service, mitsamt eigener Serverinfrastruktur, vermieten.

Die technische Analyse

Xloader verwende HTTP zur Kommunikation mit dem C2-Server. Eine HTTP-GET-Anfrage werde als eine Art von Registrierung gesendet. Anschließend stelle die Malware HTTP-POST-Anfragen an den C2-Server, um Informationen wie Screenshots oder gestohlene Daten abzugreifen. In beiden Fällen hätten die GET-Parameter und die POST-Daten ein ähnliches Format und werden, wie unten dargestellt, verschlüsselt.

Xloader
Xloader PUSHEBP encrypted blockZscaler

In der Xloader-Malware gebe es mehrere Ebenen verschlüsselter Daten- und Codeblöcke. Diese Blöcke sollen Malware-Analysten und Disassembler verwirren, indem sie die Assembler-Anweisungen für einen Funktionsprolog push ebp und mov ebp verwenden. Intern habe Zscaler diese Strukturen „PUSHEBP-encrypted-block“ genannt. Diese Blöcke würden dann mit einem RC4-basierten Algorithmus in Kombination mit einer Codierungsschicht und einer benutzerdefinierten virtuellen Maschine (VM) entschlüsselt.

Einer dieser PUSHEBP-Blöcke enthalte verschlüsselte Zeichenfolgen und eine Liste von Köder-C2s. Diese Köder seien legitime Domains, die hinzugefügt wurden, um Malware-Forscher und automatisierte Malware-Analysesysteme in die Irre zu führen. Der echte C2-Server werde separat gespeichert und mit einem anderen, komplexeren Schema verschlüsselt.

Details zur Xloader-Kommunikationsverschlüsselung

Die Netzwerkverschlüsselung in XLoader sei komplex. Dem Prozess wurde eine zusätzliche RC4-Schicht mit einem komplizierten Algorithmus hinzugefügt, der verwendet wird, um diesen Verschlüsselungsschlüssel mithilfe der folgenden Schritte abzuleiten:

  1. Um die HTTP-Netzwerkdaten zu verschlüsseln, berechnet Xloader zunächst einen Schlüssel, den Zscaler Key0Comm nennt
  2. Als nächstes wird ein weiterer Schlüssel, den wir als Key1Comm bezeichnen, mit demselben Algorithmus wie Formbook berechnet: Key1Comm = Reverse_DWORDs(SHA1(<domain>/<cncpath>/))
  3. Schließlich müsse man einen letzten Schlüssel berechnen, indem man den benutzerdefinierten RC4-basierten Entschlüsselungsalgorithmus von Xloader wie folgt verwenden: Key2Comm = RC4based_Decryptor(Key0Comm, Key1Comm)
Xloader
Xloader KeyComm0 DerivationZscaler
Wie in der Abbildung zu sehen, werde der PUSHEBP-Block 7 mithilfe der Xloader-VM entschlüsselt. Dieser Block habe nach der Entschlüsselung eine Länge von 0x15 Bytes. Die ersten 0x14 Bytes würden als RC4-Schlüssel verwendet, und das letzte Byte wird verwendet, um basierend auf einer Schalteranweisung einen anderen PUSHEBP-Block (unter den Blöcken 4, 5, 6, 8, 9 und 10) auszuwählen und zu entschlüsseln. Somit wird der Parameter Key0Comm wie folgt abgeleitet: Key0Comm = RC4_based_Decryptor(decPushebpBlock7Key[:0x14], decSwitchBasedPushebpBlock)

Xloader KeyComm0 Function to Map the Switch to a BlockZscaler

Die Reihenfolge der PUSHEBP-Blöcke und die Zuordnungen zwischen dem Schalter und der Blocknummer würden sich jedoch von Fall zu Fall ändern (d. h. der Code dieser Funktion ist zufällig), sogar auf denselben Versionen von Xloader. Die Abbildung rechts zeige einen Vergleich dieser Funktion zwischen zwei verschiedenen Xloader v2.5-Beispielen.

Laut Zscaler (Website) wäre es für Banken und andere Organisationen ratsam, ihre Möglichkeiten zur Prävention der häufigsten Arten von Xloader zu evaluieren. Zu effektiven Maßnahmen würden auch Faktoren wie das Begrenzen von lateralen Bewegungen von Angreifern in einem Netzwerk zählen oder Data Leakage Prevention, um den unbemerkten Abfluss von Daten zu verhindern.ft

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert