APT Gruppe Worok: Das große Ganze

Diese neue Cyberspionage-Gruppe, die sich hauptsächlich auf Asien konzentriert, verwendet undokumentierte Tools, darunter die steganografische Extraktion von PowerShell-Payloads aus PNG-Dateien.

Diese neue Cyberspionage-Gruppe, die sich hauptsächlich auf Asien konzentriert, verwendet undokumentierte Tools, darunter die steganografische Extraktion von PowerShell-Payloads aus PNG-Dateien.

ESET-Forscher entdeckten kürzlich gezielte Angriffe mit undokumentierten Tools auf verschiedene hochrangige Unternehmen und lokale Regierungen, hauptsächlich in Asien. Diese Angriffe wurden von einer bisher unbekannten Spionagegruppe durchgeführt, die wir Worok genannt haben und die mindestens seit 2020 aktiv ist. Das Toolset von Worok umfasst einen C++-Loader CLRLoad, eine PowerShell-Backdoor PowHeartBeat und einen C#-Loader PNGLoad, der Steganografie verwendet, um versteckte bösartige Payloads aus PNG-Dateien zu extrahieren.

Wer ist Worok?

Während der Veröffentlichung der ProxyShell-Schwachstelle (CVE-2021-34523) Anfang 2021 beobachteten wir Aktivitäten von verschiedenen APT-Gruppen. Eine davon wies gemeinsame Merkmale mit TA428 auf:

  • Aktivitätszeiten
  • Angegriffene Bereiche
  • Verwendung von ShadowPad

Das restliche Toolset ist dagegen sehr unterschiedlich: TA428 hat sich beispielsweise an der Able Desktop Attacke im Jahr 2020 beteiligt. Wir sind der Meinung, dass die Verbindungen nicht stark genug sind, um Worok als dieselbe Gruppe wie TA428 zu betrachten, aber die beiden Gruppen könnten gemeinsame Werkzeuge und Interessen haben. Wir beschlossen, die Informationen in einem Cluster zusammenzufassen und nannten ihn Worok. Der Name wurde nach einem Mutex in einem von der Gruppe verwendeten Loader gewählt. Weitere Aktivitäten mit Varianten der gleichen Tools wurden dann mit dieser Gruppe verknüpft. Laut unserer Telemetrie ist Worok seit Ende 2020 aktiv und ist es auch jetzt noch.

Ende 2020 hatte Worok insbesondere Regierungen und Unternehmen in mehreren Ländern im Visier:

  • Ein Telekommunikationsunternehmen in Ostasien
  • Eine Bank in Zentralasien
  • Ein Unternehmen der maritimen Industrie in Südostasien
  • Eine staatliche Einrichtung im Nahen Osten
  • Ein privates Unternehmen im südlichen Afrika

Von Mai 2021 bis Januar 2022 gab es eine Unterbrechung der beobachteten Vorgänge, aber im Februar 2022 kehrte die Worok-Aktivität zurück, und zwar zielgerichtet bei:

  • Einem Energieunternehmen in Zentralasien
  • Einer Einrichtung des öffentlichen Sektors in Südostasien

Abbildung 1 zeigt die Zielregionen und -bereiche.

Abbildung 1. Karte der Zielregionen und -bereiche

In Anbetracht der Profile der Zielpersonen und der Tools, die gegen diese Opfer eingesetzt wurden, gehen wir davon aus, dass das Hauptziel von Worok darin besteht, Informationen zu stehlen.

Technische Analyse

Während die Mehrheit der anfänglichen Angriffpunkte unbekannt ist, haben wir in einigen Fällen in 2021 und 2022 Exploits gesehen, die gegen die sogenannten ProxyShell-Schwachstellen eingesetzt wurden. In diesen Fällen wurden in der Regel Webshells hochgeladen, nachdem die Schwachstellen ausgenutzt worden waren, um die Persistenz im Netzwerk des Opfers zu gewährleisten. Dann verwendeten die Betreiber verschiedene Implantate, um weitere Fähigkeiten zu erlangen.

