ESET-Forscher analysierten eine Reihe von OilRig-Downloadern, die die Gruppe in mehreren Kampagnen im Jahr 2022 eingesetzt hat, um sich Zugang zu Zielorganisationen von besonderem Interesse zu verschaffen - alle mit Sitz in Israel. Diese leichtgewichtigen Downloader, die wir SampleCheck5000 (SC5k v1-v3), OilCheck, ODAgent und OilBooster genannt haben, zeichnen sich dadurch aus, dass sie eine von mehreren legitimen Cloud-Service-APIs für die C&C-Kommunikation und die Datenexfiltration verwenden: die Microsoft Graph OneDrive- oder Outlook-APIs und die Microsoft Office Exchange Web Services (EWS) API.

In allen Fällen verwenden die Downloader ein gemeinsames, von OilRig betriebenes Konto (E-Mail oder Cloud-Speicher), um Nachrichten mit den OilRig-Betreibern auszutauschen. Das gleiche Konto wird in der Regel für mehrere Opfern genutzt. Die Downloader greifen auf dieses Konto zu, um Befehle und zusätzliche Payloads herunterzuladen, die von den Betreibern bereitgestellt wurden, und um Befehlsausgaben und bereitgestellte Dateien hochzuladen.

Wir entdeckten den ersten Downloader der Serie, SC5k (v1), im November 2021, als er in der OilRig-Kampagne "Outer Space" eingesetzt wurde, die in unserem letzten Blogpost dokumentiert wurde. Im aktuellen Blogpost konzentrieren wir uns auf alle SC5k-Nachfolger, die OilRig im Laufe des Jahres 2022 entwickelt hat, wobei alle paar Monate eine neue Variante eingeführt wurde. Wir werden auch einen genaueren Blick auf die Mechanismen dieser Downloader werfen. Wir vergleichen diese Downloader auch mit anderen OilRig-Backdoors, die E-Mail-basierte C&C-Protokolle verwenden und über die Trend Micro (MrPerfectionManager) und Symantec (PowerExchange) Anfang des Jahres berichtet haben.

Schließlich erweitert dieser Blogpost auch unsere LABScon 2023-Präsentation, in der wir genauer untersucht haben, wie OilRig den Zugang zu ausgewählten israelischen Organisationen aufrechterhält: Alle in diesem Blogpost untersuchten Downloader wurden in Netzwerken eingesetzt, die zuvor von mehreren OilRig-Tools betroffen waren, was die Tatsache unterstreicht, dass OilRig hartnäckig auf dieselben Organisationen abzielt und entschlossen ist, in kompromittierten Netzwerken weiter Fuß zu fassen.

Die wichtigsten Punkte dieses Blogposts:

  • OilRig hat im Jahr 2022 aktiv eine Reihe von Downloadern mit einer ähnlichen Logik entwickelt und eingesetzt: drei neue Downloader - ODAgent, OilCheck, OilBooster - und neuere Versionen des SC5k-Downloaders.
  • Die Downloader nutzen verschiedene legitime Cloud-Service-APIs für die C&C-Kommunikation und die Datenexfiltration: Microsoft Graph OneDrive API, Microsoft Graph Outlook API und Microsoft Office EWS API.
  • Zu den Zielen, die sich alle in Israel befanden, gehörten eine Organisation im Gesundheitssektor, ein Fertigungsunternehmen, eine lokale Regierungsorganisation und andere Organisationen.
  • Alle Ziele waren zuvor schon von mehreren OilRig-Kampagnen betroffen.

Zuschreibung

OilRig, auch bekannt als APT34, Lyceum, Crambus oder Siamesekitten, ist eine Cyberspionage-Gruppe, die seit mindestens 2014 aktiv ist und von der allgemein angenommen wird, dass sie ihren Sitz im Iran hat. Die Gruppe zielt auf die Regierungen des Nahen Ostens und eine Reihe 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 seine 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, wie in der Ausgabe T3 2021 des ESET Threat Report erwähnt. In den Jahren 2022 und 2023 führte die Gruppe mehrere Angriffe auf lokale Regierungsbehörden und Organisationen des Gesundheitswesens in Israel durch und nutzte dabei ihre neuen Backdoors Solar und Mango. Im Jahr 2023 griff OilRig Organisationen im Nahen Osten mit den Backdoors PowerExchange und MrPerfectionManager sowie damit verbundenen Tools an, um die Anmeldedaten für interne Mailbox-Konten abzufangen und diese Konten dann für die Exfiltration zu nutzen.

Basierend auf diesen Indikatoren schreiben wir die Downloader SC5k (v1-v3), ODAgent, OilCheck und OilBooster mit hoher Wahrscheinlichkeit OilRig zu:

  • Ziele
    • Diese Downloader wurden ausschließlich gegen israelische Organisationen eingesetzt, was mit den typischen OilRig-Zielen übereinstimmt.
    • Die beobachteten Branchen der Opfer stimmen ebenfalls mit den Interessen von OilRig überein - wir haben zum Beispiel gesehen, dass OilRig schon früher auf den israelischen Gesundheitssektor und den lokalen Regierungssektor in Israel abzielte.
  • Code-Ähnlichkeiten
    • Die Downloader SC5k v2 und v3 haben sich aus der ursprünglichen Version entwickelt, die zuvor in der "Outer Space" OilRig-Kampagne verwendet wurde. ODAgent, OilCheck und OilBooster haben eine ähnliche Logik und nutzen alle verschiedene Cloud-Service-Anbieter für ihre C&C-Kommunikation, ebenso wie SC5k, Marlin, PowerExchange und MrPerfectionManager.
    • Diese Downloader sind zwar nicht nur bei OilRig anzutreffen, aber sie sind nicht sonderlich ausgefeilt und verhalten sich auf dem System oft unnötig auffällig, was wir bereits bei der Out to Sea-Kampagne beobachtet haben.

Überblick

Im Februar 2022 entdeckten wir einen neuen OilRig-Downloader, den wir aufgrund seines Dateinamens ODAgent nannten: ODAgent.exe. ODAgent ist ein C#/.NET-Downloader, der ähnlich wie die Marlin-Backdoor von OilRig die Microsoft OneDrive-API für die C&C-Kommunikation nutzt. Im Gegensatz zu Marlin, die eine umfassende Liste von Backdoor-Befehlen unterstützt, beschränken sich die Fähigkeiten von ODAgent auf das Herunterladen und Ausführen von Payloads sowie auf das Exfiltrieren von bereitgestellten Dateien.

ODAgent wurde im Netzwerk eines israelischen Fertigungsunternehmens entdeckt - interessanterweise war dasselbe Unternehmen zuvor von OilRigs SC5k-Downloader und später von einem anderen neuen Downloader, OilCheck, zwischen April und Juni 2022 betroffen. SC5k und OilCheck verfügen über ähnliche Funktionen wie ODAgent, nutzen jedoch Cloud-basierte E-Mail-Dienste für ihre C&C-Kommunikation.

