ESET-Forscher haben zwei Kampagnen der APT-Gruppe OilRig analysiert: Outer Space (2021) und Juicy Mix (2022). Beide Cyberspionage-Kampagnen zielten ausschließlich auf israelische Organisationen ab, was im Einklang mit dem Fokus der Gruppe auf den Nahen Osten steht, und nutzten das gleiche Drehbuch: OilRig kompromittierte zunächst eine legitime Website, um sie als C&C-Server zu nutzen, und verwendete dann VBS-Dropper, um seinen Opfern eine C#/.NET-Backdoor zu liefern, während sie gleichzeitig eine Reihe von Tools nach der Kompromittierung einsetzte, die hauptsächlich zur Datenexfiltration auf den Zielsystemen verwendet wurden.

In der Outer Space-Kampagne verwendete OilRig eine einfache, bisher nicht dokumentierte C#/.NET-Backdoor, die wir Solar nannten, zusammen mit einem neuen Downloader, SampleCheck5000 (oder SC5k), der die Microsoft Office Exchange Web Services API für die C&C-Kommunikation nutzt. Für die Juicy Mix-Kampagne verbesserten die Bedrohungsakteure Solar, um die Mango-Backdoor zu erstellen, die über zusätzliche Funktionen und Verschleierungsmethoden verfügt. Wir haben nicht nur das bösartige Toolset entdeckt, sondern auch das israelische CERT über die kompromittierten Websites informiert.

Die wichtigsten Punkte dieses Blogposts:

  • ESET beobachtete zwei OilRig-Kampagnen, die im Jahr 2021 (Outer Space) und 2022 (Juicy Mix) stattfanden.
  • Die Betreiber hatten es ausschließlich auf israelische Organisationen abgesehen und kompromittierten legitime israelische Websites, um sie für ihre C&C-Kommunikation zu nutzen.
  • Sie verwendeten in jeder Kampagne eine neue, bisher nicht dokumentierte C#/.NET-Hintertür der ersten Stufe: Solar in Outer Space, dann ihr Nachfolger Mango in Juicy Mix.
  • Beide Hintertüren wurden von VBS-Droppern eingesetzt, die vermutlich über Spearphishing-E-Mails verbreitet wurden.
  • In beiden Kampagnen wurde eine Vielzahl von Tools für die Zeit nach der Kompromittierung eingesetzt, insbesondere der SC5k-Downloader, der die Microsoft Office Exchange Web Services API für die C&C-Kommunikation nutzt, sowie mehrere Tools zum Diebstahl von Browserdaten und Anmeldeinformationen aus dem Windows Credential Manager.

OilRig, auch bekannt als APT34, Lyceum oder Siamesekitten, ist eine Cyberspionage-Gruppe, die seit mindestens 2014 aktiv ist und deren Sitz im Iran vermutet wird. Die Gruppe zielt auf die Regierungen des Nahen Ostens und eine Vielzahl von Geschäftsbereichen ab, darunter Chemie, Energie, Finanzen und Telekommunikation. OilRig führte die DNSpionage-Kampagne in den Jahren 2018 und 2019 durch, die auf Opfer im Libanon und in den Vereinigten Arabischen Emiraten abzielte. In den Jahren 2019 und 2020 setzte OilRig die Angriffe mit der HardPass-Kampagne fort, die LinkedIn nutzte, um Opfer im Nahen Osten im Energie- und Regierungssektor anzugreifen. Im Jahr 2021 aktualisierte OilRig seine DanBot-Backdoor und begann mit dem Einsatz der Shark-, Milan- und Marlin-Backdoors, die in der Ausgabe T3 2021 des ESET Threat Report erwähnt werden.

In diesem Blogpost bieten wir eine technische Analyse der Solar- und Mango-Backdoors, des VBS-Droppers, der zur Verbreitung von Mango verwendet wurde, und der Tools, die in jeder Kampagne nach der Kompromittierung eingesetzt wurden.

Zuschreibung

Die erste Verbindung, die es uns ermöglichte, die Outer Space-Kampagne mit OilRig in Verbindung zu bringen, ist die Verwendung desselben benutzerdefinierten Chrome-Daten-Dumpers (von ESET-Forschern unter dem Namen MKG aufgespürt) wie in der Out to Sea-Kampagne. Wir haben beobachtet, dass die Solar-Backdoor genau die gleiche MKG-Variante wie in Out to Sea auf dem System des Ziels installiert hat, zusammen mit zwei weiteren Varianten.

Neben den Überschneidungen bei den Tools und dem Zielsystem konnten wir auch mehrere Ähnlichkeiten zwischen der Solar-Backdoor und den in Out to Sea verwendeten Backdoors feststellen, die sich hauptsächlich auf das Hoch- und Herunterladen beziehen: sowohl Solar als auch Shark, eine weitere OilRig-Backdoor, verwenden URIs mit einfachen Upload- und Download-Schemata, um mit dem C&C-Server zu kommunizieren, mit einem "d" für Download und einem "u" für Upload; außerdem verwendet der Downloader SC5k Unterverzeichnisse für Uploads und Downloads, genau wie andere OilRig-Backdoors, nämlich ALMA, Shark, DanBot und Milan. Diese Erkenntnisse sind eine weitere Bestätigung dafür, dass es sich bei dem Übeltäter hinter Outer Space tatsächlich um OilRig handelt.

