ESET-Forscher haben eine Kampagne entdeckt, die wir der als Evasive Panda bekannten APT-Gruppe zuschreiben. Dabei wurden Update-Kanäle legitimer Anwendungen auf mysteriöse Weise gekapert, um das Installationsprogramm für die MgBot-Malware, das Flaggschiff von Evasive Panda, zu liefern.

Die wichtigsten Punkte des Berichts:

  • Nutzer auf dem chinesischen Festland wurden mit Malware infiziert, die über Updates für von chinesischen Unternehmen entwickelte Software verbreitet wurde.
  • Wir analysieren die konkurrierenden Hypothesen darüber, wie die Malware an die Zielnutzer gelangt sein könnte.
  • Mit hoher Wahrscheinlichkeit schreiben wir diese Aktivität der APT-Gruppe Evasive Panda zu.
  • Wir geben einen Überblick über Evasive Pandas Signatur-Backdoor MgBot und ihr Toolkit mit Plugin-Modulen.

Evasive Panda

Evasive Panda (auch bekannt als BRONZE HIGHLAND und Daggerfly) ist eine chinesischsprachige APT-Gruppe, die mindestens seit 2012 aktiv ist. ESET Research hat beobachtet, dass die Gruppe Cyberspionage gegen Einzelpersonen auf dem chinesischen Festland, in Hongkong, Macao und Nigeria durchführt. Staatliche Einrichtungen wurden in China, Macao und südost- und ostasiatischen Ländern, insbesondere Myanmar, den Philippinen, Taiwan und Vietnam, ins Visier genommen, während andere Organisationen in China und Hongkong ebenfalls betroffen waren. Öffentlichen Berichten zufolge hat die Gruppe auch unbekannte Einrichtungen in Hongkong, Indien und Malaysia ins Visier genommen.

Die Gruppe implementiert ihr eigenes, maßgeschneidertes Malware-Framework mit einer modularen Architektur, die es ihrer als MgBot bezeichneten Backdoor ermöglicht, Module zu erhalten, um ihre Opfer auszuspionieren und ihre Fähigkeiten zu verbessern.

Kampagnen-Übersicht

Im Januar 2022 entdeckten wir, dass eine legitime chinesische Anwendung bei der Durchführung von Updates ein Installationsprogramm für die Evasive Panda Backdoor MgBot enthalten hatte. Bei unserer Untersuchung stellten wir fest, dass die böswilligen Aktivitäten bis ins Jahr 2020 zurückreichen.

Chinesische Nutzer standen im Mittelpunkt dieser bösartigen Aktivitäten, die laut ESET-Telemetrie im Jahr 2020 begannen und im Jahr 2021 fortgesetzt wurden. Die betroffenen Nutzer befanden sich in den Provinzen Gansu, Guangdong und Jiangsu, wie in Abbildung 1 zu sehen ist.

Abbildung 1. Karte von China, die zeigt, wo die Nutzer angesprochen wurden

Die meisten der chinesischen Opfer sind Mitglieder einer internationalen Nicht-Regierungsorganisation (NRO oder engl. NGO), die in zwei der genannten Provinzen tätig ist. Ein weiteres Opfer befand sich in Nigeria.

Attribution

Evasive Panda verwendet eine benutzerdefinierte Backdoor namens MgBot, die 2014 öffentlich dokumentiert wurde und seither kaum weiterentwickelt wurde. Bei den von uns untersuchten Fällen wurde nur die MgBot-Malware zusammen mit ihrem Toolkit aus Plugins auf den betroffenen Computern installiert. Daher können wir diese Aktivitäten mit großer Sicherheit Evasive Panda zuschreiben.

Technische Analyse

Bei unserer Untersuchung stellten wir fest, dass eine legitime Anwendungssoftwarekomponente bei der Durchführung automatischer Updates MgBot-Backdoor-Installationsprogramme von legitimen URLs und IP-Adressen heruntergeladen haben.

Unter Tabelle 1 geben wir die URL an, von der der Download laut ESET-Telemetriedaten ausging, einschließlich der IP-Adressen der Server, wie sie zum Zeitpunkt des Downloads vom System des Benutzers aufgelöst wurde. Deshalb gehen wir davon aus, dass diese IP-Adressen legitim sind. Den passiven DNS-Einträgen zufolge stimmen alle diese IP-Adressen mit den beobachteten Domains überein, weshalb wir davon ausgehen, dass diese IP-Adressen ebenfalls echt sind.