Im Laufe des Jahres 2022 beobachteten wir, dass sich dasselbe Muster mehrfach wiederholte und neue Downloader in den Netzwerken früherer OilRig-Ziele eingesetzt wurden: So entdeckten wir beispielsweise zwischen Juni und August 2022 die Downloader OilBooster, SC5k v1 und SC5k v2 sowie die Shark-Backdoor, die alle im Netzwerk einer lokalen Regierungsorganisation in Israel eingesetzt wurden. Später entdeckten wir eine weitere SC5k-Version (v3) im Netzwerk einer israelischen Gesundheitsorganisation, die ebenfalls ein früheres OilRig-Opfer war.

SC5k ist eine C#/.NET-Anwendung, deren Zweck es ist, zusätzliche OilRig-Tools unter Verwendung der Office Exchange Web Services (EWS) API herunterzuladen und auszuführen. Mit den neuen Versionen wurden Änderungen eingeführt, die Analysten das Auffinden und die Analyse der bösartigen Payloads erschweren (SC5k v2), sowie neue Exfiltrationsfunktionen (SC5k v3).

Alle Downloader, die in Abbildung 1 zusammengefasst sind, haben eine ähnliche Logik, sind jedoch unterschiedlich implementiert und werden im Laufe der Zeit immer komplexer, wobei sich C#/.NET-Binärdateien mit C/C++-Anwendungen abwechseln, die für die C&C-Kommunikation missbrauchten Cloud-Service-Anbieter variieren und andere Besonderheiten auftreten.

Figure 1 Timeline of OilRig’s downloaders
Abbildung 1. Zeitleiste der Downloader von OilRig

OilRig hat diese Downloader nur gegen eine begrenzte Anzahl von Zielen eingesetzt, die sich alle in Israel befinden und laut ESET-Telemetrie bereits Monate zuvor von anderen OilRig-Tools angegriffen wurden. Da es in Unternehmen üblich ist, auf Office 365-Ressourcen zuzugreifen, können sich die von OilRig mit Cloud-Diensten betriebenen Downloader leichter in den regulären Netzwerkverkehr einfügen - offenbar auch der Grund, warum sich die Angreifer dafür entschieden haben, diese Downloader auf eine kleine Gruppe besonders interessanter, wiederholt angegriffener Ziele zu verteilen.

Zum Zeitpunkt der Erstellung dieses Berichts waren die folgenden (ausschließlich israelischen, wie oben erwähnt) Organisationen betroffen:

  • ein Fertigungsunternehmen (SC5k v1, ODAgent und OilCheck),
  • eine lokale Regierungsorganisation (SC5k v1, OilBooster und SC5k v2),
  • eine Organisation im Gesundheitswesen (SC5k v3) und
  • andere nicht identifizierte Organisationen in Israel (SC5k v1).

Leider liegen uns keine Informationen über den ursprünglichen Angriffsvektor vor, mit dem die in diesem Blogpost besprochenen Ziele kompromittiert wurden. Wir können nicht bestätigen, ob die Angreifer in der Lage waren, dieselben Organisationen wiederholt erfolgreich zu kompromittieren, oder ob es ihnen irgendwie gelungen ist, zwischen dem Einsatz der verschiedenen Tools im Netzwerk Fuß zu fassen.

Technische Analyse

In diesem Abschnitt bieten wir eine technische Analyse der von OilRig im Jahr 2022 verwendeten Downloader mit Details darüber, wie sie verschiedene Cloud-Speicherdienste und Cloud-basierte E-Mail-Anbieter für ihre C&C-Kommunikation missbrauchen. Alle diese Downloader folgen einer ähnlichen Logik:

  • Sie verwenden ein gemeinsames Konto (E-Mail oder Cloud-Speicher), um Nachrichten mit den OilRig-Betreibern auszutauschen. Dasselbe Konto kann für mehrere Opfer verwendet werden.
  • Sie greifen auf dieses Konto zu, um Befehle und zusätzliche Payloads herunterzuladen, die von den Betreibern bereitgestellt wurden, und um Befehlsausgaben und bereitgestellte Dateien hochzuladen.

In unserer Analyse konzentrieren wir uns auf diese Merkmale der Downloader:

  • Besonderheiten des Netzwerkkommunikationsprotokolls (z. B. Microsoft Graph API vs. Microsoft Office EWS API).
  • Der Mechanismus zur Unterscheidung zwischen verschiedenen vom Angreifer und vom Downloader hochgeladenen Nachrichten im gemeinsamen Konto, einschließlich des Mechanismus zur Unterscheidung zwischen Nachrichten, die von verschiedenen Opfern hochgeladen wurden.
  • Einzelheiten darüber, wie die Downloader Befehle verarbeiten und Payloads vom gemeinsamen Konto heruntergeladen werden.

Tabelle 1 fasst zusammen und vergleicht, wie die einzelnen Downloader diese Merkmale implementieren. Anschließend analysieren wir den ersten (SC5k) und den komplexesten (OilBooster) Downloader im Detail als Beispiele für Tools, die Cloud-basierte E-Mail-Dienste bzw. Cloud-Speicherdienste missbrauchen.

Tabelle 1. Zusammenfassung der Hauptmerkmale der OilRig-Downloader, die legitime Cloud-Service-Anbieter missbrauchen

Mechanism

SC5k v1

SC5k v2

SC5k v3

OilCheck

OilBooster

ODAgent

C&C protocol

A shared Microsoft Exchange email account, C&C communication embedded in draft messages.

A shared OneDrive account; files with various extensions to distinguish action types.

Network communica­tions

Microsoft Office EWS API

Microsoft Graph (Outlook) API

Microsoft Graph (OneDrive) API.

Victim identification mechanism

The sg extended property of the email draft is set to <victimID>.

An unknown extended email property is set to <victimID>.

From field has the username portion of the email address set to <victimID>.

The zigorat extended property of the email draft is set to <victimID>.

All communication for, and from, the specific victim is uploaded to a victim-specific subdirectory named <victimID>.

Keep-alive message

The type extended property of the email draft is set to 3; the current GMT time is in the email body.

An unknown extended property of the email draft is set to 0; the email body is empty.

The From field of the email draft is set to <victimID>@yahoo.com; the current GMT time is in the email body.

The type extended property of the email draft is set to 3; the current GMT time is in the email body.

A file named <victimID>/setting.ini.

A file named <victimID>/info.ini.

File for download

The type extended property of the email draft is set to 1; the attached file has any extension other than .json.

An unknown extended property of the email draft is set to 1; the attached file has any extension other than .bin.

The From field of the email draft is set to <victimID>@outlook.com, with the message category set to file.