Was die Verbindungen der Juicy Mix-Kampagne zu OilRig angeht, so zielt sie nicht nur auf israelische Organisationen ab - was typisch für diese Spionagegruppe ist -, sondern es gibt auch Code-Ähnlichkeiten zwischen Mango, der in dieser Kampagne verwendeten Backdoor, und Solar. Darüber hinaus wurden beide Backdoors von VBS-Droppern mit der gleichen String-Verschleierungstechnik eingesetzt. Die Wahl der Tools, die bei Juicy Mix nach der Kompromittierung eingesetzt wurden, spiegelt auch frühere OilRig-Kampagnen wider.

Überblick über die Outer Space-Kampagne

Outer Space ist eine OilRig-Kampagne aus dem Jahr 2021, die ihren Namen der Verwendung eines auf Astronomie basierenden Namensschemas in den Funktionsnamen und Aufgaben verdankt. In dieser Kampagne kompromittierte die Gruppe eine israelische Website für Personalwesen und nutzte sie anschließend als C&C-Server für ihre zuvor nicht dokumentierte C#/.NET-Backdoor Solar. Solar ist eine einfache Backdoor mit grundlegenden Funktionen wie dem Lesen und Schreiben von Festplatten und dem Sammeln von Informationen.

Über Solar stellte die Gruppe dann einen neuen Downloader SC5k bereit, der die Office Exchange Web Services API nutzt, um zusätzliche Tools zur Ausführung herunterzuladen, wie in Abbildung 1gezeigt . Um Browserdaten vom System des Opfers zu exfiltrieren, verwendete OilRig einen Chrome-Datendumper namens MKG.

Figure_01_OuterSpace_overview
Abbildung 1. Überblick über die Kompromittierungskette von OilRig im Outer Space

Überblick über die Juicy Mix-Kampagne

Im Jahr 2022 startete OilRig eine weitere Kampagne, die auf israelische Organisationen abzielte, dieses Mal mit einem aktualisierten Toolset. Wir nannten die Kampagne Juicy Mix, weil sie eine neue OilRig-Backdoor namens Mango verwendete (basierend auf dem internen Assembly-Namen und dem Dateinamen Mango.exe). In dieser Kampagne kompromittierten die Bedrohungsakteure eine legitime israelische Jobportal-Website, um sie für die C&C-Kommunikation zu nutzen. Die bösartigen Tools der Gruppe wurden dann gegen eine Organisation des Gesundheitswesens eingesetzt, die ebenfalls in Israel ansässig ist.

Die Mango-Backdoor der ersten Stufe ist ein Nachfolger von Solar, der ebenfalls in C#/.NET geschrieben wurde. Zu den bemerkenswerten Änderungen gehören Exfiltrationsfunktionen, die Verwendung nativer APIs und zusätzlicher Code zur Umgehung der Erkennung.

Neben Mango entdeckten wir auch zwei bisher nicht dokumentierte Browser-Daten-Dumper, die Cookies, Browser-Verlauf und Anmeldedaten aus den Browsern Chrome und Edge stehlen, sowie einen Windows Credential Manager Stealer, die wir alle OilRig zuschreiben. Diese Tools wurden alle gegen das gleiche Ziel wie Mango sowie bei anderen kompromittierten israelischen Organisationen in den Jahren 2021 und 2022 eingesetzt. Abbildung 2 gibt einen Überblick darüber, wie die verschiedenen Komponenten in der Juicy Mix-Kampagne eingesetzt wurden.

Figure_01_OuterSpace_overview
Abbildung 2. Überblick über die in der Juicy-Mix-Kampagne von OilRig verwendeten Komponenten

Technische Analyse

In diesem Abschnitt wird eine technische Analyse der Solar- und Mango-Backdoors und des SC5k-Downloaders sowie anderer Tools vorgenommen, die bei diesen Kampagnen auf den Zielsystemen eingesetzt wurden.

VBS-Dropper

Um auf dem Zielsystem Fuß zu fassen, wurden in beiden Kampagnen Visual Basic Script (VBS)-Dropper verwendet, die höchstwahrscheinlich über Spearphishing-E-Mails verbreitet wurden. Unsere nachstehende Analyse konzentriert sich auf das VBS-Skript, das für Mango (SHA-1: 3699B67BF4E381847BF98528F8CE2B966231F01A)verwendet wurde; beachten Sie, dass der Dropper von Solar sehr ähnlich ist.

Der Zweck des Droppers besteht darin, die eingebettete Mango-Backdoor zu liefern, eine Aufgabe für die Persistenz zu planen und die Kompromittierung beim C&C-Server zu registrieren. Die eingebettete Backdoor wird als eine Reihe von base64-Substrings gespeichert, die miteinander verknüpft und base64-dekodiert werden. Wie in Abbildung 3 dargestellt , verwendet das Skript auch eine einfache Technik zur Entschleierung von Zeichenketten, bei der Strings mit Hilfe von arithmetischen Operationen und der Chr-Funktion zusammengesetzt werden .