Tabelle 1. Download-Quellen laut ESET-Telemetrie

URL First seen Domain IP ASN Downloader
http://update.browser.qq[.]com/qmbs/QQ/QQUrlMgr_QQ88_4296.exe 2020‑11‑02 123.151.72[.]74 AS58542
QQUrlMgr.exe
QQ.exe
QQLive.exe
QQCall<XX>.exe
 
183.232.96[.]107 AS56040
61.129.7[.]35 AS4811

Hypothesen zur Kompromittierung

Als wir die Wahrscheinlichkeit verschiedener Methoden analysierten, die erklären könnten, wie es den Angreifern gelang, Malware über legitime Updates zu verbreiten, blieben zwei Szenarien übrig: Kompromittierung der Lieferkette und Adversary-in-the-Middle-Angriffe. Für beide Szenarien werden wir auch Vorläufer ähnlicher Angriffe durch andere chinesischsprachige APT-Gruppen berücksichtigen.

Tencent QQ ist ein beliebter chinesischer Chat- und Social-Media-Dienst. In den nächsten Abschnitten verwenden wir den Tencent QQ Windows Client Software Updater, QQUrlMgr.exe (aufgeführt in Tabelle 1), für unsere Beispiele, da wir die höchste Anzahl an Erkennungen von Downloads durch diese spezielle Komponente haben.

Szenario: Supply Chain Kompromittierung

Angesichts des zielgerichteten Charakters der Angriffe vermuten wir, dass die Angreifer die QQ-Updateserver kompromittiert haben mussten, um einen Mechanismus einzuführen, der gezielt Nutzer identifiziert, um ihnen die Malware zukommen zu lassen. Dabei wurden die Nutzer herausgefiltert, die nicht im Visier der Angreifer standen und mit legitimen Updates versorgt. Wir haben Fälle registriert, in denen legitime Updates über die gleichen missbrauchten Protokolle heruntergeladen wurden.

Auch wenn es sich nicht um einen Fall von Evasive Panda handelt, so findet sich doch ein hervorragendes Beispiel für diese Art der Kompromittierung in unserem Bericht Operation NightScout: Supply-Chain-Angriff auf Online-Gamer, bei dem Angreifer die Update-Server eines in Hongkong ansässigen Software-Entwicklungsunternehmens kompromittierten. Unseren Telemetriedaten zufolge hatten mehr als 100.000 Nutzer die BigNox-Software installiert, aber nur bei fünf von ihnen wurde Malware über ein Update ausgeliefert. Wir vermuten, dass die Angreifer die BigNox-API auf dem Update-Server missbraucht haben, um der Updater-Komponente auf den Computern der betroffenen Benutzer eine URL zu einem Server zu schicken, auf dem die Angreifer ihre Malware gehostet haben.

Ausgehend von dieser Vorgeschichte, zeigen wir in Abbildung 2 wie sich das Szenario der Kompromittierung der Lieferkette nach den Beobachtungen in unserer Telemetrie entwickelt haben könnte. Dennoch müssen wir den Leser warnen, dass dies reine Spekulation ist und auf unserer statischen Analyse von QQUrlMgr.exe (SHA-1: DE4CD63FD7B1576E65E79D1D10839D676ED20C2B) mit sehr begrenzten Informationen basiert.

Abbildung 2. Sequenzdiagramm der möglichen Kompromittierung der Lieferkette

Es ist auch erwähnenswert, dass wir während unserer Untersuchung nie in der Lage waren, ein Sample der XML-"Update"-Daten - weder legitime noch eine bösartige - von dem von QQUrlMgr.exe kontaktierten Server abzurufen. Die URL für die "Update-Prüfung" ist in verschleierter Form in der ausführbaren Datei fest einkodiert, wie in Abbildung 3 zu sehen ist.

Abbildung 3. Verschleierte URL in der legitimen Binärdatei QQUrlMgr.exe

Entschlüsselt lautet die vollständige URL der Update-Püfung:

http://c.gj.qq[.]com/fcgi-bin/busxml?busid=20&supplyid=30088&guid=CQEjCF9zN8Zdyzj5S6F1MC1RGUtw82B7yL+hpt9/gixzExnawV3y20xaEdtektfo&dm=0

