Die Sicherheitsforscher des Zscaler ThreatLabZ-Teams warnen vor dem neuen Infostealer Rhadamanthys, der nach dem kretischen Sohn von Zeus und Europa benannt ist. Erstmals im Dezember 2022 entdeckt, handelt es sich hierbei um einen bösartigen, in C++ geschriebenen Infostealer, der hauptsächlich über Google-Anzeigen verbreitet wird.

Die Malware ist in der Lage, Anmeldeinformationen von Webbrowsern, VPN-Clients, E-Mail-Clients und Chat-Clients sowie von Kryptowährungs-Wallets zu stehlen. Rhadamanthys besteht aus einem Loader und dem Hauptmodul, das für das Exfiltrieren der gesammelten Anmeldedaten verantwortlich ist.

Aufgrund eines Programmierfehlers konnte der Stealer dechiffriert und einer umfangreichen Analyse unterzogen werden. Die Malware hat komplexe Anti-Analyse-Techniken implementiert und basiert auf Open-Source-Bibliotheken. Sie ist in der Lage, Anmeldeinformationen von verschiedenen Anwendungen wie Keepass und Kryptowährungs-Börsen zu extrahieren.

Einer der entdeckten Loader verwendet eine virtuelle Maschine (aufbauend auf der Quake III-Engine), um verschiedene Teile seines Codes zu schützen. Darüber hinaus verwendet der Stealer eine Variante des Hidden Bee-Formats und verfügt über ein eigenes Dateisystem, das einen zusätzlichen Satz von eingebetteten Modulen enthält.

Trotz Verschlüsselung der Netzwerkkommunikation des Loaders und Hauptmoduls kann diese aufgrund eines Implementierungsfehlers in ihrem Code entschlüsselt werden. Die ThreatLabZ-Forscher haben drei Phasen im Ladeprozess ausgemacht und diese in Initialisierung, Dekompression und den eigentlichen Ladevorgang eingeteilt, wobei zwei verschiedene Loader zum Einsatz kommen.

Rhadamanthys führt den Shellcode-Loader des Hauptmoduls aus, der einen AES-Schlüssel aus dem öffentlichen Schlüssel und dem Salt-Wert der Konfigurationsstruktur ableitet und die letzte Schicht des Hauptmoduls entschlüsselt. Die entschlüsselte Ausgabe wird dann mit dem LZSS-Algorithmus dekomprimiert. Als weitere Anspielung auf die Mythologie startet der entschlüsselte Output mit dem String ‘!HADES’.

Bei der Ausführung wird die C-Funktionszeit aufgerufen, um die aktuelle Ortszeit des kompromittierten PCs zu ermitteln, gefolgt von einem Aufruf der srand-Funktion mit der Zeit als Seed. Schließlich wird der geheime Skalarwert durch Aufruf der C-Funktion rand erzeugt.

Im Ergebnis können die generierten Schlüssel mit Brute-Force erzwungen werden, wenn eine Netzwerkaufzeichnung der ersten Anfrage an den Server gestellt wird, die sowohl den öffentlichen Schlüssel als auch die Epoch-Zeit enthält.

Weitere Beiträge....