Figure_03_Mango_string_obfuscation
Abbildung 3. String Deobfuscation Technik, die von OilRigs VBS Dropper für Mango verwendet wird

Darüber hinaus fügt der VBS-Dropper von Mango eine weitere Art der String-Verschleierung und Code zum Einrichten der Persistenz und zur Registrierung beim C&C-Server hinzu. Wie in Abbildung 4 dargestellt , ersetzt das Skript zur Entschleierung einiger Zeichenketten alle Zeichen in der Menge #*+-_)(}{@$%^& durch 0 und unterteilt die Zeichenkette dann in dreistellige Zahlen, die anschließend mit der Funktion Chr in ASCII-Zeichen umgewandelt werden . Zum Beispiel wird die Zeichenkette 116110101109117+99111$68+77{79$68}46-50108109120115}77 in Msxml2.DOMDocument umgewandelt .

Figure_03_Mango_string_obfuscation
Abbildung 4. String-Verschleierungsfunktion, die von Mangos VBS-Dropper verwendet wird

Sobald die Backdoor in das System eingebettet ist, erstellt der Dropper eine geplante Aufgabe, die Mango (oder Solar, in der anderen Version) alle 14 Minuten ausführt. Schließlich sendet das Skript einen base64-kodierten Namen des kompromittierten Computers über eine POST-Anfrage, um die Backdoor bei seinem C&C-Server zu registrieren.

Solar-Backdoor

Solar ist die Backdoor, die in der Outer Space-Kampagne von OilRig verwendet wird. Diese Backdoor verfügt über grundlegende Funktionen und kann unter anderem zum Herunterladen und Ausführen von Dateien sowie zur automatischen Exfiltration von bereitgestellten Dateien verwendet werden.

Wir haben den Namen Solar in Anlehnung an den von OilRig verwendeten Dateinamen Solar.exe gewählt. Der Name passt gut, da die Backdoor ein astronomisches Namensschema für ihre Funktionsnamen und Aufgaben verwendet, die im gesamten Binärprogramm verwendet werden (Mercury, Venus, Mars, Earth und Jupiter).

Solar beginnt die Ausführung mit den in Abbildung 5 gezeigten Schritten.

Figure_03_Mango_string_obfuscation
Abbildung 5. Ablauf der anfänglichen Ausführung von Solar

Die Backdoor erstellt zwei Aufgaben, Earth und Venus, die im Speicher ausgeführt werden. Für keine der beiden Tasks gibt es eine Stoppfunktion, so dass sie unbegrenzt laufen. Earth wird alle 30 Sekunden ausgeführt, Venus alle 40 Sekunden.

Earth ist die primäre Aufgabe, die für den Großteil der Funktionen von Solar verantwortlich ist. Sie kommuniziert mit dem C&C-Server über die Funktion MercuryToSun, die grundlegende System- und Malware-Versionsinformationen an den C&C-Server sendet und dann die Antwort des Servers verarbeitet. Earth sendet die folgenden Informationen an den C&C-Server:

  • Die Zeichenfolge (@) <Systemhostname>; die gesamte Zeichenfolge ist verschlüsselt.
  • Die Zeichenfolge 1.0.0.0, verschlüsselt (möglicherweise eine Versionsnummer).
  • Die Zeichenfolge 30000, verschlüsselt (möglicherweise die geplante Laufzeit von Earth in Millisekunden).

Ver- und Entschlüsselung sind in Funktionen namens JupiterE bzw. JupiterD implementiert. Beide Funktionen rufen eine Funktion namens JupiterX auf, die eine XOR-Schleife implementiert, wie in Abbildung 6 dargestellt .

Figure_03_Mango_string_obfuscation
Abbildung 6. Die for-Schleife in JupiterX, die zum Ver- und Entschlüsseln von Daten verwendet wird

Der Schlüssel wird aus einer fest kodierten globalen String-Variablen, 6sEj7*0B7#7, und einer Nonce abgeleitet: in diesem Fall eine zufällige Hex-Zeichenkette von 2-24 Zeichen Länge. Nach der XOR-Verschlüsselung wird die Standard-Base64-Kodierung angewendet.

Als C&C-Server wurde der Webserver eines israelischen Unternehmens für Personalwesen verwendet, den OilRig irgendwann vor dem Einsatz von Solar kompromittiert hatte:

http://organization.co[.]il/project/templates/office/template.aspx?rt=d&sun=<encrypted_MachineGuid>&rn=<encryption_nonce>

Bevor sie an den URI angehängt wird, wird die Verschlüsselungs-Nonce verschlüsselt, und der Wert der anfänglichen Abfragezeichenfolge rt wird hier auf d gesetzt, was wahrscheinlich für "Download" steht.

