Die Forscher von ESET beobachteten ab 2023 mehrere Kampagnen gegen thailändische Regierungseinrichtungen. Die Angriffe nutzten modifizierte Komponenten, die zuvor der chinesischen APT-Gruppe Mustang Panda zugeschrieben wurden. Später kamen neue Tools hinzu, die Dienste wie Pastebin, Dropbox, OneDrive und GitHub missbrauchten. Diese führen Befehle auf kompromittierten Computern aus und exfiltrieren sensible Dokumente.

Basierend auf unseren Erkenntnissen ordnen wir diese Aktivitäten einem separaten Bedrohungsakteur zu. Die häufige Verwendung der Zeichenfolge [Bb]ectrl im Code hat uns zum Namen CeranaKeeper inspiriert. Dies ist ein Wortspiel aus "Beekeeper" (Imker) und der Bienenart Apis Cerana, der asiatischen Honigbiene.

Die wichtigsten Punkte dieses Blogposts:
  • ESET-Forscher entdeckten einen neuen, mit China verbündeten Bedrohungsakteur, CeranaKeeper, der es auf Regierungseinrichtungen in Thailand abgesehen hat. Einige seiner Tools wurden zuvor von anderen Forschern Mustang Panda zugeschrieben.
  • Die Gruppe aktualisiert ständig ihre Backdoor, um der Entdeckung zu entgehen, und variiert ihre Methoden, um eine massive Datenexfiltration zu unterstützen.
  • CeranaKeeper missbraucht beliebte, legitime Cloud- und File-Sharing-Dienste wie Dropbox und OneDrive, um benutzerdefinierte Backdoors und Extraktions-Tools zu implementieren.
  • Die Gruppe nutzt die Pull-Request- und Issue-Comment-Funktionen von GitHub, um eine getarnte Reverse Shell zu erstellen. GitHub, eine beliebte Online-Plattform für den Austausch und die gemeinsame Arbeit an Code, dient dabei als C&C-Server.

CeranaKeeper ist seit mindestens Anfang 2022 aktiv. Die Gruppe zielt vor allem auf staatliche Einrichtungen in asiatischen Ländern wie Thailand, Myanmar, Philippinen, Japan und Taiwan. Wir vermuten eine Ausrichtung auf chinesische Interessen. Bemerkenswert ist die unermüdliche Datenjagd der Gruppe. Die Angreifer setzen eine Vielzahl von Werkzeugen ein, um möglichst viele Informationen aus kompromittierten Netzwerken zu extrahieren. In der analysierten Operation verwandelte die Gruppe kompromittierte Maschinen in Update-Server. Sie entwickelte eine neue Technik für eine versteckte Reverse Shell unter Verwendung von GitHub-Funktionen. Außerdem verwendete sie Einwegkomponenten, um ganze Dateistrukturen zu sammeln.

Wir haben CeranaKeeper kurz im ESET APT Activity Report Q4 2023-Q1 2024 vorgestellt, der im Mai 2024 veröffentlicht wurde. In diesem Blog-Eintrag beschreiben wir die bisher undokumentierten, maßgeschneiderten Tools von CeranaKeeper. Wir teilen weitere Erkenntnisse über die Operationen dieses Bedrohungsakteurs.

Einige unserer Erkenntnisse über CeranaKeeper und den Angriff in Thailand präsentierten wir auf derVirus Bulletin-Konferenz am2. Oktober 2024 und in unserem Whitepaper vorgestellt, das Sie hier vollständig lesen können. Diesen Monat wird Virus Bulletin auch unser White Paper zu diesem Thema auf seiner Website veröffentlichen.

Namensnennung

Während einige der Aktivitäten von CeranaKeeper zuvor von Talos, Trend Micro und Palo Alto Networks Unit 42 dem Mustang Panda (auch bekannt als Earth Preta oder Stately Taurus) zugeschrieben wurden, haben wir beschlossen, diese Aktivitäten als das Werk von CeranaKeeper zu betrachten. Wir glauben, dass CeranaKeeper das öffentlich dokumentierte Toolset "bespoke stagers" (oder TONESHELL) verwendet. Die Gruppe nutzt intensiv die Sideloading-Technik und eine spezielle Befehlssequenz zur Datenexfiltration. Die Verwendung von politischen Ködern und PlugX-Komponenten schreiben wir MustangPanda zu. Trotz einiger Ähnlichkeiten konnten wir deutliche organisatorische und technische Unterschiede zwischen den Gruppen feststellen. Diese spiegeln sich in ihren Toolsets, Infrastrukturen, operativen Praktiken und Kampagnen wider. Auch die Herangehensweise an ähnliche Aufgaben unterscheidet sich.

