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.
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.
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.
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.
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.
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. |