Nachdem sie sich Zugang verschafft hatten, setzten die Angreifer mehrere öffentlich verfügbare Tools zur Erkundung und Aufklärung ein, darunter Mimikatz, EarthWorm, ReGeorg und NBTscan, und verteilten anschließend dann ihre eigenen Tools: einen First Stage Loader, gefolgt von einem .NET-Loader (PNGLoad). Leider ist es uns nicht gelungen, die endgültigen Payloads aufzuspüren. Im Jahr 2021 war der First Stage Loader eine CLR-Assembly (CLRLoad), während er im Jahr 2022 in den meisten Fällen durch eine voll funktionsfähige PowerShell-Backdoor (PowHeartBeat) ersetzt wurde – beide Angriffsverläufe sind in Abbildung 2 dargestellt. Diese drei Tools werden in den folgenden Unterabschnitten im Detail beschrieben.

Abbildung 2. Worok-Angriffsverlauf

CLRLoad: CLR Assembly Loader

CLRLoad ist ein generisches Windows PE, das wir sowohl in 32- als auch in 64-Bit-Versionen gesehen haben. Es handelt sich um einen in C++ geschriebenen Loader, der die nächste Stufe (PNGLoad) lädt, bei der es sich um eine Common Language Runtime (CLR) Assembly-DLL handeln muss. Dieser Code wird aus einer Datei geladen, die sich auf der Festplatte in einem legitimen Verzeichnis befindet, vermutlich um die Opfer oder Forensiker zu täuschen, damit sie glauben, es handele sich um legitime Software.

Einige CLRLoad-Beispiele beginnen mit der Dekodierung des vollständigen Pfads der Datei, deren Inhalt sie im nächsten Schritt laden werden. Diese Dateipfade werden mit einem Single-Byte-XOR verschlüsselt, wobei in jedem Sample ein anderer Schlüssel verwendet wird. Dekodiert oder im Klartext sind diese Dateipfade absolut, wobei wir die folgenden gefunden haben:

  • C:\Program Files\VMware\VMware Tools\VMware VGAuth\xsec_1_5.dll
  • C:\Program Files\UltraViewer\msvbvm80.dll
  • C:\Program Files\Internet Explorer\Jsprofile.dll
  • C:\Program Files\WinRar\RarExtMgt.dll
  • C:\Program Files (x86)\Foxit Software\Foxit Reader\lucenelib.dll

Als Nächstes wird ein Mutex erstellt, der in jedem Sample einen anderen Namen hat. Der Loader sucht nach diesem Mutex; wenn er ihn findet, wird er beendet, da der Loader bereits läuft. In einem der Samples wurde der Mutex Wo0r0KGWhYGO gefunden, was der Gruppe den Namen Worok gab.

CLRLoad lädt dann eine CLR-Assembly aus dem möglicherweise dekodierten Dateipfad. Als nicht verwalteter Code erreicht CLRLoad dies über CorBindToRuntimeEx-Windows-API-Aufrufe in 32-Bit-Varianten oder CLRCreateInstance-Aufrufe in 64-Bit-Varianten.

PowHeartBeat: PowerShell Backdoor

PowHeartBeat ist eine in PowerShell geschriebene, vollumfängliche Backdoor, die mit verschiedenen Techniken wie Komprimierung, Kodierung und Verschlüsselung verschleiert wird. Basierend auf den ESET-Telemetriedaten gehen wir davon aus, dass PowHeartBeat in neueren Worok-Kampagnen CLRLoad als das Tool zum Starten von PNGLoad ersetzt hat.

Die erste Schicht des Backdoor-Codes besteht aus mehreren Stücken base64-kodierten PowerShell-Codes. Sobald die Payload rekonstruiert ist, wird sie über IEX ausgeführt. Nach der Dekodierung wird eine weitere Schicht mit verschleiertem Code ausgeführt, wie in Abbildung 3 zu sehen.

Abbildung 3. Auszug aus der entschlüsselten Hauptfunktion der zweiten Schicht von PowHeartBeat