CeranaKeeper verwendet in seinen Operationen die gruppenspezifischen Komponenten TONEINS, TONESHELL und PUBLOAD. Die Gruppe zeichnet sich durch Kreativität und Anpassungsfähigkeit bei den Angriffen aus. Sie verwendet überarbeitete Versionen der oben genannten Komponenten und neue Tools, die Dienste wie Pastebin, Dropbox, OneDrive und GitHub missbrauchen.Wir beschreiben diese Tools im Abschnitt "Toolset zur Unterstützung der massiven Exfiltration ".

Die Gruppe hat Metadaten im Code hinterlassen, die Einblick in ihren Entwicklungsprozess geben. Dies bestätigt unsere Trennung der Gruppen und die Zuordnung zu CeranaKeeper. Beide Akteure könnten auf denselben Drittanbieter für Deployment-Tools zurückgreifen. Dies ist nicht ungewöhnlich für China-nahe Gruppen. Auch ein gewisser Informationsaustausch könnte die beobachteten Verbindungen erklären. Wir halten dies für wahrscheinlicher als einen einzelnen Akteur mit zwei völlig getrennten Toolsets, Infrastrukturen, Praktiken und Kampagnen.

Kompromittierung von Rechnern im selben Netzwerk

Die Angriffsvektoren von CeranaKeeper im untersuchten Fall sind noch unbekannt. Mitte 2023 verschaffte sich die Gruppe Zugang zum Netzwerk einer thailändischen Regierungsinstitution. Eine kompromittierte Maschine führte Brute-Force-Angriffe gegen einen Domain-Controller-Server im lokalen Netzwerk durch. 

Nach Erlangung privilegierter Zugriffsrechte installierten die Angreifer die TONESHELL Backdoor. Sie verwendeten ein Tool zum Auslesen von Zugangsdaten. Mit einem legitimen Avast-Treiber und einer angepassten Anwendung deaktivierten sie Sicherheitsprodukte. Vom kompromittierten Server aus verteilten und aktivierten sie ihre Hintertür auf anderen Netzwerkcomputern. CeranaKeeper nutzte den Server auch, um TONESHELL-Updates zu speichern.

Die Gruppe verteilte ein neues BAT-Skript im Netzwerk. Unter Ausnutzung des Domain-Controllers erlangte sie Domain-Admin-Rechte für weitere Rechner. Dies ermöglichte es CeranaKeeper, zur nächsten Phase der Operation überzugehen: der massiven Datensammlung.

Toolset zur Unterstützung der massiven Exfiltration

Nach der Verbreitung der TONESHELL Backdoor und einigen seitlichen Bewegungen scheinen die Angreifer einige interessante kompromittierte Computer ausgewählt zu haben. Auf diesen installierten sie undokumentierte, maßgeschneiderte Tools. Diese Tools dienten zur Exfiltration von Dokumenten auf öffentliche Speicherdienste und als alternative Backdoors. Die beschriebenen Backdoors und Exfiltrationstools wurden nur auf gezielt ausgewählten Rechnern eingesetzt.

WavyExfiller: Ein Python-Uploader, der Dropbox und PixelDrain missbraucht

Die erste einer Reihe unbekannter Komponenten, die wir im Juni 2023 entdeckten, ist WavyExfiller, ein Python-Paket, das mit PyInstaller zu einer ausführbaren Datei gebündelt wurde und eine direkte Python-Implementierung der von Unit 42 beschriebenen Exfiltrationsmethode darstellt. Wir haben diese Komponente aufgrund der .wav-Erweiterung einer lokalen Datei, die Suchmasken zur Identifizierung und Komprimierung von exportfähigen Dokumenten enthält, WavyExfiller genannt. Die mit PyInstaller gebündelte ausführbare Datei heißt SearchApp.exe (SHA-256: E7B6164B6EC7B7552C93713403507B531F625A8C64D36B60D660D66E82646696).