Der Server antwortet mit XML-formatierten Daten, die mit base64 kodiert und mit einer Implementierung des TEA-Algorithmus mit einem 128-Bit-Schlüssel verschlüsselt sind. Diese Daten enthalten Anweisungen zum Herunterladen und Ausführen einer Datei sowie weitere Informationen. Da der Entschlüsselungsschlüssel ebenfalls hart kodiert ist, wie in Abbildung 4 dargestellt ist, könnte er den Angreifern bekannt sein.

Abbildung 4. Hardcodierter Schlüssel in der legitimen Binärdatei QQUrlMgr.exe

QQUrlMgr.exe lädt dann die angegebene Datei unverschlüsselt über HTTP herunter und verschlüsselt ihren Inhalt mit dem MD5-Algorithmus. Das Ergebnis wird mit einem Hash verglichen, der in den XML-Daten der Antwort der Update-Prüfung enthalten ist, wie in Abbildung 5 gezeigt. Wenn die Hashes übereinstimmen, führt QQUrlMgr.exe die heruntergeladene Datei aus. Dies untermauert unsere Hypothese, dass die Angreifer den serverseitigen XML-Mechanismus im Update-Server kontrollieren müssen, um den korrekten MD5-Hash des Malware-Installationsprogramms bereitstellen zu können.

Abbildung 5. QQUrlMgr.exe-Code, der das Herunterladen der Aktualisierung steuert

Wir glauben, dass dieses Szenario unsere Beobachtungen erklären würde; allerdings bleiben viele Fragen unbeantwortet. Wir haben uns an das Security Response Center von Tencent gewandt, um die Rechtmäßigkeit der URL zu bestätigen, von der die Malware heruntergeladen wurde. Die URL update.browser.qq[.]com ist zum Zeitpunkt der Erstellung dieses Artikels nicht erreichbar, aber Tencent konnte nicht bestätigen, ob die vollständige URL rechtmäßig ist.

Szenario: Adversary-In-The-Middle

Am 02.06.2022 veröffentlichte Kaspersky einen Forschungsbericht über die Fähigkeiten der chinesischsprachigen LuoYu APT-Gruppe und ihrer WinDealer-Malware. Ähnlich wie bei dieser Gruppe von Evasive Panda-Opfern fanden die Forscher heraus, dass die Opfer von LuoYu seit 2020 die WinDealer-Malware durch Updates über die legitime Anwendung qgametool.exe der ebenfalls von einem chinesischen Unternehmen entwickelten PPTV-Software (auch als PPLive bekannt) erhalten hatten.

WinDealer verfügt über eine rätselhafte Fähigkeit: Anstatt eine Liste etablierter C&C-Server mitzuführen, die im Falle einer erfolgreichen Kompromittierung zu kontaktieren sind, generiert er zufällige IP-Adressen in den Bereichen 13.62.0.0/15 und 111.120.0.0/14 von China Telecom AS4134. Es ist zwar ein kleiner Zufall, aber wir haben festgestellt, dass die IP-Adressen der anvisierten chinesischen Benutzer zum Zeitpunkt des Empfangs der MgBot-Malware zu den IP-Adressbereichen von AS4134 und AS4135 gehörten.

Mögliche Erklärungen dafür, was diese Fähigkeiten für seine C&C-Infrastruktur ermöglicht, sind, dass LuoYu entweder eine große Anzahl von Geräten kontrolliert, die mit den IP-Adressen in diesen Bereichen verbunden sind, oder dass sie in der Lage sind, Adversary-in-the-Middle (AitM) oder Attacker-on-the-Side-Abhörmaßnahmen in der Infrastruktur dieses bestimmten AS durchzuführen.

AitM-Abhörmethoden wären möglich, wenn die Angreifer - entweder LuoYu oder Evasive Panda - in der Lage wären, anfällige Geräte wie Router oder Gateways zu kompromittieren. Im Jahr 2019 entdeckten ESET-Forscher, dass die als BlackTech bekannte chinesische APT-Gruppe AitM-Angriffe über kompromittierte ASUS-Router durchführte und die Plead-Malware über ASUS WebStorage-Software-Updates einschleuste.

Mit Zugang zur Backbone-Infrastruktur von Internetanbietern - auf legalem oder illegalem Wege - wäre Evasive Panda in der Lage, die über HTTP durchgeführten Update-Anfragen abzufangen und zu beantworten oder sogar Pakete im laufenden Betrieb zu verändern. Im Jahr 2023 berichteten Symantec-Forscher über Evasive Panda, als diese es auf ein Telekommunikationsunternehmen in Afrika abgesehen hatten.