The type extended property of the email draft is set to 1; the attached file has a .biz extension.

A file with a .docx extension in the <victimID>/items subdirectory.

A non-JSON file in the <victimID>/o subdirectory.

Exfiltrated file

The type extended property of the email draft is set to 2; the attached file has the .tmp1 extension.

An unknown extended property of the email draft is set to 2; the attached file has a .tmp extension.

The From field of the email draft is set to <victimID>@aol.com, with the file category.

The type extended property of the email draft is set to 2; the attached file has a .biz extension.

A file with a .xlsx extension in the <victimID>/items subdirectory.

A non-JSON file in the <victimID>/i subdirectory.

Command for execution

The type extended property of the email draft is set to 1; the attached file has a .json extension.

An unknown extended property of the email draft is set to 1; the attached file has a .bin extension.

The From field of the email draft is set to <victimID>@outlook.com, without the file category.

The type extended property of the email draft is set to 1; the attached file has any extension other than .biz.

A file with a .doc extension in the <victimID>/items subdirectory.

A JSON file in the <victimID>/o subdirectory.

Command output

The type extended property of the email draft is set to 2; the attached file has a .json extension.

An unknown extended property of the email draft is set to 2; the attached file has a .bin extension.

The From field of the email draft is set to <victimID>@aol.com, with the text category.

The type extended property of the email draft is set to 2.

A file with a .xls extension in the <victimID>/items subdirectory.

A JSON file in the <victimID>/i subdirectory.

SC5k-Downloader

Der SampleCheck5000 (oder SC5k) Downloader ist eine C#/.NET-Anwendung und der erste in einer Reihe von OilRigs leichtgewichtigen Downloadern, die legitime Cloud-Dienste für ihre C&C-Kommunikation nutzen. Wir haben die erste Variante in unserem letzten Blogpost kurz dokumentiert und haben seitdem zwei neuere Varianten entdeckt.

Alle SC5k-Varianten verwenden die Microsoft Office EWS-API, um mit einem gemeinsam genutzten Exchange-E-Mail-Konto zu interagieren, um zusätzliche Payloads und Befehle herunterzuladen und Daten hochzuladen. E-Mail-Entwürfe und ihre Anhänge sind in allen Versionen dieses Downloaders das primäre Vehikel für den C&C-Verkehr, aber die späteren Versionen erhöhen die Komplexität dieses C&C-Protokolls (SC5k v3) und fügen Fähigkeiten zur Umgehung der Erkennung hinzu (SC5k v2). Dieser Abschnitt konzentriert sich darauf, diese Unterschiede hervorzuheben.

Für die C&C-Kommunikation verwendetes Exchange-Konto

Zur Laufzeit stellt SC5k über die EWS-API eine Verbindung zu einem entfernten Exchange-Server her, um zusätzliche Payloads und Befehle zu erhalten, die von einem E-Mail-Konto ausgeführt werden, das der Angreifer (und in der Regel auch andere Opfer) gemeinsam nutzen. Standardmäßig erfolgt der Zugriff auf ein Microsoft Office 365 Outlook-Konto über die URL https://outlook.office365.com/EWS/Exchange.asmx unter Verwendung von hartcodierten Anmeldeinformationen, aber einige SC5k-Versionen sind auch in der Lage, eine Verbindung zu anderen entfernten Exchange-Servern herzustellen, wenn eine Konfigurationsdatei mit einem hartcodierten Namen(setting.key, set.idl) und den entsprechenden Anmeldeinformationen darin vorhanden ist.

Wir haben die folgenden E-Mail-Adressen gesehen, die von SC5k-Versionen für die C&C-Kommunikation verwendet wurden, wobei die erste davon dem Downloader seinen Namen gab:

  • samplecheck5000@outlook.com
  • FrancesLPierce@outlook.com
  • SandraRCharles@outlook.com

In SC5k v2 sind die Standard-URL von Microsoft Exchange, die E-Mail-Adresse und das Passwort nicht im Hauptmodul enthalten - stattdessen wurde der Code des Downloaders in mehrere Module aufgeteilt. Wir haben nur Variationen der Hauptanwendung entdeckt, die sich bei einem entfernten Exchange-Server anmeldet, die E-Mails im Verzeichnis Drafts ("Entwürfe") durchläuft und zusätzliche Payloads aus ihren Anhängen extrahiert. Diese Anwendung hängt jedoch von zwei externen Klassen ab, die in den entdeckten Samples nicht vorhanden waren und wahrscheinlich in dem/den fehlenden Modul(en) implementiert sind:

  • Die Klasse init sollte eine Schnittstelle bereitstellen, um die E-Mail-Adresse, den Benutzernamen und das Kennwort, die für die Anmeldung bei dem entfernten Exchange-Konto erforderlich sind, sowie andere Konfigurationswerte von dem anderen Modul zu erhalten.
  • Die Klasse structure sollte Funktionen für die Verschlüsselung, Komprimierung, Ausführung heruntergeladener Payloads und andere Hilfsfunktionen implementieren.

Diese Änderungen wurden wahrscheinlich eingeführt, um Analysten das Auffinden und die Analyse der bösartigen Payloads zu erschweren, da die beiden fehlenden Klassen für die Identifizierung des für die Malware-Verteilung verwendeten Exchange-Kontos entscheidend sind.

C&C- und Exfiltrationsprotokoll

In allen Versionen meldet sich der SC5k-Downloader wiederholt bei einem entfernten Exchange-Server an, indem er die .NET-Klasse ExchangeService im Namespace Microsoft.Exchange.WebServices.Data verwendet, um mit der EWS-API zu interagieren. Sobald die Verbindung hergestellt ist, liest SC5k E-Mail-Nachrichten mit Anhängen im Verzeichnis Drafts, um Angreiferbefehle und zusätzliche Payloads zu extrahieren. Umgekehrt exfiltriert SC5k bei jeder Verbindung Dateien aus einem lokalen Staging-Verzeichnis, indem er neue E-Mail-Entwürfe in demselben E-Mail-Konto erstellt. Der Pfad zum Staging-Verzeichnis variiert in den einzelnen Samples.

Interessant ist die Art und Weise, wie sowohl die Betreiber als auch die verschiedenen Instanzen dieses Downloaders zwischen den verschiedenen Arten von Entwürfen in dem gemeinsamen E-Mail-Konto unterscheiden können. Zum einen ist in jedem E-Mail-Entwurf eine <victimID> enthalten, wodurch dasselbe Exchange-Konto für mehrere OilRig-Opfer verwendet werden kann:

  • Bei v1 und v2 überträgt der Downloader die <victimID> als benutzerdefiniertes Attribut des E-Mail-Entwurfs über die Methode SetExtendedProperty.
  • Bei v3 nimmt der Downloader die <victimID> in das Feld From des E-Mail-Entwurfs auf.