Das Modul hat drei Hauptfunktionen: Abrufen eines verschlüsselten Dropbox-Tokens von einer Pastebin-Seite (einem Online-Dienst zum Speichern und Freigeben von Klartextdaten), Erstellen passwortgeschützter Archive von Dokumenten, die sich in den Verzeichnissen der Benutzer befinden, und Hochladen dieser Archive zu Dropbox.

Im Oktober 2023 beobachteten wir eine Variante (SHA-256: 451EE465675E674CEBE3C42ED41356AE2C972703E1DC7800A187426A6B34EFDC), die unter dem Namen oneDrive.exe gespeichert wurde. Trotz seines Namens verwendet diese Version den File-Sharing-Dienst PixelDrain, um die archivierten Dateien zu exfiltrieren. Genau wie die oben erwähnte SearchApp.exe prüft diese Variante das Laufwerk C, das in der Regel das Betriebssystem, die installierten Programme und die Dokumente der lokalen Benutzer enthält. Darüber hinaus versucht oneDrive.exe, Dateien von zugeordneten Laufwerken zu sammeln, die von Buchstabe D bis N (außer L) reichen, wie in Abbildung 1 dargestellt. Dabei kann es sich um angeschlossene externe Speichergeräte wie USBs und Festplatten, vernetzte Laufwerke in einer Büroumgebung oder virtuelle Laufwerke handeln, die von einer bestimmten Software erstellt wurden. Dies zeigt, dass CeranaKeeper seine Gier gesteigert hat und versucht, andere potenzielle oder bekannte Informationsquellen zu erreichen. Es ist jedoch unklar, ob die Exfiltrationsoperation erfolgreich war, da eine Überprüfung der hochgeladenen Dateien auf PixelDrain über die offene API nicht möglich ist.

Abbildung 1. Traversieren und Sammeln von Dateien aus einer Liste von Laufwerken

DropboxFlop: Eine Python-Backdoor, die Dropbox missbraucht

Im Oktober 2023, etwa zur gleichen Zeit, als wir die PixelDrain-Variante entdeckten, entdeckten wir eine neue PyInstaller-gebündelte ausführbare Datei mit dem SHA-256-Hash DAFAD19900FFF383C2790E017C958A1E92E84F7BB159A2A7136923B715A4C94F. Es scheint, dass CeranaKeeper es auf der Grundlage eines öffentlich zugänglichen Projekts namens Dropflop erstellt hat, das eine Reverse Shell mit Upload- und Download-Funktionen ist. Die kompilierte Python-Datei heißt dropboxflop.pyc. Die Hintertür ruft ein verschlüsseltes Dropbox-Token ab und ist auf Dateien im entfernten Dropbox-Repository angewiesen, um Befehle auf dem Computer auszuführen. Sie erstellt lokal einen eindeutigen Ordner und erzeugt einen "Heartbeat", indem sie die entfernte Datei namens lasttime alle 15 Sekunden aktualisiert. Außerdem wird nach einer Datei namens tasks gesucht, die, wenn sie gefunden wird, heruntergeladen und als JSON-Datei geparst wird. Es sind zwei Arten von Aufgaben implementiert: Befehlsausführung und Dateiupload. Nach Abschluss sendet die Hintertür die Ergebnisse, indem sie den Inhalt der Dateiausgabe aktualisiert.

OneDoor: Eine C++-Backdoor, die OneDrive missbraucht

Wenige Tage nach der Bereitstellung der Python-Backdoor DropboxFlop meldete sich CeranaKeeper mit einer statisch gelinkten C/C++-Backdoor, die OneDrive missbraucht und die wir OneDoor genannt haben. Das Beispiel (SHA-256: 3F81D1E70D9EE39C83B582AC3BCC1CDFE038F5DA31331CDBCD4FF1A2D15BB7C8) heißt OneDrive.exe. Die Datei ahmt die legitime ausführbare Datei von Microsoft nach, wie in der Eigenschaftsansicht in Abbildung 2 dargestellt.

