Elastic Security Labs

Jenseits des Gejammers: Die Dekonstruktion des BANSHEE-Infostealers

Die BANSHEE-Malware ist ein macOS-basierter Infostealer, der auf Systeminformationen, Browserdaten und Kryptowährungs-Wallets abzielt.

10 Minuten LesezeitMalware-Analyse
Jenseits des Gejammers: Die Dekonstruktion des BANSHEE-Infostealers

Präambel

In August 2024, a novel macOS malware named "BANSHEE Stealer" emerged, catching the attention of the cybersecurity community. Reportedly developed by Russian threat actors, BANSHEE Stealer was introduced on an underground forum and is designed to function across both macOS x86_64 and ARM64 architectures.

Diese Malware stellt ein ernsthaftes Risiko für macOS-Benutzer dar, da sie auf wichtige Systeminformationen, Browserdaten und Kryptowährungs-Wallets abzielt.

Mit einem hohen monatlichen Abonnementpreis von 3.000 US-Dollar sticht BANSHEE Stealer auf dem Markt hervor, insbesondere im Vergleich zu bekannten Stealern wie AgentTesla.

Da macOS zunehmend zu einem Hauptziel für Cyberkriminelle wird, unterstreicht BANSHEE Stealer die zunehmende Verbreitung von macOS-spezifischer Malware. Diese Analyse untersucht die technischen Details von BANSHEE Stealer und soll der Community helfen, die Auswirkungen zu verstehen und über neue Bedrohungen informiert zu bleiben.

Wichtigste Erkenntnisse

  • BANSHEE Stealer unterstreicht die wachsende Zahl von macOS-Malware-Samples, da das Betriebssystem zu einem immer attraktiveren Ziel für Cyber-Bedrohungen wird.
  • Der monatliche Preis von BANSHEE Stealer von 3.000 US-Dollar ist im Vergleich zu Windows-basierten Stealern bemerkenswert hoch.
  • BANSHEE Stealer zielt auf eine Vielzahl von Browsern, Kryptowährungs-Wallets und rund 100 Browsererweiterungen ab, was es zu einer äußerst vielseitigen und gefährlichen Bedrohung macht.

Malware-Analyse

Die Malware, die wir in dieser Studie analysiert haben, enthielt alle C++-Symbole, was interessant ist, da wir die Codestruktur des Projekts erraten können, indem wir diese Quellcode-Dateinamen kennen, wie in der Abbildung unten zu sehen ist. Wenn wir uns die von C++ generierten globalen Variableninitialisierungsfunktionen ansehen, können wir Werte finden, die vom Benutzer während des Build-Prozesses automatisch/manuell festgelegt wurden, wie z. B. die Remote-IP, den Verschlüsselungsschlüssel, die Build-ID usw.

In der folgenden Tabelle sind die durchgesickerten .cpp Dateinamen anhand der Symbole in der Binärdatei zusammengefasst.

DateinameBeschreibung
Controller.cppVerwaltet die wichtigsten Ausführungsaufgaben, einschließlich Anti-Debugging-Maßnahmen, Sprachüberprüfungen, Datenerfassung und Exfiltration.
Browsers.cppVerarbeitet die Erfassung von Daten aus verschiedenen Webbrowsern.
System.cppFührt AppleScripts aus, um Systeminformationen zu sammeln und Passwort-Phishing durchzuführen.
Tools.cppBietet Dienstprogrammfunktionen für Verschlüsselung, Verzeichniserstellung und Komprimierung usw.
Wallets.cppVerantwortlich für das Sammeln von Daten von Kryptowährungs-Wallets.

Debugger, VM-Erkennung und Sprachprüfungen

BANSHEE Stealer verwendet grundlegende Techniken, um der Entdeckung zu entgehen. Es erkennt das Debuggen mithilfe der sysctl-API .

Für die Virtualisierungserkennung wird der Befehl system_profiler SPHardwareDataType | grep 'Model Identifier' ausgeführt, um zu bestimmen, ob die Zeichenfolge Virtual im Hardwaremodellbezeichner angezeigt wird, der auf einen virtuellen Computer hindeutet. Diese Methoden sind relativ einfach und können von fortschrittlichen Sandboxes und Malware-Analysten leicht umgangen werden.

Darüber hinaus analysiert es die vom Benutzer bevorzugte kanonisierte Sprache, die von der CFLocaleCopyPreferredLanguages-API zurückgegeben wird, und sucht nach der Zeichenfolge ru. Diese Taktik hilft der Malware, eine Infektion von Systemen zu vermeiden, auf denen Russisch die Hauptsprache ist.

Erfassung von Systeminformationen

Benutzerkennwort

Die Malware erstellt eine Osascript-Passwortabfrage mit einem Dialogfeld, das besagt, dass Sie zum Starten der Anwendung die Systemeinstellungen aktualisieren müssen. Bitte geben Sie Ihr Passwort ein.

Wenn der Benutzer das Kennwort eingibt, wird es mit dem Befehl dscl validiert, indem dscl Local/Default -authonly <username> <password>

Falls gültig, wird das Passwort in die folgende Datei geschrieben /Users/<username>/password-entered.

Diese Anmeldeinformationen können genutzt werden, um die auf dem System gespeicherten Schlüsselbunddaten zu entschlüsseln und Zugriff auf alle gespeicherten Passwörter zu gewähren.