Die <victimID> wird in der Regel anhand der Informationen des kompromittierten Systems generiert, z. B. der Volume-ID des Systems oder des Computernamens, wie in Abbildung 2 dargestellt.

Figure 2 SC5k v3 calculates a victimID from the compromised computer’s name
Abbildung 2. SC5k v3 errechnet eine <victimID> aus dem Namen des kompromittierten Computers

Darüber hinaus können verschiedene E-Mail-Eigenschaften verwendet werden, um zwischen von den Betreibern erstellten Nachrichten (Befehle, zusätzliche Payloads) und von den Malware-Instanzen erstellten Nachrichten (Befehlsausgaben, exfiltrierte Dateien) zu unterscheiden. SC5k v1 und v2 verwenden Dateierweiterungen (der Entwurfsanhänge), um diese Unterscheidung zu treffen, während SC5k v3 die Felder From und MailItem.Categories des E-Mail-Entwurfs verwendet, um zwischen verschiedenen Aktionen zu unterscheiden. In jedem Fall können die E-Mail-Entwürfe im gemeinsamen E-Mail-Konto verschiedenen Zwecken dienen, wie in Tabelle 2 zusammengefasst und im Folgenden erläutert wird. Beachten Sie, dass die im Absenderfeld verwendeten E-Mail-Adressen nicht echt sind. Da SC5k niemals echte E-Mail-Nachrichten versendet, werden diese Attribute nur zur Unterscheidung zwischen verschiedenen bösartigen Aktionen verwendet.

Tabelle 2. Typen von E-Mail-Nachrichten, die von SC5k v3 für C&C-Kommunikation verwendet werden

From

MailItem.Categories

Created by

Details

<victimID>@yahoo.com

N/A

SC5k v3 instance

Created to register the victim with the C&C server, and renewed periodically to indicate that the malware is still active.

<victimID>@outlook.com

file

C&C server

Attached file is decrypted, decompressed, and dumped on the victim’s computer.

<victimID>@outlook.com

Other than file

C&C server

Attached command is decrypted, decompressed, then passed as an argument to a file already present on the compromised machine, presumably a command interpreter.

<victimID>@aol.com

file

SC5k v3 instance

Created to exfiltrate a file from a staging directory.

<victimID>@aol.com

text

SC5k v3 instance

Created to send command output to the C&C server.

Genauer gesagt verarbeitet (und löscht) SC5k v3 die E-Mail-Nachrichten des gemeinsamen Exchange-Kontos, bei denen das Feld From auf <victimID>@outlook.com gesetzt ist, und unterscheidet anhand der Nachrichtenkategorie(MailItem.Categories) zwischen Befehlen und zusätzlichen Payloads:

  • Bei Payloads wird die angehängte Datei mit dem hartkodierten Schlüssel &5z XOR entschlüsselt, dann mit gzip dekomprimiert und in das Arbeitsverzeichnis abgelegt.
  • Bei Shell-Befehlen wird der Entwurf des Anhangs base64-dekodiert, XOR-entschlüsselt und dann lokal mit cmd.exe oder, im Fall von SC5k v3, mit einem benutzerdefinierten Befehlsinterpreter unter dem Namen <baseDirectory>\*Ext.dll ausgeführt. Diese Datei wird dann über Assembly.LoadFrom geladen, und ihre extend-Methode wird mit dem als Argument übergebenen Befehl aufgerufen.

Um mit den Angreifern zu kommunizieren, erstellt SC5k v3 Nachrichtenentwürfe mit einem anderen From-Feld : <victimID>@aol.com. An diese Nachrichten sind Ausgaben von zuvor empfangenen Befehlen oder Inhalte des lokalen Staging-Verzeichnisses angehängt. Dateien werden immer gzip-komprimiert und XOR-verschlüsselt, bevor sie in die gemeinsame Mailbox hochgeladen werden, während Shell-Befehle und Befehlsausgaben XOR-verschlüsselt und base64-kodiert sind.

Schließlich erstellt SC5k v3 wiederholt einen neuen Entwurf auf dem gemeinsam genutzten Exchange-Konto mit From <victimID>@yahoo.com, um den Angreifern zu zeigen, dass diese Downloader-Instanz noch aktiv ist. Diese Keepalive-Nachricht, deren Aufbau in Abbildung 3 dargestellt ist, hat keinen Anhang und wird bei jeder Verbindung mit dem entfernten Exchange-Server erneuert.

Figure 3 Keep-alive functionality implemented by the SC5k v3 downloader
Abbildung 3. Vom SC5k v3 Downloader implementierte Keep-alive-Funktionalität

Andere OilRig-Tools, die ein E-Mail-basiertes C&C-Protokoll verwenden

Neben SC5k wurden in der Folge (2022 und 2023) weitere bemerkenswerte OilRig-Tools entdeckt, die APIs legitimer Cloud-basierter E-Mail-Dienste für die Exfiltration und beide Richtungen ihrer C&C-Kommunikation missbrauchen.

OilCheck, ein C#/.NET-Downloader, der im April 2022 entdeckt wurde, verwendet ebenfalls Nachrichtenentwürfe, die in einem gemeinsam genutzten E-Mail-Konto erstellt wurden, für beide Richtungen der C&C-Kommunikation. Im Gegensatz zu SC5k verwendet OilCheck die REST-basierte Microsoft Graph API, um auf ein gemeinsames Microsoft Office 365 Outlook-E-Mail-Konto zuzugreifen, und nicht die SOAP-basierte Microsoft Office EWS API. Während SC5k die integrierte ExchangeService .NET-Klasse verwendet, um die API-Anfragen transparent zu erstellen, erstellt OilCheck die API-Anfragen manuell. Die wichtigsten Merkmale von OilCheck sind in Tabelle 1 zusammengefasst.

Anfang des Jahres 2023 wurden zwei weitere OilRig-Backdoors öffentlich dokumentiert: MrPerfectionManager (Trend Micro, Februar 2023) und PowerExchange (Symantec, Oktober 2023), die beide E-Mail-basierte C&C-Protokolle zum Exfiltrieren von Daten verwenden. Ein bemerkenswerter Unterschied zwischen diesen Tools und den in diesem Blogpost untersuchten Downloadern von OilRig besteht darin, dass erstere den Exchange-Server des betroffenen Unternehmens nutzen, um E-Mail-Nachrichten vom und zum E-Mail-Konto des Angreifers zu übertragen. Im Gegensatz dazu griffen bei SC5k und OilCheck sowohl die Malware als auch der Betreiber auf dasselbe Exchange-Konto zu und kommunizierten, indem sie E-Mail-Entwürfe erstellten, ohne jemals eine tatsächliche Nachricht zu versenden.