Abbildung 2. Eigenschaften der OneDoor-Datei

OneDoor verhält sich ähnlich wie die DropboxFlop-Backdoor, verwendet jedoch die OneDrive REST API der Microsoft Graph API, um Befehle zu empfangen und Dateien zu exfiltrieren.

OneDoor erstellt eine Protokolldatei und versucht, auf eine Datei namens config.ini zuzugreifen. Wenn diese nicht vorhanden ist, verwendet OneDoor einen hartkodierten Puffer. Die Datei oder der Puffer beginnt mit einem Schlüssel und einem Initialisierungsvektor, die zur Entschlüsselung der restlichen Daten mit AES-128 im CBC-Modus verwendet werden. Der Klartext enthält eine URL, die die Malware in einer HTTP-GET-Anfrage verwendet. Die Antwort enthält ein OneDrive-Token, das in nachfolgenden Anfragen an Microsoft OneDrive verwendet wird.

OneDoor ruft auch die ID eines Ordners namens approot ab, der zum Speichern von Anwendungsdaten verwendet wird.

Ähnlich wie bei der Datei config.ini versucht die Malware, auf eine Datei namens errors.log zuzugreifen. Wenn die Datei nicht existiert, wird ein hartkodierter Puffer verwendet. Der Inhalt der Datei oder des Puffers wird entschlüsselt; die Klartextdaten enthalten einen öffentlichen 1024-Bit-RSA-Schlüssel. Es wird ein Schlüssel-IV-Paar erzeugt, mit RSA verschlüsselt und in den entfernten Approot-Ordner hochgeladen. Dieses Paar wird zum Ver- und Entschlüsseln von Daten verwendet.

Schließlich ruft die Malware Listen von Dateien aus zwei Ordnern auf OneDrive ab, E und F. Für jede Liste wird ein Thread gestartet, der die Dateien herunterlädt und entschlüsselt. Die im Ordner E gespeicherten Dateien enthalten auszuführende Befehle, während die im Ordner F gespeicherten eine Liste von Dateien enthalten, die hochgeladen werden sollen. Die Ergebnisse dieser Vorgänge werden verschlüsselt und in einem dritten OneDrive-Ordner, D, gespeichert. Die ursprünglichen Dateien werden dann aus OneDrive gelöscht.

BingoShell: Eine Python-Hintertür, die GitHub missbraucht

Wir haben das neueste Exemplar des Exfiltrationstoolsets der Gruppe im Februar 2024 beobachtet und es BingoShell genannt, weil die Zeichenfolge bingo# im Titel einer von ihm erstellten GitHub-Pull-Request (PR) verwendet wird. Das analysierte Beispiel (SHA-256: 24E12B8B1255DF4E6619ED1A6AE1C75B17341EEF7418450E661B74B144570017) ist eine Datei namens Update.exe, die ein Microsoft Office-Logo als Symbol verwendet, wie in Abbildung 3 zu sehen ist. Dem Zeitstempel der PE-Kompilierung zufolge wurde sie offenbar Ende Januar 2024 erstellt.

Abbildung 3. Die BingoShell-Backdoor ahmt die Microsoft Office-Anwendung nach

BingoShell ist eine in Python geschriebene Hintertür, die GitHub nutzt, um kompromittierte Computer zu kontrollieren. Sobald sie ausgeführt wird, verwendet sie ein fest codiertes Token, um auf ein privates GitHub-Repository zuzugreifen. Dem ersten Commit des Hauptzweigs zufolge wurde das Repository wahrscheinlich am 24. Januar 2024 erstellt. BingoShell erstellt einen neuen Zweig im Repository und einen entsprechenden Pull-Request. Die Hintertür liest Kommentare zu dem neu erstellten PR, um Befehle zu erhalten, die auf dem kompromittierten Computer ausgeführt werden sollen (siehe Abbildung 4).

Abbildung 4. Code zum Abrufen von Befehlen, die in Ausgabekommentaren gespeichert sind