Sammlung von Datei-, Software- und Hardwareinformationen

Die Funktion sammelt System::collectSystemInfo Systeminformationen und serialisiert sie in einem JSON-Objekt. Er führt den Befehl system_profiler SPSoftware DataType SPHardwareDataTypeaus, der Details über die Software und Hardware des Systems enthält. Er erhält die öffentliche IP-Adresse des Computers, indem er sie über den integrierten macOS cURL -Befehl von freeipapi.com anfordert.

Die JSON-Datei wird unter <temporary_path>/system_info.json

BANSHEE Stealer führt AppleScripts aus; Interessanterweise schreibt es die AppleScripts in dieselbe Datei /tmp/tempAppleScript.

Das erste Skript, das zuerst ausgeführt wird, schaltet den Systemton mit osascript -e 'set volume with output muted' Befehl stumm. Anschließend werden verschiedene Dateien aus dem System gesammelt, die im Folgenden aufgeführt sind:

  • Safari-Kekse
  • Notizen-Datenbank
  • Dateien mit den folgenden Erweiterungen .txt, .docx, .rtf, .doc, .wallet, .keysoder .key aus den Ordnern Desktop und Dokumente.

Passwörter für Schlüsselbunde ausgeben

Es kopiert den Schlüsselbund des Systems /Library/Keychains/login.keychain-db in die <temporary_path>/Passwords

Browser-Sammlung

BANSHEE sammelt derzeit Daten von 9 verschiedenen Browsern, einschließlich Browserverlauf, Cookies, Logins usw.:

  • Chrom
  • Firefox
  • Tapfer
  • Edge
  • Vivaldi
  • Yandex
  • Oper
  • OperaGX

In Bezug auf Safari werden nur die Cookies vom AppleScript-Skript für die aktuelle Version gesammelt.

Darüber hinaus werden Daten von etwa 100 Browser-Plugins von dem Gerät gesammelt. Eine Liste dieser Erweiterungs-IDs finden Sie am Ende des Blogbeitrags.

Die gesammelten Dateien werden unter <temporary_path>/Browsersgespeichert.

Portemonnaie-Kollektion

  • Exodus
  • Elektron
  • Coinomi
  • Guarda
  • Wasabi Geldbörse
  • Atomar
  • Hauptbuch

Die gesammelten Wallets werden unter <temporary_path>/Walletsgespeichert.

Exfiltration

Nachdem die Malware das Sammeln von Daten abgeschlossen hat, komprimiert sie zunächst den temporären Ordner mit dem Befehl ditto ZIP. Die ZIP-Datei wird dann XOR-verschlüsselt und base64-codiert und über eine Post-Anfrage an die URL: http://45.142.122[.]92/send/ mit dem integrierten cURL-Befehl gesendet.

Erkennung von Verhalten

YARA-Regel

Elastic Security hat YARA-Regeln erstellt, um diese Aktivität zu identifizieren. Im Folgenden finden Sie YARA-Regeln zur Identifizierung der BANSHEE-Malware:

rule Macos_Infostealer_Banshee {
    meta:
        author = "Elastic Security"
        creation_date = "2024-08-13"
        last_modified = "2024-08-13"
        os = "MacOS"
        arch = "x86, arm64"
        category_type = "Infostealer"
        family = "Banshee"
        threat_name = "Macos.Infostealer.Banshee"
        license = "Elastic License v2"

    strings:
        $str_0 = "No debugging, VM, or Russian language detected." ascii fullword
        $str_1 = "Remote IP: " ascii fullword
        $str_2 = "Russian language detected!" ascii fullword
        $str_3 = " is empty or does not exist, skipping." ascii fullword
        $str_4 = "Data posted successfully" ascii fullword
        $binary_0 = { 8B 55 BC 0F BE 08 31 D1 88 08 48 8B 45 D8 48 83 C0 01 48 89 45 D8 E9 }
        $binary_1 = { 48 83 EC 60 48 89 7D C8 48 89 F8 48 89 45 D0 48 89 7D F8 48 89 75 F0 48 89 55 E8 C6 45 E7 00 }
    condition:
        all of ($str_*) or all of ($binary_*)
}

Fazit

BANSHEE Stealer ist eine macOS-basierte Malware, die umfangreiche Daten aus dem System, Browsern, Kryptowährungs-Wallets und zahlreichen Browsererweiterungen sammeln kann. Trotz ihrer potenziell gefährlichen Fähigkeiten erleichtern das Fehlen einer ausgeklügelten Verschleierung und das Vorhandensein von Debug-Informationen die Analyse und das Verständnis der Malware für Analysten. Obwohl BANSHEE Stealer in seinem Design nicht übermäßig komplex ist, machen sein Fokus auf macOS-Systeme und die Breite der gesammelten Daten es zu einer bedeutenden Bedrohung, die die Aufmerksamkeit der Cybersicherheits-Community erfordert.

Observables

Alle Observables stehen auch im ECS- und STIX-Format in einem kombinierten Zip-Bundle zum Download zur Verfügung.

Die folgenden Observablen wurden in dieser Studie diskutiert.

ObservableTypNameReferenz
11aa6eeca2547fcf807129787bec0d576de1a29b56945c5a8fb16ed8bf68f782SHA-256BANSHEE-Stealer
45.142.122[.]92IPv4-ADDRBANSHEE stealer C2