Der letzte Schritt der Funktion MercuryToSun besteht darin, eine Antwort vom C&C-Server zu verarbeiten. Dazu wirdeine Teilzeichenkette der Antwort abgerufen, die sich zwischen den Zeichen QQ@ und @kkbefindet . Diese Antwort ist eine durch Sternchen (*) getrennte Befehlsfolge, die in einem Array verarbeitet wird. Earth führt dann die Backdoor-Befehle aus, zu denen das Herunterladen zusätzlicher Nutzdaten vom Server, das Auflisten von Dateien auf dem System des Opfers und das Ausführen bestimmter ausführbarer Dateien gehören.

Die Befehlsausgabe wird dann mit der Funktion Neptune gzip-komprimiert und mit demselben Verschlüsselungsschlüssel und einer neuen Nonce verschlüsselt. Dann werden die Ergebnisse auf den C&C-Server hochgeladen, also

http://<redacted>.co[.]il/project/templates/office/template.aspx?rt=u&sun=<MachineGuid>&rn=<new_nonce>

MachineGuid und die neue Nonce werden mit der Funktion JupiterE verschlüsselt , und hier wird der Wert von rt auf u gesetzt , wahrscheinlich für "upload".

Venus, die andere geplante Aufgabe, wird für die automatische Datenexfiltration verwendet. Diese kleine Aufgabe kopiert den Inhalt von Dateien aus einem Verzeichnis (ebenfalls Venus genannt ) auf den C&C-Server. Diese Dateien werden wahrscheinlich von einem anderen, noch nicht identifizierten OilRig-Tool hier abgelegt. Nachdem eine Datei hochgeladen wurde, löscht die Aufgabe sie von der Festplatte.

Mango-Backdoor

Für seine Juicy Mix-Kampagne wechselte OilRig von der Solar-Backdoor zu Mango. Der Arbeitsablauf ist ähnlich wie bei Solar und die Funktionen überschneiden sich, aber es gibt dennoch einige bemerkenswerte Änderungen:

  • Verwendung von TLS für die C&C-Kommunikation.
  • Verwendung nativer APIs anstelle von .NET-APIs zur Ausführung von Dateien und Shell-Befehlen.
  • Obwohl nicht aktiv genutzt, wurde ein Code zur Umgehung der Erkennung eingeführt.
  • Die Unterstützung für die automatische Exfiltration (Venus in Solar) wurde entfernt; stattdessen unterstützt Mango einen zusätzlichen Backdoor-Befehl zur Exfiltration ausgewählter Dateien.
  • Die Unterstützung für den Log-Modus wurde entfernt, und die Symbolnamen wurden verschleiert.

Im Gegensatz zu Solars astronomischem Namensschema, verschleiert Mango seine Symbolnamen, wie man in Abbildung 7sehen kann.

Figure_03_Mango_string_obfuscation
Abbildung 7. Im Gegensatz zu seinem Vorgänger Solar (links) wurden die Symbole von Mango verschleiert

Neben der Verschleierung von Symbolnamen verwendet Mango auch die String-Stacking-Methode (wie in Abbildung 8), um Zeichenketten zu verschleiern, was den Einsatz einfacher Erkennungsmethoden erschwert.

Figure_03_Mango_string_obfuscation
Abbildung 8. Mango verwendet String-Stacking, um Zeichenketten zu verschleiern und einfache Erkennungsmechanismen zu vereiteln

Ähnlich wie Solar beginnt die Mango-Backdoor mit der Erstellung einer speicherinternen Aufgabe, die alle 32 Sekunden auf unbestimmte Zeit ausgeführt werden soll. Diese Aufgabe kommuniziert mit dem C&C-Server und führt Backdoor-Befehle aus, ähnlich wie die Aufgabe Earth von Solar . Während Solar auch Venus, eine Aufgabe zur automatischen Exfiltration, erstellt, wurde diese Funktionalität in Mango durch einen neuen Backdoor-Befehl ersetzt.

In der Hauptaufgabe generiert Mango zunächst eine Opferkennung, <victimID>, die in der C&C-Kommunikation verwendet werden soll. Die ID wird als MD5-Hash von <Maschinenname><Benutzername> berechnet und als hexadezimale Zeichenfolge formatiert.

Um einen Backdoor-Befehl anzufordern, sendet Mango dann die Zeichenfolge d@<victimID>@<Maschinenname>|<Benutzername> an den C&C-Server http://www.darush.co[.]il/ads.asp - ein legitimes israelisches Jobportal, das wahrscheinlich vor dieser Kampagne von OilRig kompromittiert wurde. Wir haben die nationale israelische CERT-Organisation über die Kompromittierung informiert.

Der Request Body ist wie folgt aufgebaut:

  • Die zu übertragenden Daten werden mit dem Verschlüsselungscode Q&4g XOR-verschlüsselt und dann base64-kodiert.
  • Eine pseudozufällige Zeichenfolge von 3-14 Zeichen wird aus diesem Alphabet (wie es im Code erscheint) generiert: i8p3aEeKQbN4klFMHmcC2dU9f6gORGIhDBLS0jP5Tn7o1AVJ.
  • Die verschlüsselten Daten werden an einer pseudozufälligen Position in die generierte Zeichenfolge eingefügt, eingeschlossen zwischen [ @ und @] -Trennzeichen.