Dies demonstriert eine neue verdeckte Technik zur Nutzung von GitHub als Command-and-Control-Server (C&C) und zeigt die Raffinesse der Angreifer, die nach dem Schließen von Pull-Requests und dem Entfernen von Kommentaren aus dem Repository aufgeräumt haben.

Jeder neue Zweig, der von BingoShell im privaten GitHub-Repository erstellt wurde, sollte einen Zugriff auf einen kompromittierten Computer darstellen. Da wir 25 geschlossene Pull-Requests entdeckten (siehe Abbildung 5), konnten wir daraus schließen, dass CeranaKeeper über BingoShell Zugriff auf 25 kompromittierte Rechner hatte.

Abbildung 5. Aufzählung der Pull-Requests

Schlussfolgerung

Die APT-Gruppe CeranaKeeper, die hinter den Angriffen auf die thailändische Regierung steht, scheint besonders unerbittlich zu sein. Die Vielzahl der von der Gruppe verwendeten Tools und Techniken werden in rasantem Tempo weiterentwickelt. Die Betreiber schreiben und überarbeiten ihr Toolset je nach Bedarf für ihre Operationen und reagieren recht schnell, um einer Entdeckung zu entgehen. Das Ziel dieser Gruppe ist es, so viele Dateien wie möglich zu erbeuten, und sie entwickelt zu diesem Zweck spezielle Komponenten. CeranaKeeper nutzt Cloud- und File-Sharing-Dienste für die Exfiltration. Die Hacker verlassen sich wahrscheinlich darauf, dass der Datenverkehr zu diesen beliebten Diensten meist legitim erscheint und schwerer zu blockieren ist, wenn er identifiziert wird.

Im Laufe unserer Untersuchungen konnten wir starke Verbindungen zwischen den zuvor dokumentierten und den neuen Toolsets und einem gemeinsamen Bedrohungsakteur herstellen. Die Überprüfung der Taktiken, Techniken und Verfahren (TTPs) des Codes und der Diskrepanzen in der Infrastruktur führt uns zu der Überzeugung, dass wir CeranaKeeper und MustangPanda als zwei getrennte Einheiten weiter verfolgen. Beide mit China verbündeten Gruppen könnten jedoch Informationen und eine Untergruppe von Tools in einem gemeinsamen Interesse oder über dieselbe dritte Partei austauschen.

Die von uns untersuchte gezielte Kampagne gab uns Einblicke in die Operationen von CeranaKeeper. Künftige Kampagnen werden wahrscheinlich noch mehr enthüllen, da die Gruppe weiterhin auf der Suche nach sensiblen Daten ist.

Für eine detailliertere Analyse der von CeranaKeeper eingesetzten Tools können Sie das vollständige Whitepaper von ESET Research hier abrufen.

Wenn Sie Fragen zu unseren auf WeLiveSecurity veröffentlichten Untersuchungen haben, kontaktieren Sie uns bitte unter threatintel@eset.com.
ESET Research bietet private APT Intelligence Reports und Datenfeeds an. Wenn Sie Fragen zu diesem Service haben, besuchen Sie die ESET Threat Intelligence Seite.

IoCs

Eine umfassende Liste von Kompromittierungsindikatoren (IoCs) und Beispielen finden Sie in unserem GitHub-Repository.

Dateien

SHA-256 Filename Detection Description
B25C79BA507A256C9CA12A9BD34DEF6A33F9C087578C03D083D7863C708ECA21 EACore.dll

Win32/Agent.VJO

YK0130 reverse shell.

E7B6164B6EC7B7552C93713403507B531F625A8C64D36B60D660D66E82646696 SearchApp.exe

Python/Agent.AGT

WavyExfiller.

3F81D1E70D9EE39C83B582AC3BCC1CDFE038F5DA31331CDBCD4FF1A2D15BB7C8 OneDrive.exe

Win32/Agent.VKV

OneDoor.

DAFAD19900FFF383C2790E017C958A1E92E84F7BB159A2A7136923B715A4C94F dropbox.exe

Python/Agent.AQN

PyInstaller DropFlop.

24E12B8B1255DF4E6619ED1A6AE1C75B17341EEF7418450E661B74B144570017 Update.exe

Python/Agent.AJJ

BingoShell.