Die zweite Schicht der Backdoor entschlüsselt zunächst die nächste Schicht ihres Codes mit base64, der dann mit Triple DES (CBC-Modus) entschlüsselt wird. Nach der Entschlüsselung wird dieser Code mit dem gzip-Algorithmus dekomprimiert, wodurch die dritte Schicht des PowerShell-Codes entsteht, die die eigentliche Backdoor darstellt. Sie ist in zwei Hauptteile unterteilt: die Konfiguration und die Verarbeitung von Backdoor-Befehlen.

Die Hauptschicht des Backdoor-Codes ist ebenfalls in PowerShell geschrieben und verwendet HTTP oder ICMP zur Kommunikation mit dem C&C-Server. Sie funktioniert wie in Abbildung 4 dargestellt.

Abbildung 4. Die Funktionsweise von PowHeartBeat

Konfiguration

Die Konfiguration enthält mehrere Felder, darunter die Versionsnummer, die optionale Proxy-Konfiguration und die C&C-Adresse. Tabelle 1 beschreibt die Bedeutung der Konfigurationsfelder in den verschiedenen Versionen, die wir beobachtet haben.

Table 1. Bedeutung der Konfigurationsfelder

Field nameDescription
nouse / ikuyrtydyfg
(other samples)
Unused.
ClientIdClient identifier, used for the following purposes:
· As a value when constructing the Cookie header for C&C communications.
· As a cryptographic artifact for sent data encryption.
VersionVersion number of PowHeartBeat.
ExecTimesNumber of allowed execution attempts when issuing a RunCmd (command running) command.
UserAgentUser agent used for C&C communications.
RefererReferer header used for C&C communications.
AcceptEncodingUnused.
CookieClientId
CookieTaskId
CookieTerminalId
Values used to construct the Cookie header for C&C communications.
UrlHttpsProtocol to use for C&C communications.
UrlDomain
IPAddress
Domains
URL, domain(s), or IP address used as the C&C server. If Domains is not empty, it is chosen instead of IPAddress. In other cases, IPAddress is taken.
UrlSendHeartBeatURL path used when the backdoor asks the C&C server for commands.
UrlSendResultURL path used when the backdoor sends the results of the command back to the C&C server.
GetUrlComplete URL, used by PowHeartBeat to request commands from the C&C server. It is the concatenation of the URL elements above.
PutUrlSame as GetUrl but used to send the results of the command back to the C&C server.
currentPathUnused.
ProxyEnableFlagFlag indicating whether the backdoor must use a proxy or not in order to communicate with the C&C server.
ProxymsgAddress of the proxy to use if ProxyEnableFlag is set to $true.
IntervalTime in seconds that the script sleeps for between GET requests.
BasicConfigPathPath to an optional configuration file containing UpTime, DownTime, DefaultInterval, and Domains. Those values will be overridden if the file is present.
UpTimeTime of day from which the backdoor starts operating, meaning it starts making GET requests to the C&C server.
DownTimeTime of day until which the backdoor can operate, meaning the time when it stops making requests to the C&C server.
DomainIndexIndex of the current domain name to use for communications with the C&C server. In case a request returns an error message different from 304 (“Not modified”), DomainIndex is increased.
SecretKeyKey used to decrypt/encrypt the configuration. Configuration is encrypted with multiple-byte XOR.
IfLogUnused.
IfLogFilePathFlag indicating whether logging is enabled.
logpathPath of the log file.
ProxyFileFile path of the optional proxy configuration. If it is empty or not found in the file system, the backdoor retrieves the user’s proxy settings from the registry value HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer .
IfConfigFlag indicating whether to use a configuration file.

Abbildung 5 zeigt ein Beispiel für eine Konfiguration, die aus einem PowHeartBeat-Beispiel extrahiert wurde (SHA-1: 757ABA12D04FD1167528FDD107A441D11CD8C427).

Abbildung 5. Beispiel für eine Konfiguration

Datenverschlüsselung

PowHeartBeat verschlüsselt Logs und den Inhalt zusätzlicher Konfigurationsdateien.

