Weltweit verteilte Diebe

In diesem Artikel wird unsere Analyse der wichtigsten Malware-Stealer-Familien beschrieben und deren Betriebsmethoden, aktuelle Updates und Konfigurationen vorgestellt. Wenn wir den Modus Operandi jeder Familie verstehen, können wir das Ausmaß ihrer Auswirkungen besser verstehen und unsere Abwehrkräfte entsprechend stärken.

Global verteilte Stealer

Einführung

Dieser Artikel beschreibt unsere Analyse der wichtigsten Windows-Malware-Stealer-Familien, die wir identifiziert haben, und enthüllt deren Funktionsweise, aktuelle Updates und Konfigurationen. Indem wir die Vorgehensweise jeder Familie verstehen, begreifen wir das Ausmaß ihres Einflusses besser und können unsere Abwehrmaßnahmen entsprechend verstärken. Darüber hinaus werden wir unsere einzigartigen Telemetriedaten analysieren, um Erkenntnisse über das aktuelle Volumen dieser weit verbreiteten Malware-Stealer-Familien zu gewinnen.

Die Eindämmung dieser Art verdeckter Bedrohungen erfordert einen vielschichtigen Ansatz, der mit den Prinzipien der gestaffelten Verteidigung vereinbar ist. Wir werden außerdem verschiedene Techniken zur Erkennung beschreiben, darunter die Verwendung von ES|QL-Suchabfragen und Yara-Regeln, die es Organisationen ermöglichen, sich proaktiv dagegen zu verteidigen.

Telemetrie-Übersicht

Die in diesem Artikel dargestellten Telemetriedaten umfassen Erkenntnisse aus internen und externen Quellen und ermöglichen ein umfassendes Verständnis der Bedrohungsaktivitäten.

Besonders bemerkenswert ist, dass sich REDLINE zwischen 2022 und 2023 zur am weitesten verbreiteten Malware entwickelte, dicht gefolgt von AGENT TESLA, VIDAR und dann STEALC. Hervorzuheben ist, dass in diesem Zeitraum STEALC erstmals in freier Wildbahn auftrat, was auf eine sich verändernde Bedrohungslandschaft hindeutet.

Im darauffolgenden Zeitraum von 2023 bis 2024 war ein deutlicher Anstieg der Aktivitäten von AGENT TESLA zu verzeichnen, gefolgt von REDLINE, STEALC und VIDAR, was auf veränderte Trends bei der Verbreitung und dem Einsatz von Malware hinweist.

Elastische Telemetriedaten Mai 2023 - Mai 2024

Trotz Schwankungen in der allgemeinen Verbreitung von Schadsoftware hat AGENT TESLA seine Position als prominente Bedrohung stets behauptet. Diese anhaltende Dominanz lässt sich auf mehrere Faktoren zurückführen, darunter der vergleichsweise niedrige Preis und die verlockenden Fähigkeiten, die eine breite Palette von Bedrohungsakteuren ansprechen, insbesondere solche, die über begrenzte Ressourcen oder Fachkenntnisse verfügen.

Eine bemerkenswerte Beobachtung ist, dass aufgrund der Tatsache, dass METASTEALER auf REDLINE basiert, bestimmte METASTEALER-Proben unbeabsichtigt unter die Kategorie REDLINE fallen können.

Überblick über die Top-Diebe

REDLINE (REDLINE-STEALER)

REDLINE tauchte erstmals im Jahr 2020 in der Bedrohungslandschaft auf und nutzte E-Mail als erste Verbreitungsmethode; es arbeitet nach dem Malware-as-a-Service-Modell (MaaS) und ist somit für eine breite Palette von Bedrohungsakteuren zugänglich. Seine Erschwinglichkeit und Verfügbarkeit in Untergrundforen haben zu seiner Popularität unter Cyberkriminellen beigetragen.