451EE465675E674CEBE3C42ED41356AE2C972703E1DC7800A187426A6B34EFDC oneDrive.exe

Python/Agent.AGP

WavyExfiller PixelDrain variant.

E6AB24B826C034A6D9E152673B91159201577A3A9D626776F95222F01B7C21DB MsOcrRes.orp

Win32/Agent.AFWW

TONESHELL type B.

6655C5686B9B0292CF5121FC6346341BB888704B421A85A15011456A9A2C192A avk.dll

Win32/Agent.VJQ

TONESHELL variant.

B15BA83681C4D2C2716602615288B7E64A1D4A9F4805779CEBDF5E6C2399AFB5 TurboActivate.dll

Win32/Agent.AFWX

TONESHELL loader.

Netzwerk

IP  Domain  Hosting provider  First seen  Details 
104.21.81[.]233 
172.67.165[.]197 
www.toptipvideo[.]com  CLOUDFLARENET (AS13335)  2023‑08‑14  C&C server for the YK0130 reverse shell. 
103.245.165[.]237  dljmp2p[.]com 
inly5sf[.]com 
Bangmod Enterprise administrator (AS58955)  2023‑04‑21  C&C servers for TONESHELL variants. 
103.27.202[.]185  www.dl6yfsl[.]com  Bangmod Enterprise administrator (AS58955)  2023‑08‑10  C&C server for TONEINS variant. 
103.27.202[.]185  www.uvfr4ep[.]com  Bangmod Enterprise administrator (AS58955)  2023‑09‑22  C&C server for TONEINS variant. 

MITRE ATT&CK-Techniken

Diese Tabelle wurde mit der Version 15 des MITRE ATT&CK Frameworks erstellt.

Tactic  ID  Name  Description 
Resource Development  T1583.001  Acquire Infrastructure: Domains  CeranaKeeper acquired domains for some of its C&C servers. 
T1583.003  Acquire Infrastructure: Virtual Private Server  CeranaKeeper acquired access to a VPS to serve as a C&C server. 
T1587.001  Develop Capabilities: Malware  CeranaKeeper develops its own components. 
T1585.003  Establish Accounts: Cloud Accounts  CeranaKeeper acquired cloud accounts for exfiltration purposes. 
Execution  T1072  Software Deployment Tools  CeranaKeeper abuses the ESET Remote Administration console to perform lateral movement. 
Persistence  T1547.001  Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder  The YK0130 reverse shell establishes persistence via the registry Run key. 
T1574.002  Hijack Execution Flow: DLL Side-Loading  Most components come as side-loaded libraries along with the legitimate program. 
Defense Evasion  T1140  Deobfuscate/Decode Files or Information  Configuration files used by the OneDrive backdoor are encrypted. 
T1036.005  Masquerading: Match Legitimate Name or Location  CeranaKeeper uses legitimate library names to blend in. 
Collection  T1560.001  Archive Collected Data: Archive via Utility  WavyExfiller uses WinRAR to compress collected data. 
T1005  Data from Local System  WavyExfiller collects data from the local drive (C:). 
T1039  Data from Network Shared Drive  WavyExfiller collects data from network shares. 
T1074.001  Data Staged: Local Data Staging  Collected data is archived in a special folder before being uploaded. 
Command and Control  T1071.001  Application Layer Protocol: Web Protocols  The different backdoors communicate using HTTP/S. 
T1132.002  Data Encoding: Non-Standard Encoding  The network protocol used by the YK0130 reverse shell employs custom, XOR-based encoding. 
T1573.001  Encrypted Channel: Symmetric Cryptography  AES-128 mode CBC is used by the OneDrive backdoor to encrypt network communication. 
T1573.002  Encrypted Channel: Asymmetric Cryptography  The generated key and IV for the OneDrive backdoor are encrypted via RSA. 
T1090.001  Proxy: Internal Proxy  One of the variants of the YK0130 reverse shell implements a reverse proxy. 
T1102.002  Web Service: Bidirectional Communication  OneDrive and Dropbox are used as C&C servers. 
Exfiltration  T1567.002  Exfiltration Over Web Service: Exfiltration to Cloud Storage  Collected data are exfiltrated via cloud services.