Der Inhalt der Logs wird durch Multiple-Byte-XOR mit einem im Sample im Klartext angegebenen Schlüssel verschlüsselt. Interessanterweise wird clientId als Salt für den Index im Schlüssel-Array verwendet. Der Schlüssel ist ein 256-Byte-Array, das in jedem Sample identisch war. Zusätzlicher Inhalt der Konfigurationsdatei wird durch Multiple-Byte-XOR mit dem Wert von SecretKey als Schlüssel verschlüsselt.

C&C Kommunikation

PowHeartBeat verwendete bis Version 2.4 HTTP für die C&C-Kommunikation und wechselte dann zu ICMP. In beiden Fällen ist die Kommunikation nicht verschlüsselt.

HTTP

In einer Endlosschleife sendet die Backdoor eine GET-Anfrage an den C&C-Server und bittet um einen Befehl, der ausgeführt werden soll. Die verschlüsselte Antwort wird von der Backdoor entschlüsselt, die den Befehl verarbeitet und die Befehlsausgabe in eine Datei schreibt, deren Inhalt dann über eine POST-Anfrage an den C&C-Server gesendet wird.

Das Format der GET-Anfragen ist wie folgt:

Beachten Sie, dass die Anfrage unter Verwendung der gleichnamigen Konfigurationsfelder erstellt wird.

In der Antwort des C&C-Servers ist das dritte Byte des Inhalts die Befehlskennung, die den von der Backdoor zu verarbeitenden Befehl angibt. Wir nennen ihn command_id. Der restliche Inhalt der Antwort wird als Argument an den zu verarbeitenden Befehl übergeben. Dieser Inhalt wird mit dem in Abbildung 6 dargestellten Algorithmus verschlüsselt, wobei taskId der Wert des Cookies ist, der nach dem Wert von CookieTaskId aus der Konfiguration benannt ist.

Abbildung 6. Abfrage des Algorithmus zur Verschlüsselung von Inhaltsdaten

Die Antwort des C&C-Servers enthält außerdem ein weiteres Cookie, dessen Name durch die Konfigurationsvariable CookieTerminalId der Backdoor festgelegt wird. Der Wert dieses Cookies wird in der POST-Anfrage von der Backdoor wiederholt und darf nicht leer sein. Nach dem Ausführen des Backdoor-Befehls sendet PowHeartBeat das Ergebnis als POST-Anfrage an den C&C-Server. Das Ergebnis wird in Form einer Datei mit dem Namen <command_id>.png gesendet.

ICMP

Ab Version 2.4 von PowHeartBeat wurde HTTP durch ICMP ersetzt, wobei die gesendeten Pakete ein Timeout von sechs Sekunden haben und nicht fragmentiert sind. Die Kommunikation über ICMP ist höchstwahrscheinlich ein Weg, um der Entdeckung zu entgehen.

In den Versionen 2.4 und später gibt es keine größeren Änderungen, aber wir haben einige Änderungen im Code festgestellt:

  • PowHeartBeat sendet bei jeder Schleife ein Heartbeat-Paket, das die Zeichenfolge abcdefghijklmnopqrstuvwxyz enthält, bevor es einen Befehl anfordert. Dies teilt dem C&C-Server mit, dass die Backdoor bereit ist, Befehle zu empfangen.
  • Anfragen zu Abrufbefehlen, die von der Backdoor ausgeführt werden, enthalten die Zeichenfolge abcdefghijklmnop.

Heartbeat-Pakete haben das in Abbildung 7 beschriebene Format.

Abbildung 7. Aufbau von Heartbeat-Paketen

Der Unterschied zwischen client ID und client flag besteht darin, dass client ID in jedem Sample unterschiedlich ist, während client flag in jedem Sample, das ICMP verwendet, gleich ist.  heartbeat flag zeigt an, dass die Backdoor einen Heartbeat sendet. Die Antwort des C&C-Servers hat das in Abbildung 8 beschriebene Format.

Abbildung 8. Antwort-Layout des C&C-Servers

flag zeigt an, ob ein Befehl an die Backdoor zu senden ist. Anfragen für Befehle haben das in Abbildung 9 beschriebene Format.

Abbildung 9. Layout für die Abfrage von Befehlen