In jedem Fall bestätigen die neuen Erkenntnisse den Trend von OilRig, sich von den bisher verwendeten HTTP/DNS-basierten Protokollen abzuwenden und legitime Cloud-Service-Provider zu nutzen, um seine bösartige Kommunikation zu verbergen und die Netzwerkinfrastruktur der Gruppe zu verschleiern, während sie weiterhin mit verschiedenen Varianten solcher alternativen Protokolle experimentieren.

OilBooster-Downloader

OilBooster ist eine 64-Bit Portable Executable (PE), geschrieben in Microsoft Visual C/C++ mit statisch gelinkten OpenSSL- und Boost-Bibliotheken (daher der Name). Wie OilCheck verwendet sie die Microsoft Graph API, um sich mit einem Microsoft Office 365-Konto zu verbinden. Im Gegensatz zu OilCheck verwendet sie jedoch diese API, um mit einem OneDrive-Konto (nicht Outlook) zu interagieren, das von den Angreifern für die C&C-Kommunikation und Exfiltration kontrolliert wird. OilBooster kann Dateien vom Remote-Server herunterladen, Dateien und Shell-Befehle ausführen und die Ergebnisse exfiltrieren.

Überblick

Nach der Ausführung blendet OilBooster sein Konsolenfenster aus (über die ShowWindow-API) und überprüft, ob es mit einem Befehlszeilenargument ausgeführt wurde. Andernfalls wird es sofort beendet.

OilBooster erstellt dann eine <victimID>, indem es den Hostnamen und den Benutzernamen des kompromittierten Computers kombiniert: <hostname>-<username>. Diese Kennung wird später in der C&C-Kommunikation verwendet: OilBooster erstellt für jedes Opfer ein spezifisches Unterverzeichnis auf dem gemeinsamen OneDrive-Konto, das dann zum Speichern von Backdoor-Befehlen und zusätzlichen Payloads (die von den Betreibern hochgeladen werden), Befehlsergebnissen und exfiltrierten Daten (die von der Malware hochgeladen werden) verwendet wird. Auf diese Weise kann ein und dasselbe OneDrive-Konto von mehreren Opfern genutzt werden.

Abbildung 4 zeigt die Struktur des freigegebenen OneDrive-Kontos und des lokalen Arbeitsverzeichnisses und fasst das C&C-Protokoll zusammen.

Figure 4 Overview of OilBooster’s C&C communication protocol using a shared OneDrive account
Abbildung 4. Überblick über das C&C-Kommunikationsprotokoll von OilBooster über ein gemeinsames OneDrive-Konto

Wie in Abbildung 4 dargestellt, lädt der OilRig-Operator Backdoor-Befehle und zusätzliche Payloads in das opferbezogene Verzeichnis auf OneDrive hoch, und zwar als Dateien mit den Erweiterungen .doc und .docx. Auf der anderen Seite des C&C-Protokolls lädt OilBooster Befehlsergebnisse und exfiltrierte Daten als Dateien mit den Erweiterungen .xls bzw. .xlsx hoch. Beachten Sie, dass es sich dabei nicht um echte Microsoft Office-Dateien handelt, sondern um JSON-Dateien mit XOR-verschlüsselten und base64-kodierten Werten.

Abbildung 5 zeigt, wie OilBooster Instanzen von zwei Threads in einer unendlichen Schleife erzeugt und nach jeder Iteration 153123 Millisekunden lang schläft:

Figure 5 OilBooster’s main function
Abbildung 5. Die Hauptfunktion von OilBooster

Beide Threads interagieren mit dem gemeinsamen OneDrive-Konto:

  1. Ein Downloader-Thread wickelt die C&C-Kommunikation ab und führt heruntergeladene Payloads aus.
  2. Ein Exfiltrations-Thread exfiltriert Daten aus dem lokalen Staging-Verzeichnis.

Der Downloader-Thread verbindet sich mit dem vom Angreifer kontrollierten OneDrive-Konto und durchläuft alle Dateien mit den Erweiterungen .doc und .docx, die dann heruntergeladen, entschlüsselt und geparst werden, um zusätzliche Payloads auf dem angegriffenen Host zu extrahieren und auszuführen. Die heruntergeladenen Dateien werden in einem lokalen Unterverzeichnis namens items im aktuellen Arbeitsverzeichnis (in dem OilBooster installiert ist) gespeichert. Wie in Abbildung 6 dargestellt, wird jeder Verbindungsversuch in einer separaten Thread-Instanz behandelt, die einmal alle 53123 Millisekunden gestartet wird.

Der Exfiltrations-Thread durchläuft ein weiteres lokales Unterverzeichnis mit dem Namen tempFiles und exfiltriert dessen Inhalt in das freigegebene OneDrive-Konto, wo er als einzelne Dateien mit der Erweiterung .xlsx hochgeladen wird. Das Staging-Verzeichnis wird auf diese Weise einmal alle 43123 Millisekunden in einer separaten Thread-Instanz geleert, wie auch in Abbildung 6 zu sehen ist.

Figure 6 Each iteration of the downloader and exfiltration loops is spawned in a new thread
Abbildung 6. Jede Iteration der Downloader- und Exfiltrationsschleifen wird in einem neuen Thread gestartet

Netzwerkkommunikation

Für die C&C-Kommunikation und die Exfiltration verwendet OilBooster die Microsoft Graph API, um auf das freigegebene OneDrive-Konto zuzugreifen, wobei eine Vielzahl von HTTP GET-, POST-, PUT- und DELETE-Anfragen an den graph.microsoft.com-Host über den Standardport 443 gestellt werden. Der Einfachheit halber werden diese Anfragen auch als OneDrive-API-Anfragen bezeichnet. Die verschlüsselte Kommunikation wird durch die statisch gelinkte OpenSSL-Bibliothek erleichtert, die die SSL-Kommunikation übernimmt.

Um sich mit dem OneDrive-Konto zu authentifizieren, erhält OilBooster zunächst das OAuth2-Zugangstoken von der Microsoft-Identitätsplattform (dem Autorisierungsserver), indem eine POST-Anfrage mit folgendem Body über Port 443 an login.microsoftonline.com/common/oauth2/v2.0/token gesendet wird, wobei fest kodierte Anmeldedaten verwendet werden:

client_id=860b23a7-d484-481d-9fea-d3e6e129e249
&redirect_uri=https://login.live.com/oauth20_desktop.srf
&client_secret=<redacted>
&refresh_token=<redacted>
&grant_type=refresh_token

OilBooster erhält auf diese Weise ein neues Access-Token, das im Authorization-Header der nachfolgenden OneDrive-API-Anfragen zusammen mit einem neuen Refresh-Token verwendet wird. OilBooster verfügt auch über einen Backup-Kanal, um nach 10 aufeinanderfolgenden erfolglosen Verbindungen zum OneDrive-Server ein neues Refresh-Token von seinem C&C-Server anzufordern. Wie in Abbildung 7 dargestellt, kann das neue Token durch Senden einer einfachen HTTP-GET-Anfrage auf Port 80 an host1[.]com/rt.ovf (eine legitime, wahrscheinlich kompromittierte Website) angefordert werden, auf die das neue Refresh-Token im Klartext in der HTTP-Antwort folgen sollte.