Zusammenfassung

Letztendlich können wir ohne weitere Beweise weder die eine noch die andere Hypothese beweisen oder verwerfen, da chinesische APT-Gruppen über derartige Fähigkeiten verfügen.

Toolset

MgBot

MgBot ist die primäre Windows-Backdoor, die von Evasive Panda verwendet wird. Sie existiert nach unseren Erkenntnissen seit mindestens 2012 und wurde, wie in diesem Blogbeitrag erwähnt, 2014 auf VirusBulletin öffentlich dokumentiert. Sie wurde in C++ mit einem objektorientierten Design entwickelt und kann über TCP und UDP kommunizieren sowie ihre Funktionalität über Plugin-Module erweitern.

Das Installationsprogramm und die Backdoor von MgBot sowie deren Funktionalität haben sich seit der ersten Dokumentation nicht wesentlich verändert. Die Ausführungskette ist die gleiche wie in diesem Bericht von MalwareBytes aus dem Jahr 2020 beschrieben.

MgBot Plugins

Die modulare Architektur von MgBot ermöglicht es, die Funktionalität zu erweitern, indem sie Module auf dem kompromittierten Rechner empfängt und einsetzt. Tabelle 2 listet die bekannten Plugins und ihre Funktionen auf. Es ist wichtig anzumerken, dass die Plugins keine eindeutigen internen Identifikationsnummern haben; daher identifizieren wir sie hier anhand ihrer DLL-Namen auf der Festplatte, die wir nie verändert gesehen haben.

Tabelle 2. Liste der Plugin-DLL-Dateien

Plugin DLL name Overview
Kstrcs.dll Keylogger.
 
It only actively logs keystrokes when the foreground window belongs to a process named QQ.exe and the window title matches QQEdit. It's likely target is the Tencent QQ chat application.
sebasek.dll File stealer.
 
Has a configuration file that enables the collection of files from different sources: HDDs, USB thumb drives, and CD-ROMs; as well as criteria based on the file properties: filename must contain a keyword from a predefined list, file size must be between a defined a minimum and maximum size.
Cbmrpa.dll Captures text copied to the clipboard and logs information from the USBSTOR registry key.
pRsm.dll Captures input and output audio streams.
mailLFPassword.dll Credential stealer.
 
Steals credentials from Outlook and Foxmail email client software.
agentpwd.dll Credential stealer.
 
Steals credentials from Chrome, Opera, Firefox, Foxmail, QQBrowser, FileZilla, and WinSCP, among others.
qmsdp.dll A complex plugin designed to steal the content from the Tencent QQ database that stores the user’s message history. This is achieved by in-memory patching of the software component KernelUtils.dll and dropping a fake userenv.dll DLL.
wcdbcrk.dll Information stealer for Tencent WeChat.
Gmck.dll Cookies stealer for Firefox, Chrome, and Edge.

Die meisten Plugins wurden entwickelt, um Informationen aus sehr beliebten chinesischen Anwendungen wie QQ, WeChat, QQBrowser und Foxmail zu stehlen - allesamt Anwendungen, die von Tencent entwickelt wurden.

Fazit

Wir haben eine Kampagne entdeckt, die wir der APT-Gruppe Evasive Panda zuschreiben. Sie zielt auf Benutzer auf dem chinesischen Festland ab und liefert ihre MgBot-Backdoor über Update-Protokolle von Anwendungen bekannter chinesischer Unternehmen. Wir analysierten auch die Plugins der MgBot-Backdoor und fanden heraus, dass die meisten von ihnen darauf ausgelegt sind, Benutzer chinesischer Software auszuspionieren, indem sie Anmeldedaten und Informationen stehlen.

IoCs

Files