Beachten Sie, dass der ICMP-Modus der Backdoor den Empfang einer unbegrenzten Menge von Daten, aufgeteilt in Pakete, ermöglicht und die Variablen data length, current position und total length verwendet werden, um die übertragenen Daten zu verfolgen. Die Antworten auf diese Anfragen haben das in Abbildung 10 beschriebene Format.

Abbildung 10. Layout der Antworten auf Anfragen für Abrufbefehle

Wie bei HTTP-Antworten ist die Befehlskennung das dritte Byte von data.

Nach sieben aufeinanderfolgenden ICMP-Antworten mit leerem oder inkonsistent formatiertem Inhalt wird die Übertragung zwischen Backdoor und C&C-Server als abgeschlossen betrachtet.

Bei den Anfragen zum Senden des Ergebnisses des erteilten Befehls an den C&C-Server wird der Servermodus in den Postmodus geändert, und die endgültige Zeichenfolge (abcdefghijklmnop) wird in die Ergebnisdaten geändert.

Backdoor Befehle

PowHeartBeat verfügt über verschiedene Fähigkeiten, darunter die Ausführung von Befehlen/Prozessen und die Bearbeitung von Dateien. In Tabelle 2 sind alle Befehle aufgeführt, die von den verschiedenen analysierten Samples unterstützt werden.

Tabelle 2. Beschreibungen der PowHeartBeat-Befehle

NameCommand IdentifierDescription
Cmd0x02Execute a PowerShell command.
Exe0x04Execute a command as a process.
FileUpload0x06Upload a file to the victim machine. File content is gzip-compressed.
FileDownLoad0x08Download a file from the victim machine, and return file path, file length, creation time, access times, and file content to the C&C server.
FileView0x0AGet file information of a specific directory, in particular:
· Filenames
· File attributes
· Last write times
· File contents
FileDelete0x0CDelete a file.
FileRename0x0ERename or move a file.
ChangeDir0x10Change the current working location of the backdoor.
Info0x12Get a category of information according to the specified argument:
· “Basic information”: ClientId, Version, host name, IP addresses, explorer.exe version and size information, OS (architecture and flag indicating if the machine is a server), Interval, current directory, drive information (name, type, free space and total size), current time
· “Time-Interval information”: Interval and current time
· “Domain information”: decrypted configuration file content
Config0x14Update the configuration file content and reload the configuration.
N/A0x63Backdoor exit.

Bei Fehlern auf der Backdoor-Seite verwendet die Backdoor eine spezielle Befehlskennung 0x00 in der POST-Anfrage an den C&C-Server und zeigt damit an, dass ein Fehler aufgetreten ist.

Beachten Sie, dass die Daten vor dem Zurücksenden an den C&C-Server gzip-komprimiert werden.

PNGLoad: Steganographischer Loader

PNGLoad ist die Second Stage Payload, die von Worok auf kompromittierten Systemen verteilt und laut ESET-Telemetrie entweder von CLRLoad oder PowHeartBeat geladen wird. Wir sehen zwar keinen Code in PowHeartBeat, der PNGLoad direkt lädt, aber die Backdoor ist in der Lage, zusätzliche Payloads vom C&C-Server herunterzuladen und auszuführen. So haben die Angreifer PNGLoad wahrscheinlich auf Systemen eingesetzt, die mit PowHeartBeat kompromittiert wurden. . PNGLoad ist ein Loader, der Bytes aus PNG-Dateien verwendet, um eine Payload zur Ausführung zu erstellen. Es handelt sich um eine ausführbare 64-Bit-.NET-Datei, die mit .NET Reactor verschleiert wurde und sich als legitime Software tarnt. Abbildung 11 zeigt zum Beispiel die CLR-Header eines Samples, das sich als WinRAR-DLL ausgibt.

Abbildung 11. Beispiel für eine gefälschte WinRAR-DLL

Nach der Entschleierung ist nur noch eine Klasse vorhanden. In dieser Klasse gibt es ein MainPath-Attribut, das den Verzeichnispfad enthält, in dem die Backdoor nach Dateien mit der Erweiterung .png sucht, einschließlich ihrer Unterverzeichnisse (siehe Abbildung 12).