Figure 7 OilBooster can request a new refresh token from its fallback C&C server
Abbildung 7. OilBooster kann nach 10 erfolglosen Verbindungsversuchen mit dem missbrauchten OneDrive-Konto ein neues Refresh-Token von seinem Fallback-C&C-Server anfordern

Die verschiedenen von OilBooster hergestellten Netzwerkverbindungen sind in Abbildung 8 zusammengefasst.

Figure 8 Overview of OilBooster’s network comms
Abbildung 8. Überblick über die Netzwerkkommunikation von OilBooster

Downloader-Schleife

In der Downloader-Schleife stellt OilBooster wiederholt eine Verbindung zum freigegebenen OneDrive-Konto her, um eine Liste der Dateien mit den Erweiterungen .docx und .doc im opfer-spezifischen Unterverzeichnis mit dem Namen <victimID>/items/ zu erhalten, indem eine HTTP-GET-Anfrage über Port 443 an diese URL gesendet wird:

graph.microsoft.com/v1.0/me/drive/root:/<victimID>/items:/children?$filter=endsWith(name,'.doc')%20or%20endsWith(name,'.docx')&$select=id,name,file

Wenn die Verbindung nach 10 Versuchen nicht erfolgreich ist (Antwortstatus HTTP_STATUS_DENIED), stellt OilBooster eine Verbindung zu seinem Fallback-C&C-Server, host1[.]com/rt.ovf, her, um ein neues Refresh-Token zu erhalten, wie bereits erwähnt.

Wenn das angegebene Verzeichnis noch nicht existiert(HTTP_STATUS_NOT_FOUND), registriert OilBooster das Opfer zunächst auf dem freigegebenen OneDrive-Konto, indem er eine HTTP-POST-Anfrage über Port 443 an folgende URL sendet: graph.microsoft.com/v1.0/me/drive/items/root:/<victimID>:/children mit dem JSON-String {"name": "items", "folder":{}} als Request Body, wie in Abbildung 9 gezeigt. Diese Anfrage erstellt gleichzeitig die gesamte Verzeichnisstruktur <victimID>/items, die später von den Angreifern verwendet wird, um Befehle und zusätzliche Payloads zu speichern, die als .doc- und .docx-Dateien getarnt sind.

Figure 9 OilBooster creates a victim-specific directory on OneDrive
Abbildung 9. Bei der ersten Verbindung erstellt OilBooster ein opfer-spezifisches Verzeichnis auf dem freigegebenen OneDrive-Konto

Bei nachfolgenden Verbindungen (mit HTTP_STATUS_OK) verarbeitet OilBooster diese Dateien, um Payloads zu extrahieren und auszuführen. OilBooster lädt zunächst jede Datei aus dem OneDrive-Konto herunter und löscht sie nach der Verarbeitung aus OneDrive.

Nachdem alle .doc- und .docx-Dateien aus dem OneDrive-Unterverzeichnis heruntergeladen wurden, zeichnet OilBooster den Zeitstempel der letzten Verbindung (die aktuelle GMT-Zeit) auf, indem er eine neue Datei mit dem Namen setting.ini im OneDrive-Unterverzeichnis des Opfers erstellt. Dies geschieht über eine HTTP PUT-Anfrage an Port 443, die an folgende URL gerichtet ist: graph.microsoft.com/v1.0/me/drive/root:/<victimID>/setting.ini:/content.

Verarbeitung von .doc-Dateien

Dateien mit der Erweiterung .doc, die vom freigegebenen OneDrive-Konto heruntergeladen werden, sind in Wirklichkeit JSON-Dateien mit verschlüsselten Befehlen, die auf dem kompromittierten Host ausgeführt werden sollen. Sobald eine <filename>.doc heruntergeladen ist, analysiert OilBooster die Werte s (Teil des Entschlüsselungsschlüssels) und c (verschlüsselter Befehl) aus dem Dateiinhalt. Es entschlüsselt zuerst base64 und entschlüsselt dann den Wert c mit XOR, wobei ein Schlüssel verwendet wird, der durch Anhängen der letzten beiden Zeichen des Wertes s an die letzten beiden Zeichen von <filename> erzeugt wird.

Nach der Entschlüsselung führt OilBooster die Befehlszeile in einem neuen Thread unter Verwendung der CreateProcessW API aus und liest das Befehlsergebnis über eine unbenannte Pipe, die mit dem Prozess verbunden ist. OilBooster lädt dann das Befehlsergebnis als neue Datei mit dem Namen <filename>.xls auf das freigegebene OneDrive-Konto hoch, indem es eine HTTP PUT-Anfrage über Port 443 an graph.microsoft.com/v1.0/me/drive/root:/<VictimID>/items/<filename>.xls:/content sendet.

Verarbeitung von .docx-Dateien

Dateien mit der Erweiterung .docx, die vom freigegebenen OneDrive-Konto heruntergeladen werden, sind in Wirklichkeit komprimierte und verschlüsselte Dateien mit dem Namen <filename>.<original extension>.docx, die auf dem kompromittierten System abgelegt und entpackt werden. OilBooster lädt zunächst die verschlüsselte Datei in das lokale Verzeichnis <currentdir>\items herunter und verwendet dabei den vollständigen Original-Dateinamen.

Im nächsten Schritt liest und entschlüsselt OilBooster den Inhalt der Datei unter Verwendung einer XOR-Verschlüsselung mit .<original extension>  als Entschlüsselungsschlüssel und legt sie im selben Verzeichnis in einer Datei namens <filename>.<original extension>.doc ab, während die erste Datei gelöscht wird. Schließlich liest und dekomprimiert OilBooster die entschlüsselte Datei, legt das Ergebnis im selben Verzeichnis in einer Datei mit dem Namen <filename>.<original extension> ab und löscht die andere Datei.

Beachten Sie die unnötige Erstellung mehrerer Dateien während des Prozesses - dies ist typisch für OilRig. Wir haben bereits die "lauten" Operationen der Gruppe auf kompromittierten Hosts in ihrer Out to Sea-Kampagne beschrieben.

Exfiltrationsschleife

In der Exfiltrationsschleife durchläuft OilBooster den Inhalt des lokalen Verzeichnisses <currentdir>\tempFiles und lädt die Dateiinhalte in den Ordner des Opfers auf dem freigegebenen OneDrive-Konto hoch. Jede Datei wird auf diese Weise verarbeitet:

  • OilBooster gzip komprimiert die Originaldatei <filename>.<original extension> und schreibt das Ergebnis in eine Datei namens <filename>.<original extension>.xlsx im selben Verzeichnis.
  • Dann verschlüsselt es die komprimierte Datei mit einer XOR-Chiffre und .<original extension> als Schlüssel. Wenn keine Dateierweiterung vorhanden ist, wird 4cx als Standardschlüssel verwendet.