SHA-1 Filename Detection Description
10FB52E4A3D5D6BDA0D22BB7C962BDE95B8DA3DD wcdbcrk.dll Win32/Agent.VFT MgBot information stealer plugin.
E5214AB93B3A1FC3993EF2B4AD04DFCC5400D5E2 sebasek.dll Win32/Agent.VFT MgBot file stealer plugin.
D60EE17418CC4202BB57909BEC69A76BD318EEB4 kstrcs.dll Win32/Agent.VFT MgBot keylogger plugin.
2AC41FFCDE6C8409153DF22872D46CD259766903 gmck.dll Win32/Agent.VFT MgBot cookie stealer plugin.
0781A2B6EB656D110A3A8F60E8BCE9D407E4C4FF qmsdp.dll Win32/Agent.VFT MgBot information stealer plugin.
9D1ECBBE8637FED0D89FCA1AF35EA821277AD2E8 pRsm.dll Win32/Agent.VFT MgBot audio capture plugin.
22532A8C8594CD8A3294E68CEB56ACCF37A613B3 cbmrpa.dll Win32/Agent.ABUJ MgBot clipboard text capture plugin.
970BABE49945B98EFADA72B2314B25A008F75843 agentpwd.dll Win32/Agent.VFT MgBot credential stealer plugin.
8A98A023164B50DEC5126EDA270D394E06A144FF maillfpassword.dll Win32/Agent.VFT MgBot credential stealer plugin.
65B03630E186D9B6ADC663C313B44CA122CA2079 QQUrlMgr_QQ88_4296.exe Win32/Kryptik.HRRI MgBot installer.

Network

IP Provider First seen Details
122.10.88[.]226 AS55933 Cloudie Limited 2020-07-09 MgBot C&C server.
122.10.90[.]12 AS55933 Cloudie Limited 2020-09-14 MgBot C&C server.

MITRE ATT&CK techniques

This table was built using version 12 of the MITRE ATT&CK framework.

Tactic ID Name Description
Resource Development T1583.004 Acquire Infrastructure: Server Evasive Panda acquired servers to be used for C&C infrastructure.
T1587.001 Develop Capabilities: Malware Evasive Panda develops its custom MgBot backdoor and plugins, including obfuscated loaders.
Execution T1059.003 Command and Scripting Interpreter: Windows Command Shell MgBot’s installer launches the service from BAT files with the command net start AppMgmt
T1106 Native API MgBot’s installer uses the CreateProcessInternalW API to execute rundll32.exe to load the backdoor DLL.
T1569.002 System Services: Service Execution MgBot is executed as a Windows service.
Persistence T1543.003 Create or Modify System Process: Windows Service MgBot replaces the path of the existing Application Management service DLL with its own.
Privilege Escalation T1548.002 Abuse Elevation Control Mechanism: Bypass User Account Control MgBot performs UAC Bypass.
Defense Evasion T1140 Deobfuscate/Decode Files or Information MgBot's installer decrypts an embedded CAB file that contains the backdoor DLL.
T1112 Modify Registry MgBot modifies the registry for persistence.
T1027 Obfuscated Files or Information MgBot’s installer contains embedded malware files and encrypted strings. MgBot contains encrypted strings. MgBot plugins contain embedded DLL files.
T1055.002 Process Injection: Portable Executable Injection MgBot can inject Portable Executable files to remote processes.
Credential Access T1555.003 Credentials from Password Stores: Credentials from Web Browsers MgBot plugin module agentpwd.dll steals credential from web browsers.
T1539 Steal Web Session Cookie MgBot plugin module Gmck.dll steals cookies.
Discovery T1082 System Information Discovery MgBot collects system information.
T1016 System Network Configuration Discovery MgBot has the capability to recover network information.
T1083 File and Directory Discovery MgBot has the capability of creating file listings.
Collection T1056.001 Input Capture: Keylogging MgBot plugin module kstrcs.dll is a keylogger.
T1560.002 Archive Collected Data: Archive via Library MgBot’s plugin module sebasek.dll uses aPLib to compress files staged for exfiltration.
T1123 Audio Capture MgBot’s plugin module pRsm.dll captures input and output audio streams.
T1119 Automated Collection MgBot’s plugin modules capture data from various sources.
T1115 Clipboard Data MgBot’s plugin module Cbmrpa.dll captures text copied to the clipboard.
T1025 Data from Removable Media MgBot’s plugin module sebasek.dll collects files from removable media.
T1074.001 Data Staged: Local Data Staging MgBot’s plugin modules stage data locally on disk.
T1114.001 Email Collection: Local Email Collection MgBot’s plugin modules are designed to steal credentials and email information from several applications.
T1113 Screen Capture MgBot can capture screenshots.
Command and Control T1095 Non-Application Layer Protocol MgBot communicates with its C&C through TCP and UDP protocols.
Exfiltration T1041 Exfiltration Over C2 Channel MgBot performs exfiltration of collected data via C&C.