Die jüngsten Operationen von REDLINE umfassen mehrere Infektionsvektoren, darunter E-Mail-Phishing, bösartige Websites, die scheinbar legitime Anwendungen hosten, und Social-Engineering-Taktiken. Unsere Forscher analysierten eine kürzlich von vx-underground gemeldete Stichprobe, die auf eine Kampagne hindeutet, die sich gegen Ingenieure auf der Freelance-Plattform Fiverr richtet. Diese Taktik birgt erhebliche Risiken und kann dazu führen, dass Unternehmen durch ahnungslose Freiberufler kompromittiert werden.

REDLINE basiert auf dem .NET-Framework, was für Portabilität und einfache Implementierung sorgt. Es verfügt über eine Vielzahl von Funktionen, die darauf abzielen, wichtige Systeminformationen zu sammeln und sensible Daten zu extrahieren:

  • Systeminformationserfassung:
  • Erfasst wichtige Systemdetails wie Benutzername, Sprache und Zeitzone.
  • Ruft Hardware-Spezifikationen ab, einschließlich Informationen zu Prozessor und Grafikkarte.
  • Überwacht laufende Prozesse und identifiziert installierte Browser.
  • Datenextraktion:
  • Zielt auf Browserdatenspeicher ab und extrahiert gespeicherte Passwörter, Kreditkartendaten, Cookies und Autofill-Einträge.
  • Beschafft VPN-Anmeldeinformationen für unbefugten Zugriff
  • Speichert Benutzerdaten und Chatverläufe von Plattformen wie Discord und Telegram.
  • Identifiziert und stiehlt Kryptowährungs-Wallets und gefährdet dadurch möglicherweise wertvolle digitale Vermögenswerte:

REDLINE verwendet eine String-Verschleierungstechnik, um die Analyse zu erschweren und die Erkennung anhand von Strings wie „yara“ zu umgehen, indem die Strings zur Laufzeit dynamisch aus einem Array von Zeichen konstruiert werden:

Die Konfiguration ist in einer statischen Klasse strukturiert, die vier öffentliche Felder enthält: IP, ID, Message, und einen XOR-Schlüssel. Die Inhalte der Felder IP und ID werden mittels XOR-Verschlüsselung verschlüsselt und anschließend wie unten dargestellt in Base64 kodiert:

METASTEALER

METASTEALER tauchte 2022 auf und wurde zunächst als Ableger von REDLINE mit zusätzlichen Funktionen beworben; unsere Malware-Analysten stießen kürzlich auf ein Exemplar von METASTEALER in einer Kampagne, die sich als Roblox ausgab und zuvor von CERT als Orange Polska gemeldet wurde.

METASTEALER wurde primär unter Verwendung des .NET-Frameworks entwickelt, was die Kompatibilität mit Windows-Umgebungen erleichtert und eine einfache Implementierung ermöglicht. Bestimmte Versionen verwenden Verschleierungsmethoden, darunter die Verschleierung des Kontrollflusses der Malware, wodurch deren Erkennung und Analyse erschwert wird.

Dieses METASTEALER-Beispiel verwendet den AGILE.NET- Obfuskator, insbesondere dessen Proxy-Aufruf-Obfuskierungsmethode. Diese Technik dient dazu, den direkten Aufruf einer ursprünglichen Funktion zu verschleiern, indem eine zusätzliche Abstraktionsebene eingeführt wird. Anstatt die Funktion direkt aufzurufen, generiert AGILE.NET eine Proxy-Methode, die dann die ursprüngliche Funktion aufruft. Diese zusätzliche Komplexität erschwert es Codeanalysten, die Abfolge der Aktionen zu erkennen.

Beim Blick auf den obigen Code sehen wir, dass die Methode Delegate11.smethod_0 eine Delegate11.delegate11_0 aufruft, die nicht initialisiert ist. Dies führt zu Unklarheiten bei der statischen Analyse, da die Analysten nicht feststellen können, welche Methode tatsächlich ausgeführt wird.