Schließlich wird die verschlüsselte Datei auf das OneDrive-Konto hochgeladen und die lokale Datei gelöscht.

ODAgent-Downloader: Der Vorläufer von OilBooster

ODAgent ist eine C#/.NET-Anwendung, die die Microsoft Graph API nutzt, um auf ein vom Angreifer kontrolliertes OneDrive-Konto für die C&C-Kommunikation und Exfiltration zuzugreifen - kurz gesagt, ODAgent ist ein C#/.NET-Vorläufer von OilBooster. Ähnlich wie OilBooster stellt ODAgent wiederholt eine Verbindung zum freigegebenen OneDrive-Konto her und listet den Inhalt des opferbezogenen Ordners auf, um zusätzliche Payloads und Backdoor-Befehle zu erhalten.

Wie in Abbildung 10 dargestellt, analysiert ODAgent dann die Metadaten für jede Remote-Datei. Anschließend verwendet er den Wert des mit der Datei verknüpften mimeType-Schlüssels, um zwischen Backdoor-Befehlen (formatiert als JSON-Dateien) und verschlüsselten Payloads zu unterscheiden - im Gegensatz zu OilBooster, das Dateierweiterungen für diese Unterscheidung verwendet. Nachdem eine Datei lokal verarbeitet wurde, löscht ODAgent das Original über die OneDrive-API aus dem OneDrive-Remoteverzeichnis.

Figure 10 ODAgent’s code responsible for parsing JSON files
Abbildung 10. Der Code von ODAgent, der für das Parsen von JSON-Dateien aus dem freigegebenen OneDrive-Konto verantwortlich ist

Wenn es sich bei der heruntergeladenen Datei um eine JSON-Datei handelt, analysiert ODAgent die Argumente a1 (Befehls-ID), a2 (verschlüsselter Backdoor-Befehl) und a3 (geheim). Zunächst wird der Sitzungsschlüssel durch XOR-Verknüpfung des angegebenen Geheimnisses mit dem hartcodierten Wert 15a49w@] abgeleitet. Anschließend wird der Backdoor-Befehl mit diesem Sitzungsschlüssel base64-dekodiert und XOR-entschlüsselt. In Tabelle 3 sind alle von ODAgent unterstützten Backdoor-Befehle aufgeführt.

Tabelle 3. Von ODAgent unterstützte Backdoor-Befehle

Backdoor command

Description

odt>

Returns the path to the current working directory.

dly><delaytime>

Configures the number of seconds to wait after each connection to <delaytime>.

<commandline>

Executes the specified <commandline> via the native API and returns the command output.

Andere (Nicht-JSON-)Dateien, die von dem freigegebenen OneDrive-Konto heruntergeladen werden, sind Dateien und zusätzliche Payloads, die beide verschlüsselt sind. ODAgent XOR entschlüsselt diese Dateien mit dem hartcodierten Schlüssel 15a49w@] und legt sie im lokalen Verzeichnis <currentdir>\o unter demselben Dateinamen ab. Wenn die ursprüngliche Datei eine .c-Erweiterung hat, wird ihr Inhalt ebenfalls mit gzip dekomprimiert (und die Erweiterung wird dann aus dem Dateinamen entfernt).

Am Ende jeder Verbindung lädt ODAgent den Inhalt des lokalen Verzeichnisses <currentdir>\i in das Verzeichnis <victimID>/i auf dem freigegebenen OneDrive-Konto hoch, wobei die ursprünglichen Dateinamen mit der hinzugefügten .c-Erweiterung erhalten bleiben.

Figure 11 ODAgent’s exfiltration loop
Abbildung 11. Die Exfiltrationsschleife von ODAgent

Schlussfolgerung

Im Laufe des Jahres 2022 entwickelte OilRig eine Reihe neuer Downloader, die alle eine Reihe legitimer Cloud-Speicher und Cloud-basierter E-Mail-Dienste als C&C- und Exfiltrationskanäle nutzten. Diese Downloader wurden ausschließlich gegen Ziele in Israel eingesetzt - oft gegen dieselben Ziele innerhalb weniger Monate. Da alle diese Ziele zuvor von anderen OilRig-Tools angegriffen wurden, kommen wir zu dem Schluss, dass OilRig diese Klasse von leichtgewichtigen, aber effektiven Downloadern als Mittel der Wahl einsetzt, um den Zugang zu interessanten Netzwerken aufrechtzuerhalten.

Diese Downloader weisen Ähnlichkeiten mit den Backdoors MrPerfectionManager und PowerExchange auf, die erst kürzlich zum OilRig-Toolset hinzugefügt wurden und E-Mail-basierte C&C-Protokolle verwenden - mit dem Unterschied, dass SC5k, OilBooster, ODAgent und OilCheck nicht die interne Infrastruktur des Opfers, sondern vom Angreifer kontrollierte Cloud-Service-Konten verwenden. All diese Aktivitäten bestätigen, dass für die C&C-Kommunikation zunehmend auf legitime Cloud-Service-Anbieter ausgewichen wird, um die bösartige Kommunikation zu verbergen und die Netzwerkinfrastruktur der Gruppe zu verschleiern.

Wie der Rest des OilRig-Toolsets sind auch diese Downloader nicht besonders ausgefeilt und sind auf dem System unnötig auffällig. Die kontinuierliche Entwicklung und das Testen neuer Varianten, das Experimentieren mit verschiedenen Cloud-Diensten und unterschiedlichen Programmiersprachen sowie das Bestreben, dieselben Ziele immer wieder zu kompromittieren, machen OilRig jedoch zu einer Gruppe, die man im Auge behalten sollte.

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

IoCs

Dateien

SHA-1

Filename

Detection

Description

0F164894DC7D8256B66D0EBAA7AFEDCF5462F881

CCLibrary.exe

MSIL/OilRig.A

OilRig downloader - SC5k v1.

2236D4DCF68C65A822FF0A2AD48D4DF99761AD07

acrotray.exe

MSIL/OilRig.D

OilRig downloader - SC5k v1.

35E0E78EC35B68D3EE1805EECEEA352C5FE62EB6

mscom.exe

MSIL/OilRig.D

OilRig downloader - SC5k v1.

51B6EC5DE852025F63740826B8EDF1C8D22F9261

CCLibrary.exe

MSIL/OilRig.A

OilRig downloader - SC5k v1.

6001A008A3D3A0C672E80960387F4B10C0A7BD9B

acrotray.exe

MSIL/OilRig.D