Für die Kommunikation mit dem C&C-Server verwendet Mango das TLS-Protokoll (Transport Layer Security), das eine zusätzliche Verschlüsselungsebene bietet.

In ähnlicher Weise wird der vom C&C-Server empfangene Backdoor-Befehl XOR-verschlüsselt, base64-kodiert und dann zwischen [@ und @] in den HTTP-Antwortk-Body eingeschlossen. Der Befehl selbst ist entweder NCNT (in diesem Fall wird keine Aktion ausgeführt) oder eine Zeichenkette aus mehreren Parametern, die durch @begrenzt sind, wie in Tabelle 1 gezeigt, die die Backdoor-Befehle von Mango auflistet, beschrieben . Beachten Sie, dass <Arg0> nicht in der Tabelle aufgeführt ist, aber in der Antwort an den C&C-Server verwendet wird.

Tabelle 1. Liste der Backdoor-Befehle von Mango

Arg1

Arg2

Arg3

Action taken

Return value

1 or empty string

+sp <optional arguments>

N/A

Executes the specified file/shell command (with the optional arguments), using the native CreateProcess API imported via DllImport. If the arguments contain [s], it is replaced by C:\Windows\System32\.

Command output.

+nu

N/A

Returns the malware version string and C&C URL.

<versionString>|<c2URL>; in this case:

1.0.0|http://www.darush.co[.]il/ads.asp

+fl <optional directory name>

N/A

Enumerates the content of the specified directory (or current working directory).

Directory of <directory path>

For each subdirectory:

<last_write_time> <DIR> <subdirectory name>

For each file:

<last_write_time> FILE <file size> <filename>

<number of subdirectories> Dir(s)

<number of files> File(s)

+dn <file name>

N/A

Uploads the file content to the C&C server via a new HTTP POST request formatted: u@<victimID>@<machine name>|<username>@<file path>@2@<base64encodedFileContent>.

One of:

·       file[<filename>] is uploaded to server.

·       file not found!

·       file path empty!

2

Base64-encoded data

Filename

Dumps the specified data into a file in the working directory.

file downloaded to path[<fullFilePath>]

Jeder Backdoor-Befehl wird in einem neuen Thread behandelt, und die Rückgabewerte werden dann base64-kodiert und mit anderen Metadaten kombiniert. Schließlich wird diese Zeichenfolge mit demselben Protokoll und derselben Verschlüsselungsmethode wie oben beschrieben an den C&C-Server gesendet.

Ungenutzte Technik zur Umgehung der Erkennung

Interessanterweise haben wir in Mango eine ungenutzte Technik zur Umgehung der Erkennung gefunden. Die Funktion, die für die Ausführung der vom C&C-Server heruntergeladenen Dateien und Befehle verantwortlich ist, benötigt einen optionalen zweiten Parameter - eine Prozess-ID. Falls gesetzt, verwendet Mango die UpdateProcThreadAttribute API, um das PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY (0x20007) Attribut für den angegebenen Prozess auf einen Wert zu setzen: PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON (0x100000000000), wie in Abbildung 9 dargestellt .

Figure_03_Mango_string_obfuscation
Abbildung 9. Nicht verwendeter Code zur Umgehung von Sicherheitsprodukten in der Mango-Backdoor

Das Ziel dieser Technik ist es, Endpoint-Sicherheitslösungen daran zu hindern, ihre Code-Hooks für den Benutzermodus über eine DLL in diesem Prozess zu laden. Obwohl der Parameter in dem von uns analysierten Beispiel nicht verwendet wurde, könnte er in zukünftigen Versionen aktiviert werden.

Version 1.1.1

Unabhängig von der Juicy Mix-Kampagne fanden wir im Juli 2023 eine neue Version der Mango-Backdoor (SHA-1: C9D18D01E1EC96BE952A9D7BD78F6BBB4DD2AA2A), die von mehreren Benutzern unter dem Namen Menorah.exe auf VirusTotal hochgeladen wurde. Die interne Version in diesem Beispiel wurde von 1.0.0 auf 1.1.1 geändert, aber die einzige bemerkenswerte Änderung ist die Verwendung eines anderen C&C-Servers, http://tecforsc-001-site1.gtempurl[.]com/ads.asp.

Zusammen mit dieser Version haben wir auch ein Microsoft Word-Dokument (SHA-1: 3D71D782B95F13EE69E96BCF73EE279A00EAE5DB) mit einem bösartigen Makro entdeckt , das die Backdoor öffnet. Abbildung 10 zeigt die gefälschte Warnmeldung, die den Benutzer dazu verleitet, Makros für das Dokument zu aktivieren, und den Scheininhalt, der anschließend angezeigt wird, während der bösartige Code im Hintergrund ausgeführt wird.

Abbildung 10. Microsoft Word-Dokument mit einem bösartigen Makro, das Mango v1.1.1 ablegt

Tools für die Zeit nach der Kompromittierung