Abbildung 12. .png-Dateiliste

Jede in MainPath gefundene .png-Datei wird dann auf steganografisch eingebettete Inhalte überprüft. Zunächst wird das niedrigstwertige Bit der R- (Rot-), G- (Grün-), B- (Blau-) und A- (Alpha-) Werte jedes Pixels abgerufen und in einem Puffer zusammengestellt. Wenn die ersten acht Bytes dieses Puffers mit der magischen Zahl aus Abbildung 13 übereinstimmen und der nächste Acht-Byte-Wert, control, nicht Null ist, besteht die Datei die steganografische Inhaltsprüfung von PNGLoad. Bei solchen Dateien wird die Verarbeitung mit dem Rest des Puffers fortgesetzt, der mit einem XOR aus mehreren Bytes entschlüsselt wird, wobei der im Attribut SecretKeyBytes von PNGLoad gespeicherte Schlüssel verwendet wird. Anschließend wird der entschlüsselte Puffer gzip-dekomprimiert. Als Ergebnis wird ein PowerShell-Skript erwartet, das sofort ausgeführt wird.

Abbildung 13. Format des Puffers, den PNGLoad bei der Verarbeitung von .png-Dateien erzeugt

Interessanterweise werden die von PNGLoad durchgeführten Operationen in einer Datei protokolliert, deren Pfad in der Variablen LogFilePath gespeichert ist. Die Operationen werden nur protokolliert, wenn eine Datei vorhanden ist, deren Pfad durch die interne Variable IfLogFilePath angegeben ist.

Es war uns nicht möglich, ein .png-Sample aufzuspüren, das zusammen mit PNGLoad verwendet wurde. Aber die Funktionsweise von PNGLoad legt nahe, dass es mit gültigen PNG-Dateien funktionieren sollte. Um die bösartige Payload zu verbergen, verwendet Worok Bitmap-Objekte in C#, die nur Pixelinformationen aus Dateien übernehmen, nicht aber die Metadaten der Datei. Das bedeutet, dass Worok seine bösartigen Payloads in gültigen, harmlos aussehenden PNG-Bildern verstecken kann und somit unauffällig ist.

Fazit

Worok ist eine Cyberspionage-Gruppe, die ihre eigenen Tools entwickelt und auch bestehende Tools nutzt, um ihre Ziele zu kompromittieren. Wir gehen davon aus, dass es den Betreibern darum geht, Informationen von ihren Opfern zu stehlen. Sie konzentrieren sich auf hochrangige Einrichtungen in Asien und Afrika und verschiedene private und öffentliche Sektoren, jedoch mit besonderem Schwerpunkt auf Regierungseinrichtungen. Die Aktivitätszeiten und das Toolset deuten auf mögliche Verbindungen zu TA428 hin, aber wir können diese Einschätzung nur mit geringer Sicherheit treffen. Das benutzerdefinierte Toolset umfasst zwei Loader – einen in C++ und einen in C# .NET – und eine PowerShell-Backdoor. Auch wenn unsere Einsicht begrenzt ist, hoffen wir, dass die Aufklärung über diese Gruppe andere Forscher dazu ermutigt, Informationen über diese Gruppe zu teilen.

Wenn Sie Fragen zu unseren auf WeLiveSecurity veröffentlichten Studien haben, kontaktieren Sie uns bitte unter threatintel@eset.com.

ESET Research bietet jetzt auch private APT Intelligence-Berichte und Daten-Feeds an. Wenn Sie Fragen zu diesem Service haben, besuchen Sie die ESET Threat Intelligence-Seite.

IOCs

Dateien