Zur Laufzeit initialisiert die Malware den Delegaten. Durch Aufruf der Methode Class4.smethod_13 im Konstruktor der Klasse Delegate11 wird ein Wörterbuch von Token-Werten erstellt, wobei jeder Schlüssel den Token-Wert eines Delegaten (z. B. 0x040002DE) und der entsprechende Wert den Token der auszuführenden Originalmethode darstellt. Dieses Wörterbuch wird aus einer im Binärcode gespeicherten Bytefolge erstellt und ermöglicht so die dynamische Auflösung von Methodenaufrufen zur Laufzeit.

Anschließend wird eine dynamische Methode für den Delegaten generiert und mithilfe der Funktion smethod_0 ausgeführt.

Alle wichtigen Zeichenketten in der Konfiguration, wie die C2-IP-Adresse und der Port, werden verschlüsselt. Die Malware verfügt über eine Klasse namens Strings , die zu Beginn der Ausführung aufgerufen wird, um alle Zeichenketten gleichzeitig zu entschlüsseln. Dieser Prozess beinhaltet eine Kombination aus Base64-Codierung, XOR-Entschlüsselung und AES-CBC-Entschlüsselung.

Zunächst werden die AES-Parameter, wie beispielsweise AES KEY und AES IV, entschlüsselt. Im bereitgestellten Beispiel werden AES KEY und AES IV zuerst Base64-dekodiert. Anschließend werden sie einer XOR-Entschlüsselung mit einem vorbestimmten XOR-Schlüssel unterzogen, gefolgt von zwei aufeinanderfolgenden Base64-Dekodierungsschritten.

Die Klasse Strings enthält Byte-Arrays, die nach der Umkehrung mit AES CBC entschlüsselt und dann an die Liste Strings.Array angehängt werden. Später, wenn die Schadsoftware bestimmte Zeichenketten benötigt, greift sie darauf zu, indem sie diese Liste indiziert. Zum Beispiel String.get(6).

STEALC

Ein neuerer wichtiger Akteur im Stealer-Bereich, der von Sekoia im Februar 2023 entdeckt wurde , ist die STEALC- Familie. Diese Malware wurde erstmals im Januar 2023 in einem Untergrundforum beworben, wo der Entwickler eine große Abhängigkeit von bestehenden Malware-Familien wie VIDAR, RACOON und REDLINE erwähnte. Seit diesem Zeitpunkt beobachtet unser Team täglich neue STEALC-Proben, die Anzeichen für Popularität und Verbreitung durch Cyberkriminelle zeigen.

STEALC ist in C implementiert und beinhaltet Funktionen wie dynamische Importe, String-Verschleierung und verschiedene Anti-Analyse-Prüfungen, bevor die Datendiebstahlfunktionen aktiviert werden. Um die Binärdatei und ihre Kernfunktionen zu schützen, verschlüsselt STEALC seine Zeichenketten mit einer Kombination aus Base64 und RC4 unter Verwendung eines in jedes Sample eingebetteten, fest codierten Schlüssels.

Für Anti-Analyse-/Anti-Sandbox-Prüfungen innerhalb von STEALC werden 6 separate Funktionen verwendet. Basierend auf der Anzahl der Prozessoren beendet sich STEALC selbst, wenn die Anzahl der aktiven Prozessoren weniger als 2 beträgt.

STEALC führt einen Sandbox-/Emulationstest durch, indem es eine weniger bekannte Windows-API (VirtualAllocExNuma) verwendet, um eine große Speichermenge zuzuweisen. Wenn die API nicht implementiert wird, wird der Prozess abgebrochen.

Die Malware führt eine weitere Sandbox-Prüfung durch, indem sie Werte aus GlobalMemoryStatusEx liest. Nach einer Byteverschiebung anhand der gesammelten Attribute des physischen Speichers wird die Stichprobe beendet, wenn der Wert kleiner als 0x457 ist.