In diesem Abschnitt wird eine Auswahl der in den OilRig-Kampagnen "Outer Space" und "Juicy Mix" verwendeten Post-Compromise-Tools vorgestellt, die darauf abzielen, zusätzliche Payloads herunterzuladen und auszuführen sowie Daten von den angegriffenen Systemen zu stehlen.

SampleCheck5000 (SC5k)-Downloader

SampleCheck5000 (oder SC5k) ist ein Downloader, der zum Herunterladen und Ausführen zusätzlicher OilRig-Tools verwendet wird. Er zeichnet sich dadurch aus, dass er die Microsoft Office Exchange Web Services API für die C&C-Kommunikation nutzt: Die Angreifer erstellen Nachrichtenentwürfe in diesem E-Mail-Konto und verstecken darin die Backdoor-Befehle. Anschließend loggt sich der Downloader in dasselbe Konto ein und analysiert die Entwürfe, um die auszuführenden Befehle und Payloads zu erhalten.

SC5k verwendet vordefinierte Werte - Microsoft Exchange-URL, E-Mail-Adresse und Kennwort -, um sich beim entfernten Exchange-Server anzumelden, unterstützt aber auch die Option, diese Werte mithilfe einer Konfigurationsdatei im aktuellen Arbeitsverzeichnis namens setting.key zu überschreiben. Wir haben den Namen SampleCheck5000 gewählt, basierend auf einer der E-Mail-Adressen, die das Tool in der Outer Space-Kampagne verwendet hat.

Sobald sich SC5k beim entfernten Exchange-Server anmeldet, ruft es alle E-Mails im Verzeichnis Entwürfe ab , sortiert sie nach dem neuesten Stand und behält nur die Entwürfe mit Anhängen bei. Anschließend werden alle Entwürfe mit Anhängen nach JSON-Anhängen durchsucht, die "Data" im Textkörper enthalten. Er extrahiert den Wert aus dem Schlüssel data in der JSON-Datei, dekodiert und entschlüsselt den Wert mit base64 und ruft cmd.exe auf , um die resultierende Befehlszeilenzeichenfolge auszuführen. SC5k speichert dann die Ausgabe der Ausführung von cmd.exe in einer lokalen Variablen.

Als nächsten Schritt in der Schleife meldet der Downloader die Ergebnisse an die OilRig-Operatoren, indem er eine neue E-Mail-Nachricht auf dem Exchange-Server erstellt und als Entwurf speichert (nicht sendet), wie in Abbildung 11gezeigt . Eine ähnliche Technik wird verwendet, um Dateien aus einem lokalen Staging-Ordner zu exfiltrieren. Als letzten Schritt in der Schleife protokolliert SC5k die Befehlsausgabe in einem verschlüsselten und komprimierten Format auf der Festplatte.

Figure_03_Mango_string_obfuscation
Abbildung 11. Erstellung einer E-Mail-Nachricht durch SC5k

Browser-Datendumper

Es ist typisch für die OilRig-Betreiber, dass sie bei ihren Aktivitäten nach der Kompromittierung Browser-Daten-Dumper verwenden. Wir haben zwei neue Browser-Datendumper unter den Tools entdeckt, die in der Juicy Mix-Kampagne zusammen mit der Mango-Backdoor eingesetzt wurden. Sie dumpen die gestohlenen Browserdaten im %TEMP%-Verzeichnis in Dateien namens Cupdate und Eupdate (daher unsere Namen für sie: CDumper und EDumper).

Bei beiden Tools handelt es sich um C#/.NET-Browser-Datenstehler, die Cookies, Browserverlauf und Anmeldeinformationen aus den Browsern Chrome (CDumper) und Edge (EDumper) sammeln. Wir konzentrieren uns bei unserer Analyse auf CDumper, da beide Stealer mit Ausnahme einiger Konstanten praktisch identisch sind.

Bei der Ausführung erstellt CDumper eine Liste von Benutzern, die Google Chrome installiert haben. Bei der Ausführung stellt der Stealer eine Verbindung zu den Chrome-SQLite-Datenbanken für CookiesHistory und Login Data unter %APPDATA%\Local\Google\Chrome\User Data her und sammelt mithilfe von SQL-Abfragen Browserdaten einschließlich besuchter URLs und gespeicherter Anmeldungen.

Die Cookie-Werte werden dann entschlüsselt, und alle gesammelten Informationen werden in einer Protokolldatei namens C:\Users\<user>\AppData\Local\Temp\Cupdate im Klartext gespeichert. Diese Funktionalität ist in CDumper-Funktionen namens CookieGrab (siehe Abbildung 12 ), HistoryGrab und PasswordGrab implementiert . Beachten Sie, dass in CDumper kein Exfiltrationsmechanismus implementiert ist, aber Mango kann ausgewählte Dateien über einen Backdoor-Befehl exfiltrieren.

Figure_03_Mango_string_obfuscation
Abbildung 12. Die CookieGrab-Funktion von CDumper entnimmt und entschlüsselt Cookies aus dem Chrome-Datenspeicher