SHA-1FilenameESET Detection nameComment
3A47185D0735CDECF4C7C2299EB18401BFB328D5scriptPowerShell/PowHeartBeat.BPowHeartBeat 2.4.3.0003.
27ABB54A858AD1C1FF2863913BDA698D184E180DscriptPowerShell/PowHeartBeat.APowHeartBeat 2.4.3.0003.
678A131A9E932B9436241402D9727AA7D06A87E3scriptPowerShell/PowHeartBeat.BPowHeartBeat 2.4.3.0003.
757ABA12D04FD1167528FDD107A441D11CD8C427scriptPowerShell/PowHeartBeat.BPowHeartBeat 2.1.3.0003.
54700A48D934676FC698675B4CA5F712C0373188scriptPowerShell/PowHeartBeat.APowHeartBeat 1.1.3.0002.
C2F53C138CB1B87D8FC9253A7088DB30B25389AFscriptPowerShell/PowHeartBeat.APowHeartBeat 1.1.3.0002.
C2F1954DE11F72A46A4E823DE767210A3743B205tmp.ps1PowerShell/PowHeartBeat.BPowHeartBeat 2.4.3.0004.
CE430A27DF87A6952D732B4562A7C23BEF4602D1tmp.ps1PowerShell/PowHeartBeat.A PowHeartBeat 2.1.3.0004.
EDE5AB2B94BA85F28D5EE22656958E4ECD77B6FFscriptPowerShell/PowHeartBeat.A PowHeartBeat 2.4.3.0003.
4721EEBA13535D1EE98654EFCE6B43B778F13126vix64.dllMSIL/PNGLoader.APNGLoader.
728A6CB7A150141B4250659CF853F39BFDB7A46CRarExtMgt.dllMSIL/PNGLoader.APNGLoader.
864E55749D28036704B6EA66555A86527E02AF4AJsprofile.dllMSIL/PNGLoader.APNGLoader.
8DA6387F30C584B5FD3694A99EC066784209CA4Cvssxml.dllMSIL/PNGLoader.APNGLoader.
AA60FB4293530FBFF00D200C0D44EEB1A17B1C76xsec_1_5.dllMSIL/PNGLoader.APNGLoader.
B2EAEC695DD8BB518C7E24C4F37A08344D6975BEmsvbvm80.dllMSIL/PNGLoader.APNGLoader.
CDB6B1CAFEE098615508F107814179DEAED1EBCFlucenelib.dllMSIL/PNGLoader.APNGLoader.
4F9A43E6CF37FF20AE96E564C93898FDA6787F7Dvsstrace.dllWin64/CLRLoad.CCLRLoad.
F181E87B0CD6AA4575FD51B9F868CA7B27240610ncrypt.dllWin32/CLRLoad.ACLRLoad.
4CCF0386BDE80C339EFE0CC734CB497E0B08049Cncrypt.dllWin32/CLRLoad.ACLRLoad.
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244wlbsctrl.dllWin64/CLRLoad.ECLRLoad.
05F19EBF6D46576144276090CC113C6AB8CCEC08wlbsctrl.dllWin32/CLRLoad.ACLRLoad.
A5D548543D3C3037DA67DC0DA47214B2C2B15864secur32.dllWin64/CLRLoad.HCLRLoad.
CBF42DCAF579AF7E6055237E524C0F30507090F3dbghelp.dllWin64/CLRLoad.CCLRLoad.

Dateipfade

Einige der Werte MainPath, LogFilePath und IfLogFilePath, die wir in PNGLoad-Beispielen gefunden haben:

MainPathLogFilePathIfLogFilePath
C:\Program Files\VMware\VMware Tools\C:\Program Files\VMware\VMware Tools\VMware VGAuth\readme.txtC:\Program Files\VMware\VMware Tools\VMware VGAuth\VMWSU_V1_1.dll
C:\Program Files\WinRar\C:\Program Files\WinRar\rarinstall.logC:\Program Files\WinRar\des.dat
C:\Program Files\UltraViewer\C:\Program Files\UltraViewer\‌CopyRights.datC:\Program Files\UltraViewer\uvcr.dll

Netzwerk

DomainIP
None118.193.78[.]22
None118.193.78[.]57
airplane.travel-commercials[.]agency5.183.101[.]9
central.suhypercloud[.]org45.77.36[.]243

Mutexe

In CLRLoad-Samples sind die Mutex-Namen, die wir gefunden haben, folgende:

aB82UduGX0EX
ad8TbUIZl5Ga
Mr2PJVxbIBD4
oERiQtKLgPgK
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBWekRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxMy

MITRE ATT&CK Techniken

Diese Tabelle wurde mit Version 11 des MITRE ATT&CK Framework erstellt.

TacticIDNameDescription
ReconnaissanceT1592.002Gather Victim Host Information: SoftwarePowHeartBeat gathers explorer.exe's information.
T1592.001Gather Victim Host Information: HardwarePowHeartBeat gathers information about drives.
T1590.005Gather Victim Network Information: IP AddressesPowHeartBeat gathers IP addresses of the compromised computer.
Resource DevelopmentT1583.004Acquire Infrastructure: ServerWorok uses its own C&C servers.
T1588.002Obtain Capabilities: ToolWorok deployed multiple publicly available tools on the compromised machines.
T1583.001Acquire Infrastructure: DomainsWorok has registered domains to facilitate C&C communication and staging.
T1588.005Obtain Capabilities: ExploitsWorok has used the ProxyShell vulnerability.
T1587.001Develop Capabilities: MalwareWorok has developed its own malware: CLRLoad, PNGLoad, PowHeartBeat.
T1587.003Develop Capabilities: Digital CertificatesWorok has created Let’s Encrypt SSL certificates in order to enable mutual TLS authentication for malware.
ExecutionT1059.001Command and Scripting Interpreter: PowerShellPowHeartBeat is written in PowerShell.
PersistenceT1505.003Server Software Component: Web ShellWorok uses the webshell ReGeorg.
Defense EvasionT1140Deobfuscate/Decode Files or InformationWorok uses various custom XOR-based schemes to encrypt strings and logs in PowHeartBeat, PNGLoad, and CLRLoad.
T1036.005Masquerading: Match Legitimate Name or LocationPNGLoad samples are deployed in legitimate-looking VMWare directories.
Credential AccessT1003.001OS Credential Dumping: LSASS MemoryWorok uses Mimikatz to dump credentials from LSASS memory.
DiscoveryT1082System Information DiscoveryPowHeartBeat gathers OS information.
T1083File and Directory DiscoveryPowHeartBeat can list files and directories.
T1046Network Service DiscoveryWorok uses NbtScan to obtain network information on compromised machines.
T1124System Time DiscoveryPowHeartBeat gathers the victim’s time information.
CollectionT1005Data from Local SystemPowHeartBeat gathers data from the local system.
T1560.002Archive Collected Data: Archive via LibraryPowHeartBeat gzip-compresses data before sending it to the C&C server.
Command and ControlT1071.001Application Layer Protocol: Web ProtocolsSome PowHeartBeat variants use HTTP as the communication protocol with the C&C server.
T1090.001Proxy: Internal ProxyPowHeartBeat handles proxy configuration on the victim’s machine.
T1001.002Data Obfuscation: SteganographyPNGLoad extracts pixel values from .png files to reconstruct payloads.
T1573.002Encrypted Channel: Asymmetric CryptographyPowHeartBeat handles HTTPS communications with the C&C server.
T1095Non-Application Layer ProtocolSome PowHeartBeat variants use ICMP as the communication protocol with the C&C server.
T1132.001Data Encoding: Standard EncodingWorok uses XOR encoding in PowHeartBeat, and PNGLoad.
T1132.002Data Encoding: Non-Standard EncodingWorok uses XOR encoding algorithms that make use of an additional salt.
ExfiltrationT1041Exfiltration Over C2 ChannelPowHeartBeat uses its C&C communication channel to exfiltrate information.

 

Haben Sie Fragen und Anregungen zu diesem, anderen oder zukünftigen Themen, die Sie gern betrachtet sehen wollen? Dann nutzen Sie gern die Kommentarfunktion unter diesem Artikel oder nutzen unser Kontaktformular!

Erhalten Sie E-Mails zu neuen Artikeln zur Cyber-Sicherheitslage in der Ukraine. Jetzt anmelden!

Newsletter-Anmeldung

Hier können Sie mitdiskutieren