Die Malware wird die Ausführung stoppen, wenn die Sprachkennung mit einer der folgenden LangIDs übereinstimmt:

  • Russian_Russia (0x419)
  • Ukrainian_Ukraine (0x422)
  • Belarusian_Belarus (0x423)
  • Kasachisch_Kasachstan (0x43f)
  • Uzbek_Latin__Usbekistan (0x443)

STEALC beinhaltet auch die Microsoft Defender-Emulationsprüfung; wir haben dies bei vielen Stealern wie beispielsweise LOBSHOT beobachtet. STEALC wird beendet, wenn die folgenden fest codierten Werte innerhalb der Emulationsschicht von Microsoft Defender mit dem Benutzernamen JohnDoe und dem Computernamen HAL9TH übereinstimmen.

Eine der wirkungsvollsten Anti-Analyse-Prüfungen, die mit STEALC einhergeht, ist das Ablaufdatum. Dieser eindeutige Wert wird in die Konfiguration der Malware eingefügt, um sicherzustellen, dass der Stealer nach einem vom Entwickler festgelegten Datum nicht mehr ausgeführt wird. Dies ermöglicht es der Malware, ein geringeres Profil zu wahren, indem kürzere Kampagnenzyklen genutzt und die Ausführung in Sandbox-Umgebungen eingeschränkt wird.

STEALC - Ausführungsablauf

Nach der ersten Ausführung sendet STEALC die anfängliche Hardware-ID des Rechners und empfängt eine Konfiguration vom C2-Server:

f960cc969e79d7b100652712b439978f789705156b5a554db3acca13cb298050efa268fb|done|tested.file|1|1|1|1|1|1|1|1|

Nach dieser Anfrage werden mehrere Anfragen gesendet, um eine aktualisierte Liste der Zielbrowser und Zielbrowsererweiterungen zu erhalten. Nachfolgend ein Beispiel für die Browserkonfiguration; dieses enthält den Zielverzeichnispfad, in dem die sensiblen Daten gespeichert sind.

Google Chrome|\Google\Chrome\User Data|chrome|chrome.exe|Google Chrome Canary|\Google\Chrome SxS\User Data|chrome|chrome.exe|Chromium|\Chromium\User Data|chrome|chrome.exe|Amigo|\Amigo\User Data|chrome|0|Torch|\Torch\User Data|chrome|0|Vivaldi|\Vivaldi\User Data|chrome|vivaldi.exe|Comodo Dragon|\Comodo\Dragon\User Data|chrome|0|EpicPrivacyBrowser|\Epic Privacy Browser\User Data|chrome|0|CocCoc|\CocCoc\Browser\User Data|chrome|0|Brave|\BraveSoftware\Brave-Browser\User Data|chrome|brave.exe|Cent Browser|\CentBrowser\User Data|chrome|0|7Star|\7Star\7Star\User Data|chrome|0|Chedot Browser|\Chedot\User Data|chrome|0|Microsoft Edge|\Microsoft\Edge\User Data|chrome|msedge.exe|360 Browser|\360Browser\Browser\User Data|chrome|0|QQBrowser|\Tencent\QQBrowser\User Data|chrome|0|CryptoTab|\CryptoTab Browser\User Data|chrome|browser.exe|Opera Stable|\Opera Software|opera|opera.exe|Opera GX Stable|\Opera Software|opera|opera.exe|Mozilla Firefox|\Mozilla\Firefox\Profiles|firefox|0|Pale Moon|\Moonchild Productions\Pale Moon\Profiles|firefox|0|Opera Crypto Stable|\Opera Software|opera|opera.exe|Thunderbird|\Thunderbird\Profiles|firefox|0|

An diesem Punkt sammelt STEALC dann eine breite Palette von Opferinformationen. Diese Informationen werden anschließend formatiert, Base64-kodiert und dann über POST-Anfragen mithilfe von Formulardatenfeldern an den C2-Server gesendet.

  • Hardware-ID
  • Produktinformationen zu Windows-Betriebssystemen
  • Prozessor-/RAM-Informationen
  • Benutzername / Computername
  • Lokale Systemzeit / Zeitzone / Standort des Opfers
  • Tastaturlayout
  • Akkuprüfung (wird verwendet, um festzustellen, ob es sich um einen Laptop handelt oder nicht)
  • Desktop-Auflösung, Anzeigeinformationen
  • Installierte Programme, laufende Prozesse