Sowohl bei Outer Space als auch bei der früheren Out to Sea-Kampagne verwendete OilRig einen C/C++ Chrome-Datendumper namens MKG. Wie CDumper und EDumper war auch MKG in der Lage, Benutzernamen und Kennwörter, den Browserverlauf und Cookies aus dem Browser zu stehlen. Dieser Chrome-Datendumper wird in der Regel an den folgenden Dateispeicherorten bereitgestellt (wobei der erste Speicherort der häufigste ist):

  • %USERS%\public\programs\vmwaredir\<random_14_character_string>\mkc.exe
  • %USERS%\Public\M64.exe

Windows Credential Manager Stealer

Neben Browser-Daten-Dumping-Tools setzte OilRig in der Juicy Mix-Kampagne auch einen Windows Credential Manager Stealer ein. Dieses Tool stiehlt Anmeldedaten vom Windows Credential Manager und speichert sie, ähnlich wie CDumper und EDumper, im Verzeichnis %TEMP% - in diesem Fall in einer Datei namens IUpdate (daher der Name IDumper). Im Gegensatz zu CDumper und EDumper ist IDumper als PowerShell-Skript implementiert.

Wie bei den Browser-Dumper-Tools ist es auch bei OilRig nicht unüblich, Anmeldedaten vom Windows Credential Manager zu sammeln. In der Vergangenheit wurden die OilRig-Mitarbeiter dabei beobachtet, wie sie VALUEVAULT, ein öffentlich verfügbares, Go kompiliertes Tool zum Diebstahl von Anmeldeinformationen (siehe HardPass-Kampagne 2019 und eine Kampagne 2020), für denselben Zweck verwendeten.

Fazit

OilRig ist weiterhin innovativ und entwickelt neue Implantate mit Backdoor-ähnlichen Fähigkeiten und findet neue Wege, um Befehle auf entfernten Systemen auszuführen. Die Gruppe verbesserte ihre C#/.NET Solar-Backdoor aus der Outer Space-Kampagne, um eine neue Backdoor namens Mango für die Juicy Mix-Kampagne zu entwickeln. Die Gruppe setzt eine Reihe von benutzerdefinierten Tools für die Zeit nach der Kompromittierung ein, die zum Sammeln von Anmeldeinformationen, Cookies und Browserverläufen aus den wichtigsten Browsern und dem Windows Credential Manager verwendet werden. Trotz dieser Innovationen verlässt sich OilRig auch weiterhin auf bewährte Methoden zur Beschaffung von Benutzerdaten.

IoCs

Dateien

SHA-1

Filename

ESET detection name

Description

3D71D782B95F13EE69E96BCF73EE279A00EAE5DB

MyCV.doc

VBA/OilRig.C

Document with malicious macro dropping Mango.

3699B67BF4E381847BF98528F8CE2B966231F01A

chrome_log.vbs

VBS/TrojanDropper.Agent.PCC

VBS dropper.

1DE4810A10FA2D73CC589CA403A4390B02C6DA5E

Solar.exe

MSIL/OilRig.E

Solar backdoor.

CB26EBDE498ECD2D7CBF1BC498E1BCBB2619A96C

Mango.exe

MSIL/OilRig.E

Mango backdoor (v1.0.0).

C9D18D01E1EC96BE952A9D7BD78F6BBB4DD2AA2A

Menorah.exe

MSIL/OilRig.E

Mango backdoor (v1.1.1).

83419CBA55C898FDBE19DFAFB5B1B207CC443190

EdgeUpdater.exe

MSIL/PSW.Agent.SXJ

Edge data dumper.

DB01095AFEF88138C9ED3847B5D8AF954ED7BBBC

Gr.exe

MSIL/PSW.Agent.SXJ

Chrome data dumper.

BE01C95C2B5717F39B550EA20F280D69C0C05894

ieupdater.exe

PowerShell/PSW.Agent.AH

Windows Credential Manager dumper.

6A1BA65C9FD8CC9DCB0657977DB2B03DACDD8A2A

mkc.exe

Win64/PSW.Agent.AW

MKG - Chrome data dumper.

94C08A619AF2B08FEF08B131A7A59D115C8C2F7B

mkkc.exe

Win64/PSW.Agent.AW

MKG - Chrome data dumper.

CA53B8EB76811C1940D814AAA8FE875003805F51

cmk.exe

Win64/PSW.Agent.AW

MKG - Chrome data dumper.

BE9B6ACA8A175DF61F2C75932E029F19789FD7E3

CCXProcess.exe

MSIL/OilRig.A

SC5k downloader (32-bit version).

2236D4DCF68C65A822FF0A2AD48D4DF99761AD07

acrotray.exe

MSIL/OilRig.D

SC5k downloader (64-bit version).

EA8C3E9F418DCF92412EB01FCDCDC81FDD591BF1

node.exe

MSIL/OilRig.D

SC5k downloader (64-bit version).

Netzwerk

IP

Domain

Hosting provider

First seen

Details

199.102.48[.]42

tecforsc-001-site1.gtempurl[.]com

MarquisNet

2022-07-29

N/A

MITRE ATT&CK-Techniken

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

Tactic

ID

Name

Description

Resource Development

T1584.004

Compromise Infrastructure: Server