OilRig downloader - SC5k v1.

7AD4DCDA1C65ACCC9EF1E168162DE7559D2FDF60

AdobeCE.exe

MSIL/OilRig.D

OilRig downloader - SC5k v1.

BA439D2FC3298675F197C8B17B79F34485271498

AGSService.exe

MSIL/OilRig.D

OilRig downloader - SC5k v1.

BE9B6ACA8A175DF61F2C75932E029F19789FD7E3

CCXProcess.exe

MSIL/OilRig.A

OilRig downloader - SC5k v1.

C04F874430C261AABD413F27953D30303C382953

AdobeCE.exe

MSIL/OilRig.A

OilRig downloader - SC5k v1.

C225E0B256EDB9A2EA919BACC62F29319DE6CB11

mscom.exe

MSIL/OilRig.A

OilRig downloader - SC5k v1.

E78830384FF14A58DF36303602BC9A2C0334A2A4

armsvc.exe

MSIL/OilRig.D

OilRig downloader - SC5k v1.

EA8C3E9F418DCF92412EB01FCDCDC81FDD591BF1

node.exe

MSIL/OilRig.D

OilRig downloader - SC5k v1.

1B2FEDD5F2A37A0152231AE4099A13C8D4B73C9E

consoleapp.exe

Win64/OilBooster.A

OilRig downloader - OilBooster.

3BF19AE7FB24FCE2509623E7E0D03B5A872456D4

owa.service.exe

MSIL/OilRig.D

OilRig downloader - SC5k v2.

AEF3140CD0EE6F49BFCC41F086B7051908B91BDD

owa.service.exe

MSIL/OilRig.D

OilRig downloader - SC5k v2.

A56622A6EF926568D0BDD56FEDBFF14BD218AD37

owa.service.exe

MSIL/OilRig.D

OilRig downloader - SC5k v2.

AAE958960657C52B848A7377B170886A34F4AE99

LinkSync.exe

MSIL/OilRig.F

OilRig downloader - SC5k v3.

8D84D32DF5768B0D4D2AB8B1327C43F17F182001

AppLoader.exe

MSIL/OilRig.M

OilRig downloader - OilCheck.

DDF0B7B509B240AAB6D4AB096284A21D9A3CB910

CheckUpdate.exe

MSIL/OilRig.M

OilRig downloader - OilCheck.

7E498B3366F54E936CB0AF767BFC3D1F92D80687

ODAgent.exe

MSIL/OilRig.B

OilRig downloader - ODAgent.

A97F4B4519947785F66285B546E13E52661A6E6F

N/A

MSIL/OilRig.N

Help utility used by OilRig's OilCheck downloader - CmEx.

Netzwerk

IP

Domain

Hosting provider

First seen

Details

188.114.96[.]2

host1[.]com

Cloudflare, Inc.

2017-11-30

A legitimate, likely compromised website misused by OilRig as a fallback C&C server.

MITRE ATT&CK-Techniken

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

Tactic

ID

Name

Description

Resource Development

T1583.001

Acquire Infrastructure: Domains

OilRig has registered a domain for use in C&C communications.

T1583.004

Acquire Infrastructure: Server

OilRig has acquired a server to be used as a backup channel for the OilBooster downloader.

T1583.006

Acquire Infrastructure: Web Services

OilRig has set up Microsoft Office 365 OneDrive and Outlook accounts, and possibly other Exchange accounts for use in C&C communications.

T1587.001

Develop Capabilities: Malware

OilRig has developed a variety of custom downloaders for use in its operations: SC5k versions, OilCheck, ODAgent, and OilBooster.

T1585.003

Establish Accounts: Cloud Accounts

OilRig operators have created new OneDrive accounts for use in their C&C communications.

T1585.002

Establish Accounts: Email Accounts

OilRig operators have registered new Outlook, and possibly other, email addresses for use in their C&C communications.

T1608

Stage Capabilities

OilRig operators have staged malicious components and backdoor commands in legitimate Microsoft Office 365 OneDrive and Outlook, and other Microsoft Exchange accounts.

Execution

T1059.003

Command and Scripting Interpreter: Windows Command Shell

SC5k v1 and v2 use cmd.exe to execute commands on the compromised host.

T1106

Native API

OilBooster uses the CreateProcessW API functions for execution.

Defense Evasion

T1140

Deobfuscate/Decode Files or Information

OilRig’s downloaders use string stacking to obfuscate embedded strings, and the XOR cipher to encrypt backdoor commands and payloads.

T1480

Execution Guardrails

OilRig’s OilBooster requires an arbitrary command line argument to execute the malicious payload.

T1564.003

Hide Artifacts: Hidden Window

Upon execution, OilBooster hides its console window.

T1070.004

Indicator Removal: File Deletion

OilRig’s downloaders delete local files after a successful exfiltration, and delete files or email drafts from the remote cloud service account after these have been processed on the compromised system.

T1202

Indirect Command Execution

SC5k v3 and OilCheck use custom command interpreters to execute files and commands on the compromised system.

T1036.005

Masquerading: Match Legitimate Name or Location

OilBooster mimics legitimate paths.

T1027

Obfuscated Files or Information

OilRig has used various methods to obfuscate strings and payloads embedded in its downloaders.

Discovery

T1082

System Information Discovery

OilRig’s downloaders obtain the compromised computer name.

T1033

System Owner/User Discovery

OilRig’s downloaders obtain the victim’s username.

Collection

T1560.003

Archive Collected Data: Archive via Custom Method

OilRig’s downloaders gzip compress data before exfiltration.

T1074.001

Data Staged: Local Data Staging

OilRig’s downloaders create central staging directories for use by other OilRig tools and commands.

Command and Control

T1132.001

Data Encoding: Standard Encoding

OilRig’s downloaders base64 decode data before sending it to the C&C server.

T1573.001

Encrypted Channel: Symmetric Cryptography

OilRig’s downloaders use the XOR cipher to encrypt data in C&C communication.

T1008

Fallback Channels

OilBooster can use a secondary channel to obtain a new refresh token to access the shared OneDrive account.

T1105

Ingress Tool Transfer

OilRig’s downloaders have the capability to download additional files from the C&C server for local execution.

T1102.002

Web Service: Bidirectional Communication

OilRig’s downloaders use legitimate cloud service providers for C&C communication.

Exfiltration

T1020

Automated Exfiltration

OilRig’s downloaders automatically exfiltrate staged files to the C&C server.

T1041

Exfiltration Over C2 Channel

OilRig’s downloaders use their C&C channels for exfiltration.

T1567.002

Exfiltration Over Web Service: Exfiltration to Cloud Storage

OilBooster and ODAgent exfiltrate data to shared OneDrive accounts.

T1567

Exfiltration Over Web Service

SC5k and OilCheck exfiltrate data to shared Exchange and Outlook accounts.