Für die Diebstahlkomponente nutzt STEALC die empfangenen Konfigurationen, um verschiedene wertvolle Informationen zu sammeln, darunter:

  • Browser cookies
  • Anmeldedaten
  • Webdaten
  • Verlauf
  • Kryptowährungs-Wallets

STEALC bietet außerdem verschiedene weitere Konfigurationsoptionen an, darunter:

  • Telegram-Daten
  • Zwietracht
  • Tox
  • Pidgin
  • Dampf
  • Outlook-E-Mails
RedLineStealerMeta-DiebStealc
Zum ersten Mal in freier Wildbahn gesichtet202020222023
AusgangsspracheC#C#C
Durchschnittliche Größe (unverpackt)253 KB278 KB107 KB
String-Verschleierung? Algo?JaJaJa (benutzerdefiniertes RC4 + Base64)

Erkennung

Um die unten aufgeführten Erkennungsfunktionen für diese Bedrohungen mit Elastic Security voll auszuschöpfen, ist die Integration von Elastic Defend und Windows unerlässlich.

ES|QL queries

Die folgende Liste von Such- und Erkennungsabfragen kann verwendet werden, um die Aktivitäten von Datendieben aufzudecken:

  • Identifiziert nicht vertrauenswürdige oder unsignierte ausführbare Dateien, die DNS-Anfragen an Telegram- oder Discord-Domains senden, was auf Versuche der Befehls- und Kontrollkommunikation hindeuten kann.

    from logs-endpoint*
    | where (process.code_signature.trusted == false or process.code_signature.exists == false)
    | where dns.question.name in ("api.telegram.com", "cdn.discordapp.com",
                                    "discordapp.com", "discord.com","discord.gg","cdn.discordapp.com")
    | stats executable_count = count(*) by process.executable, process.name, dns.question.name
    | sort executable_count desc
  • Erkennt verdächtige Aktivitäten, die auf Dateien und Konfigurationen von Krypto-Wallets auf Windows-Systemen abzielen.

    from logs-endpoint.events.file-*
    | where @timestamp > now() - 14 days
    | where host.os.type == "windows"
    and event.category == "file"
    and event.action == "open" 
    and (
      file.path rlike """C:\\Users\\.+\\AppData\\Roaming\\.+\\(Bitcoin|Ethereum|Electrum|Zcash|Monero|Wallet|Litecoin|Dogecoin|Coinbase|Exodus|Jaxx|MyEtherWallet|MetaMask)\\.*"""
      or file.path rlike """C:\\ProgramData\\.+\\(Bitcoin|Ethereum|Electrum|Zcash|Monero|Wallet|Litecoin|Dogecoin|Coinbase|Exodus|Jaxx|MyEtherWallet|MetaMask)\\.*"""
    )
    | keep process.executable, process.name, host.id, file.path, file.name
    | stats number_hosts = count_distinct(host.id), unique_files = count_distinct(file.name) by process.executable
    | where number_hosts == 1 and unique_files >= 3
    | sort number_hosts desc
  • Überwacht den Zugriff auf sensible Browserdaten wie Cookies, Anmeldedaten und Browserverlauf, die auf informationsstehlende Malware-Aktivitäten hinweisen können.

    from logs-endpoint.events.file-*, logs-windows.sysmon_operational-default-*
    | where @timestamp > now() - 14 days
    | where host.os.type == "windows"
    and event.category == "file"
    and event.action in ("open", "modification")
    and (
      file.path rlike "C:\\\\Users\\\\.+\\\\AppData\\\\Local\\\\(Google\\\\Chrome\\\\User Data\\\\.*|Google\\\\Chrome SxS\\\\User Data\\\\.*|Chromium\\\\User Data\\\\.*|Amigo\\\\User Data\\\\.*|Torch\\\\User Data\\\\.*|Vivaldi\\\\User Data\\\\.*|Comodo\\\\Dragon\\\\User Data\\\\.*|Epic Privacy Browser\\\\User Data\\\\.*|CocCoc\\\\Browser\\\\User Data\\\\.*|BraveSoftware\\\\Brave-Browser\\\\User Data\\\\.*|CentBrowser\\\\User Data\\\\.*|7Star\\\\7Star\\\\User Data\\\\.*|Chedot\\\\User Data\\\\.*|Microsoft\\\\Edge\\\\User Data\\\\.*|360Browser\\\\Browser\\\\User Data\\\\.*|Tencent\\\\QQBrowser\\\\User Data\\\\.*|CryptoTab Browser\\\\User Data\\\\.*|Opera Software\\\\Opera Stable\\\\.*|Opera Software\\\\Opera GX Stable\\\\.*)\\\\(Default|Profile \\\\d+)\\\\(Cookies|Login Data|Web Data|History|Bookmarks|Preferences|Visited Links|Network Action Predictor|Top Sites|Favicons|Shortcuts)"
      or file.path rlike "C:\\\\Users\\\\.+\\\\AppData\\\\Roaming\\\\Mozilla\\\\Firefox\\\\Profiles\\\\.*\\\\(cookies.sqlite|logins.json|places.sqlite|key4.db|cert9.db)"
      or file.path rlike "C:\\\\Users\\\\.+\\\\AppData\\\\Roaming\\\\Moonchild Productions\\\\Pale Moon\\\\Profiles\\\\.*\\\\(cookies.sqlite|logins.json|places.sqlite|key3.db|cert8.db)"
      or file.path rlike "C:\\\\Users\\\\.+\\\\AppData\\\\Roaming\\\\Thunderbird\\\\Profiles\\\\.*\\\\(cookies.sqlite|logins.json|key4.db|cert9.db)"
    )
    | keep process.executable, process.name, event.action, host.id, host.name, file.path, file.name
    | eval process_path = replace(process.executable, "([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|ns[a-z][A-Z0-9]{3,4}\\.tmp|DX[A-Z0-9]{3,4}\\.tmp|7z[A-Z0-9]{3,5}\\.tmp|[0-9\\.\\-_]{3,})", "")
    | eval process_path = replace(process_path, "[cC]:\\\\[uU][sS][eE][rR][sS]\\\\[a-zA-Z0-9\\.\\-_\\$~ ]+\\\\", "C:\\\\users\\\\user\\\\")
    | eval normalized_file_path = replace(file.path, "[cC]:\\\\[uU][sS][eE][rR][sS]\\\\[a-zA-Z0-9\\.\\-_\\$~ ]+\\\\", "C:\\\\users\\\\user\\\\")
    | stats number_hosts = count_distinct(host.id) by process.executable, process.name, event.action, normalized_file_path, file.name, host.name
    | where number_hosts == 1
    | sort number_hosts desc

YARA-Regeln

Fazit

Zusammenfassend ist es wichtig zu erkennen, dass diese Malware-Bedrohungen sowohl für Unternehmen als auch für Einzelpersonen erhebliche Risiken darstellen. Durch ihren günstigen Preis sind sie nicht nur für versierte Cyberkriminelle, sondern auch für Kleinkriminelle und Scriptkiddies zugänglich. Diese Zugänglichkeit unterstreicht die Demokratisierung der Cyberkriminalität, bei der selbst Personen mit begrenzten technischen Kenntnissen Schadsoftware einsetzen können.

Die umfassende Suite an Sicherheitsfunktionen von Elastic bietet Organisationen und Einzelpersonen die Werkzeuge, die sie benötigen, um sich effektiv gegen Malware-Angriffe zu verteidigen. Von fortschrittlicher Bedrohungserkennung bis hin zu Echtzeit-Überwachungs- und Reaktionsfunktionen.