In both Outer Space and Juicy Mix campaigns, OilRig has compromised legitimate websites to stage malicious tools and for C&C communications.

T1587.001

Develop Capabilities: Malware

OilRig has developed custom backdoors (Solar and Mango), a downloader (SC5k), and a set of credential-theft tools for use in its operations.

T1608.001

Stage Capabilities: Upload Malware

OilRig has uploaded malicious components to its C&C servers, and stored prestaged files and commands in the Drafts email directory of an Office 365 account for SC5k to download and execute.

T1608.002

Stage Capabilities: Upload Tool

OilRig has uploaded malicious tools to its C&C servers, and stored prestaged files in the Drafts email directory of an Office 365 account for SC5k to download and execute.

Initial Access

T1566.001

Phishing: Spearphishing Attachment

OilRig probably distributed its Outer Space and Juicy Mix campaigns via phishing emails with their VBS droppers attached.

Execution

T1053.005

Scheduled Task/Job: Scheduled Task

OilRig’s IDumper, EDumper, and CDumper tools use scheduled tasks named ie<user>, ed<user>, and cu<user> to execute themselves under the context of other users.

Solar and Mango use a C#/.NET task on a timer to iteratively execute their main functions.

T1059.001

Command and Scripting Interpreter: PowerShell

OilRig’s IDumper tool uses PowerShell for execution.

T1059.003

Command and Scripting Interpreter: Windows Command Shell

OilRig’s Solar, SC5k, IDumper, EDumper, and CDumper use cmd.exe to execute tasks on the system.

T1059.005

Command and Scripting Interpreter: Visual Basic

OilRig uses a malicious VBScript to deliver and persist its Solar and Mango backdoors.

T1106

Native API

OilRig’s Mango backdoor uses the CreateProcess Windows API for execution.

Persistence

T1053.005

Scheduled Task/Job: Scheduled Task

OilRig’s VBS dropper schedules a task named ReminderTask to establish persistence for the Mango backdoor.

Defense Evasion

T1036.005

Masquerading: Match Legitimate Name or Location

OilRig uses legitimate or innocuous filenames for its malware to disguise itself from defenders and security software.

T1027.002

Obfuscated Files or Information: Software Packing

OilRig has used SAPIEN Script Packager and SmartAssembly obfuscator to obfuscate its IDumper tool.

T1027.009

Obfuscated Files or Information: Embedded Payloads

OilRig’s VBS droppers have malicious payloads embedded within them as a series of base64 substrings.

T1036.004

Masquerading: Masquerade Task or Service

In order to appear legitimate, Mango’s VBS dropper schedules a task with the description Start notepad at a certain time.

T1070.009

Indicator Removal: Clear Persistence

OilRig’s post-compromise tools delete their scheduled tasks after a certain time period.

T1140

Deobfuscate/Decode Files or Information

OilRig uses several obfuscation methods to protect its strings and embedded payloads.

T1553

Subvert Trust Controls

SC5k uses Office 365, generally a trusted third party and often overlooked by defenders, as a download site.

T1562

Impair Defenses

OilRig’s Mango backdoor has an (as yet) unused capability to block endpoint security solutions from loading their user-mode code in specific processes.

Credential Access

T1555.003

Credentials from Password Stores: Credentials from Web Browsers

OilRig’s custom tools MKG, CDumper, and EDumper can obtain credentials, cookies, and browsing history from Chrome and Edge browsers.

T1555.004

Credentials from Password Stores: Windows Credential Manager

OilRig’s custom credential dumping tool IDumper can steal credentials from the Windows Credential Manager.

Discovery

T1082

System Information Discovery

Mango obtains the compromised computer name.

T1083

File and Directory Discovery

Mango has a command to enumerate the content of a specified directory.

T1033

System Owner/User Discovery

Mango obtains the victim’s username.

T1087.001

Account Discovery: Local Account

OilRig’s EDumper, CDumper, and IDumper tools can enumerate all user accounts on the compromised host.

T1217

Browser Information Discovery

MKG dumps Chrome history and bookmarks.

Command and Control

T1071.001

Application Layer Protocol: Web Protocols

Mango uses HTTP in C&C communications.

T1105

Ingress Tool Transfer

Mango has the capability to download additional files from the C&C server for subsequent execution.

T1001

Data Obfuscation

Solar and SC5k use a simple XOR-encryption method along with gzip compression to obfuscate data at rest and in transit.

T1102.002

Web Service: Bidirectional Communication

SC5k uses Office 365 for downloading files from and uploading files to the Drafts directory in a legitimate email account.

T1132.001

Data Encoding: Standard Encoding

Solar, Mango, and MKG base64 decodes data before sending it to the C&C server.

T1573.001

Encrypted Channel: Symmetric Cryptography

Mango uses an XOR cipher with the key Q&4g to encrypt data in C&C communication.

T1573.002

Encrypted Channel: Asymmetric Cryptography

Mango uses TLS for C&C communication.

Exfiltration

T1041

Exfiltration Over C2 Channel

Mango, Solar, and SC5k use their C&C channels for exfiltration.