Les chercheurs d'ESET ont analysé deux campagnes du groupe APT OilRig : Outer Space (2021) et Juicy Mix (2022). Ces deux campagnes de cyberespionnage visaient exclusivement des organisations israéliennes, ce qui correspond à l'intérêt du groupe pour le Moyen-Orient, et utilisaient le même scénario : OilRig a d'abord compromis un site web légitime pour l'utiliser comme serveur C&C, puis a utilisé des droppers VBS pour livrer une porte dérobée C#/.NET à ses victimes, tout en déployant une variété d'outils post-compromission principalement utilisés pour l'exfiltration de données sur les systèmes cibles.
Pour sa campagne Outer Space, OilRig a utilisé une porte dérobée C#/.NET simple et non documentée que nous avons baptisée Solar, ainsi qu'un nouveau téléchargeur, SampleCheck5000 (ou SC5k), qui utilise l'API Microsoft Office Exchange Web Services pour la communication C&C. Pour la campagne Juicy Mix, les acteurs de la menace ont amélioré Solar pour créer la porte dérobée Mango, qui possède des capacités et des méthodes d'obscurcissement supplémentaires. Outre la détection de l'ensemble d'outils malveillants, nous avons également informé le CERT israélien des sites web compromis.
Points clés de ce billet de blog :
- ESET a observé deux campagnes OilRig qui se sont déroulées en 2021 (Outer Space) et 2022 (Juicy Mix).
- Les opérateurs ont exclusivement ciblé des organisations israéliennes et compromis des sites web israéliens légitimes pour les utiliser dans leurs communications C&C.
- Pour chaque campagne, ils ont utilisé une nouvelle porte dérobée C#/.NET de premier niveau, qui n'était pas documentée auparavant : Solar in Outer Space, puis son successeur Mango in Juicy Mix.
- Les deux portes dérobées ont été déployées par des droppers VBS, vraisemblablement diffusés par des courriels de spearphishing.
- Divers outils post-compromission ont été déployés dans les deux campagnes, notamment le téléchargeur SC5k qui utilise l'API Microsoft Office Exchange Web Services pour la communication C&C, ainsi que plusieurs outils permettant de voler des données de navigation et des informations d'identification à partir de Windows Credential Manager.
OilRig, également connu sous le nom d'APT34, Lyceum ou Siamesekitten, est un groupe de cyberespionnage actif depuis au moins 2014 et généralement considéré comme basé en Iran. Le groupe cible les gouvernements du Moyen-Orient et divers secteurs d'activité, notamment la chimie, l'énergie, la finance et les télécommunications. OilRig a mené la campagne d'espionnage DNS en 2018 et 2019, qui a ciblé des victimes au Liban et aux Émirats arabes unis. En 2019 et 2020, OilRig a poursuivi ses attaques avec la campagne HardPass, qui a utilisé LinkedIn pour cibler des victimes du Moyen-Orient dans les secteurs de l'énergie et du gouvernement. En 2021, OilRig a mis à jour sa porte dérobée DanBot et a commencé à déployer les portes dérobées Shark, Milan et Marlin, mentionnées dans l'édition T3 2021 du rapport ESET sur les menaces.
Dans ce billet de blog, nous présentons une analyse technique des portes dérobées Solar et Mango, du dropper VBS utilisé pour diffuser Mango et des outils post-compromission déployés dans chaque campagne.
Attribution
Le lien initial qui nous a permis de relier la campagne Outer Space à OilRig est l'utilisation du même extracteur de données Chrome personnalisé (suivi par les chercheurs d'ESET sous le nom de MKG) que dans la campagne Out to Sea. Nous avons observé la porte dérobée Solar déployer le même échantillon de MKG que dans la campagne Out to Sea sur le système de la cible, ainsi que deux autres variantes.
Outre le chevauchement des outils et du ciblage, nous avons également constaté de nombreuses similitudes entre la porte dérobée Solar et les portes dérobées utilisées dans le cadre de la campagne Out to Sea, principalement en ce qui concerne le chargement et le téléchargement : solar et Shark, une autre porte dérobée OilRig, utilisent des URI avec des schémas de téléchargement simples pour communiquer avec le serveur C&C, avec un "d" pour le téléchargement et un "u" pour l'envoi ; en outre, le téléchargeur SC5k utilise des sous-répertoires d'envoi et de téléchargement tout comme d'autres portes dérobées OilRig, à savoir ALMA, Shark, DanBot et Milan. Ces résultats confirment que le coupable d'Outer Space est bien OilRig.
En ce qui concerne les liens entre la campagne Juicy Mix et OilRig, outre le fait qu'elle visait des organisations israéliennes - ce qui est typique de ce groupe d'espionnage - il existe des similitudes de code entre Mango, la porte dérobée utilisée dans le cadre de cette campagne, et Solar. En outre, les deux portes dérobées ont été déployées par des droppers VBS utilisant la même technique d'obscurcissement des chaînes de caractères. Le choix des outils de post-compromission utilisés dans Juicy Mix reflète également les campagnes précédentes d'OilRig.
Aperçu de la campagne Outer Space
Nommée en raison de l'utilisation d'un schéma de dénomination basé sur l'astronomie dans les noms de fonctions et les tâches, Outer Space est une campagne OilRig datant de 2021. Dans cette campagne, le groupe a compromis un site israélien de ressources humaines et l'a ensuite utilisé comme serveur C&C pour sa porte dérobée C#/.NET non documentée, Solar. Solar est une porte dérobée simple dotée de fonctionnalités de base telles que la lecture et l'écriture sur disque et la collecte d'informations.
Par l'intermédiaire de Solar, le groupe a ensuite déployé un nouveau téléchargeur SC5k, qui utilise l'API des services Web d'Office Exchange pour télécharger des outils supplémentaires à exécuter, comme le montre la figure 1. Afin d'exfiltrer les données de navigation du système de la victime, OilRig a utilisé un destructeur de données Chrome appelé MKG.
Aperçu de la campagne Juicy Mix
En 2022, OilRig a lancé une autre campagne ciblant les organisations israéliennes, cette fois-ci avec un ensemble d'outils mis à jour. Nous avons baptisé cette campagne Juicy Mix en raison de l'utilisation d'une nouvelle porte dérobée d'OilRig, Mango (d'après son nom d'assemblage interne et son nom de fichier, Mango.exe). Dans cette campagne, les auteurs de la menace ont compromis un site web légitime de portail d'emploi israélien pour l'utiliser dans les communications C&C. Les outils malveillants du groupe ont été utilisés dans le cadre d'une opération de piratage. Les outils malveillants du groupe ont ensuite été déployés contre une organisation de soins de santé, également basée en Israël.
La porte dérobée de premier niveau Mango est le successeur de Solar, également écrite en C#/.NET, avec des changements notables, notamment des capacités d'exfiltration, l'utilisation d'API natives et l'ajout d'un code d'évasion de la détection.
Outre Mango, nous avons également détecté deux outils de vidage de données de navigateur non documentés auparavant, utilisés pour voler les cookies, l'historique de navigation et les informations d'identification des navigateurs Chrome et Edge, ainsi qu'un outil de vol du gestionnaire d'informations d'identification Windows, que nous attribuons tous à OilRig. Ces outils ont tous été utilisés contre la même cible que Mango, ainsi que contre d'autres organisations israéliennes compromises en 2021 et 2022. La figure 2 présente une vue d'ensemble de l'utilisation des différents composants dans le cadre de la campagne Juicy Mix.
Analyse technique
Dans cette section, nous présentons une analyse technique des portes dérobées Solar et Mango et du téléchargeur SC5k, ainsi que d'autres outils déployés sur les systèmes ciblés dans le cadre de ces campagnes.
Droppers VBS
Pour s'implanter dans le système de la cible, des droppers Visual Basic Script (VBS) ont été utilisés dans les deux campagnes, qui ont très probablement été diffusés par des courriels de spearphishing. Notre analyse ci-dessous se concentre sur le script VBS utilisé pour diffuser Mango (SHA-1 : 3699B67BF4E381847BF98528F8CE2B966231F01A) ; notez que le dropper de Solar est très similaire.
L'objectif du dropper est de fournir la porte dérobée Mango intégrée, de programmer une tâche pour la persistance et d'enregistrer le compromis avec le serveur C&C. La porte dérobée intégrée est stockée sous forme de fichier de données. La porte dérobée intégrée est stockée sous la forme d'une série de sous-chaînes base64, qui sont concaténées et décodées en base64. Comme le montre la figure 3, le script utilise également une technique simple de désobfuscation de chaînes, dans laquelle les chaînes sont assemblées à l'aide d'opérations arithmétiques et de la fonction Chr.
En outre, le dropper VBS de Mango ajoute un autre type d'obscurcissement des chaînes et du code pour configurer la persistance et s'enregistrer auprès du serveur C&C. Comme le montre la figure 4, pour désobfusquer certaines chaînes, le script remplace tous les caractères de l'ensemble #*+-_)(}{@$%^& par 0, puis divise la chaîne en nombres à trois chiffres qui sont ensuite convertis en caractères ASCII à l'aide de la fonction Chr
. Par exemple, la chaîne 116110101109117+99111$68+77{79$68}46-50108109120115}77 se traduit par Msxml2.DOMDocument.
Une fois la porte dérobée intégrée au système, le dropper crée une tâche programmée qui exécute Mango (ou Solar, dans l'autre version) toutes les 14 minutes. Enfin, le script envoie un nom encodé en base64 de l'ordinateur compromis via une requête POST afin d'enregistrer la porte dérobée auprès de son serveur C&C.
Porte dérobée Solar
Solar est la porte dérobée utilisée dans la campagne Outer Space d'OilRig. Dotée de fonctionnalités de base, cette porte dérobée peut être utilisée, entre autres, pour télécharger et exécuter des fichiers et exfiltrer automatiquement des fichiers mis en scène.
Nous avons choisi le nom Solar en nous basant sur le nom de fichier utilisé par OilRig, Solar.exe. Il s'agit d'un nom approprié puisque la porte dérobée utilise un schéma de dénomination astronomique pour les noms de ses fonctions et tâches utilisées dans le binaire(Mercure, Vénus, Mars, Terre et Jupiter).
Solar commence à s'exécuter en effectuant les étapes illustrées dans Figure 5.
La porte dérobée crée deux tâches, Earth
et Venus, qui s'exécutent en mémoire. Il n'y a pas de fonction d'arrêt pour ces deux tâches, qui s'exécutent donc indéfiniment. Earth
est programmée pour s'exécuter toutes les 30 secondes et Venus
est programmée pour s'exécuter toutes les 40 secondes.
LaTerre est la tâche principale, responsable de la majeure partie des fonctions de Solar. Elle communique avec le serveur C&C à l'aide de la fonction MercuryToSun, qui envoie des informations de base sur le système et la version du logiciel malveillant au serveur C&C, puis gère la réponse du serveur. Earth envoie les informations suivantes au serveur C&C :
- La chaîne (@) <nom d'hôte du système> ; la chaîne entière est cryptée.
- La chaîne 1.0.0.0, cryptée (peut-être un numéro de version).
- La chaîne 30000, cryptée (peut-être la durée d'exécution programmée de Earth
Le cryptage et le décryptage sont mis en œuvre dans des fonctions appelées respectivement JupiterE
et JupiterD. Toutes deux appellent une fonction nommée JupiterX, qui met en œuvre une boucle XOR comme le montre la figure 6.
La clé est dérivée d'une variable de chaîne globale codée en dur, 6sEj7*0B7#7, et d'un nonce: dans ce cas, une chaîne hexagonale aléatoire de 2 à 24 caractères. Après le cryptage XOR, le codage base64 standard est appliqué.
Le serveur web d'une société israélienne de ressources humaines, qu'OilRig a compromis à un moment donné avant de déployer Solar, a été utilisé comme serveur C&C :
http://organization.co[.]il/project/templates/office/template.aspx?rt=d&sun=<encrypted_MachineGuid>&rn=<encryption_nonce>
Avant d'être ajouté à l'URI, le nonce de chiffrement est chiffré et la valeur de la chaîne d'interrogation initiale, rt, est fixée à d, ce qui signifie probablement "téléchargement".
La dernière étape de la fonction MercuryToSun
consiste à traiter la réponse du serveur C&C. Pour ce faire, elle récupère une sous-catégorie de l'URI et la transmet au serveur. Pour ce faire, elle récupère une sous-chaîne de la réponse, qui se trouve entre les caractères QQ@ et @kk. Cette réponse est une chaîne d'instructions séparées par des astérisques(*) qui est traitée dans un tableau. Earth
exécute ensuite les commandes de la porte dérobée, qui comprennent le téléchargement de charges utiles supplémentaires à partir du serveur, l'établissement d'une liste de fichiers sur le système de la victime et l'exécution d'exécutables spécifiques.
La sortie des commandes est ensuite compressée par gzip à l'aide de la fonction Neptune
et chiffrée avec la même clé de chiffrement et un nouveau nonce. Les résultats sont ensuite téléchargés sur le serveur C&C, ainsi :
http://organization.co[.]il/projet/templates/office/template.aspx?rt=u&sun=<MachineGuid>&rn=<new_nonce>
MachineGuid et le nouveau nonce sont cryptés avec la fonction JupiterE
, et ici la valeur de rt est fixée à u, probablement pour "upload".
Venus, l'autre tâche planifiée, est utilisée pour l'exfiltration automatisée de données. Cette petite tâche copie le contenu des fichiers d'un répertoire (également nommé Venus) vers le serveur C&C. Ces fichiers sont probablement déposés ici par des pirates. Ces fichiers sont probablement déposés ici par un autre outil OilRig, qui n'a pas encore été identifié. Après avoir téléchargé un fichier, la tâche le supprime du disque.
Porte dérobée Mango
Pour sa campagne Juicy Mix, OilRig est passé de la porte dérobée Solar à la porte dérobée Mango. Son flux de travail est similaire à celui de Solar et ses capacités se chevauchent, mais il y a néanmoins plusieurs changements notables :
- Utilisation de TLS pour les communications C&C.
- Utilisation d'API natives, plutôt que d'API .NET, pour exécuter des fichiers et des commandes shell.
- Bien qu'il ne soit pas activement utilisé, un code d'évasion de la détection a été introduit.
- La prise en charge de l'exfiltration automatisée(Venus
- La prise en charge du mode journal a été supprimée et les noms des symboles ont été obscurcis.
Contrairement au système de dénomination astronomique de Solar, Mango obscurcit les noms de ses symboles, comme on peut le voir dans Figure 7 .
Outre l'obscurcissement des noms de symboles, Mango utilise également la méthode d'empilement des chaînes de caractères (comme le montre Figure 8) pour obscurcir les chaînes de caractères, ce qui complique l'utilisation de méthodes de détection simples.
Comme Solar, la porte dérobée Mango commence par créer une tâche en mémoire, programmée pour s'exécuter indéfiniment toutes les 32 secondes. Cette tâche communique avec le serveur C&C et exécute les commandes de la porte dérobée, à l'instar de la tâche Earth
de Solar. Alors que Solar crée également Venus, une tâche d'exfiltration automatisée, cette fonctionnalité a été remplacée dans Mango par une nouvelle commande de porte dérobée.
Dans la tâche principale, Mango génère d'abord un identifiant de victime, <victimID>, à utiliser dans les communications C&C . L'identifiant est calculé sous la forme d'un code MDD, qui est utilisé pour identifier la victime. L'identifiant est calculé sous la forme d'un hachage MD5 de <nom de la machine><nom d'utilisateur>, formaté sous la forme d'une chaîne hexadécimale.
Pour demander une commande de porte dérobée, Mango envoie ensuite la chaîne d@<victimID>@<nom de machine>|<nom d'utilisateur> au serveur C&C http://www.darush.co[.]il/ads.asp - un portail d'emploi israélien légitime, probablement compromis par OilRig avant cette campagne. Nous avons informé l'organisation nationale israélienne CERT de la compromission.
Le corps de la requête est construit comme suit :
- Les données à transmettre sont cryptées par XOR à l'aide de la clé de cryptage Q&4g, puis encodées en base64.
- Une chaîne pseudo-aléatoire de 3 à 14 caractères est générée à partir de l'alphabet suivant (tel qu'il apparaît dans le code) : i8p3aEeKQbN4klFMHmcC2dU9f6gORGIhDBLS0jP5Tn7o1AVJ.
- Les données chiffrées sont insérées dans une position pseudo-aléatoire au sein de la chaîne générée, entre les délimiteurs [ @ et @].
Pour communiquer avec son serveur C&C, Mango utilise le protocole TLS (Transport Layer Security), qui est utilisé pour fournir une couche supplémentaire de chiffrement.
De même, la commande de porte dérobée reçue du serveur C&C est cryptée par XOR, codée en base64, puis placée entre [@ et @] dans le corps de la réponse HTTP. La commande elle-même est soit NCNT
(auquel cas aucune action n'est entreprise), soit une chaîne de plusieurs paramètres délimités par
@, comme indiqué dans le tableau 1 , qui répertorie les commandes de porte dérobée de Mango. Notez que <Arg0> ne figure pas dans le tableau, mais qu'il est utilisé dans la réponse au serveur C&C.
Tableau 1. Liste des commandes de porte dérobée de 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>] |
Chaque commande de porte dérobée est traitée dans un nouveau thread, et les valeurs de retour sont ensuite encodées en base64 et combinées avec d'autres métadonnées. Enfin, cette chaîne est envoyée au serveur C&C en utilisant le même protocole et la même méthode de cryptage que ceux décrits ci-dessus.
Technique d'évasion de détection non utilisée
Il est intéressant de noter que nous avons trouvé une technique d'évasion de détection inutilisée dans Mango. La fonction responsable de l'exécution des fichiers et des commandes téléchargés depuis le serveur C&C prend un deuxième paramètre facultatif - un identifiant de processus. S'il est défini, Mango utilise alors l'API UpdateProcThreadAttribute
pour donner une valeur à l'attribut PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY(0x20007) pour le processus spécifié : PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON(0x100000000000), comme indiqué dans Figure 9.
L'objectif de cette technique est d'empêcher les solutions de sécurité des points finaux de charger leurs crochets de code en mode utilisateur via une DLL dans ce processus. Bien que le paramètre n'ait pas été utilisé dans l'échantillon que nous avons analysé, il pourrait être activé dans les versions futures.
Version 1.1.1
Sans rapport avec la campagne Juicy Mix, nous avons trouvé en juillet 2023 une nouvelle version de la porte dérobée Mango (SHA-1 : C9D18D01E1EC96BE952A9D7BD78F6BBB4DD2AA2A), téléchargée sur VirusTotal par plusieurs utilisateurs sous le nom Menorah.exe. La version interne de cet échantillon est passée de 1.0.0 à 1.1.1, mais le seul changement notable est l'utilisation d'un serveur C&C différent, http://tecforsc-001-site1.gtempurl[.]com/ads.asp.
Avec cette version, nous avons également découvert un document Microsoft Word (SHA-1 : 3D71D782B95F13EE69E96BCF73EE279A00EAE5DB) contenant une macro malveillante qui ouvre la porte dérobée. La figure 10 montre le faux message d'avertissement, qui incite l'utilisateur à activer les macros pour le document, et le contenu leurre qui s'affiche ensuite, alors que le code malveillant s'exécute en arrière-plan.
Figure 10. Document Microsoft Word contenant une macro malveillante qui laisse tomber Mango v1.1.1
Outils post-compromission
Dans cette section, nous examinons une sélection d'outils post-compromission utilisés dans les campagnes Outer Space et Juicy Mix d'OilRig, visant à télécharger et à exécuter des charges utiles supplémentaires et à voler des données sur les systèmes compromis.
Téléchargeur SampleCheck5000 (SC5k)
SampleCheck5000 (ou SC5k) est un téléchargeur utilisé pour télécharger et exécuter des outils OilRig supplémentaires. Il se distingue par l'utilisation de l'API Microsoft Office Exchange Web Services pour la communication C&C : les attaquants créent des brouillons de messages dans ce compte de messagerie et y cachent les commandes de la porte dérobée. Par la suite, le téléchargeur se connecte au même compte et analyse les brouillons pour récupérer les commandes et les charges utiles à exécuter.
SC5k utilise des valeurs prédéfinies - URL Microsoft Exchange, adresse électronique et mot de passe - pour se connecter au serveur Exchange distant, mais il offre également la possibilité de remplacer ces valeurs à l'aide d'un fichier de configuration dans le répertoire de travail actuel nommé setting.key. Nous avons choisi le nom SampleCheck5000 en nous basant sur l'une des adresses électroniques utilisées par l'outil dans le cadre de la campagne Outer Space.
Une fois que SC5k s'est connecté au serveur Exchange distant, il récupère tous les courriels dans le répertoire Drafts
, les trie par ordre d'ancienneté et ne conserve que les brouillons comportant des pièces jointes. Il passe ensuite en revue chaque brouillon contenant une pièce jointe, à la recherche de pièces jointes JSON contenant des "données" dans le corps du message. Il extrait la valeur des données clés du fichier JSON, décode et déchiffre la valeur en base64 et appelle cmd.exe pour exécuter la chaîne de ligne de commande résultante. SC5k enregistre ensuite la sortie de l'exécution de cmd.exe
dans une variable locale.
À l'étape suivante de la boucle, le téléchargeur communique les résultats aux opérateurs OilRig en créant un nouveau message électronique sur le serveur Exchange et en l'enregistrant en tant que brouillon (sans l'envoyer), comme le montre la figure 11. Une technique similaire est utilisée pour exfiltrer des fichiers d'un dossier de stockage local. En tant que dernière étape de la boucle, SC5k enregistre également la sortie de la commande dans un format crypté et compressé sur le disque.
Dumpers de données de navigateur
Les opérateurs d'OilRig ont l'habitude d'utiliser des destructeurs de données de navigateur dans le cadre de leurs activités post-compromission. Nous avons découvert deux nouveaux voleurs de données de navigateur parmi les outils post-compromission déployés dans le cadre de la campagne Juicy Mix, parallèlement à la porte dérobée Mango. Ils déversent les données de navigation volées dans le répertoire %TEMP% dans des fichiers nommés Cupdate
et Eupdate
(d'où nos noms : CDumper et EDumper).
Ces deux outils sont des voleurs de données de navigateur en C#/.NET, qui collectent les cookies, l'historique de navigation et les informations d'identification des navigateurs Chrome (CDumper) et Edge (EDumper). Nous concentrons notre analyse sur CDumper, car les deux voleurs sont pratiquement identiques, à l'exception de quelques constantes.
Lorsqu'il est exécuté, CDumper crée une liste d'utilisateurs ayant installé Google Chrome. Lors de l'exécution, le voleur se connecte aux bases de données SQLite Chrome Cookies, History
et Login Data sous %APPDATA%\Local\Google\Chrome\User Data, et collecte les données du navigateur, y compris les URL visités et les logins enregistrés, à l'aide de requêtes SQL.
Les valeurs des cookies sont ensuite décryptées et toutes les informations collectées sont ajoutées à un fichier journal nommé C:\Users\<user>\AppData\Local\Temp\Cupdate, en clair. Cette fonctionnalité est mise en œuvre dans les fonctions de CDumper appelées CookieGrab
(voir Figure 12), HistoryGrab et PasswordGrab. Notez qu'aucun mécanisme d'exfiltration n'est mis en œuvre dans CDumper, mais que Mango peut exfiltrer des fichiers sélectionnés par le biais d'une commande de porte dérobée.
Dans Outer Space et dans la campagne précédente Out to Sea, OilRig a utilisé un extracteur de données Chrome C/C++ appelé MKG. Comme CDumper et EDumper, MKG était également capable de voler les noms d'utilisateur et les mots de passe, l'historique de navigation et les cookies du navigateur. Ce "Chrome data dumper" est généralement déployé dans les emplacements de fichiers suivants (le premier emplacement étant le plus courant) :
- %USERS%\public\programmes\vmwaredir\<random_14_character_string>\mkc.exe
- %USERS%\Public\M64.exe
Voleur de Windows Credential Manager
Outre les outils de vidage des données du navigateur, OilRig a également utilisé un voleur de Windows Credential Manager dans le cadre de la campagne Juicy Mix. Cet outil vole les informations d'identification à Windows Credential Manager et, comme CDumper et EDumper, les stocke dans le répertoire %TEMP% - cette fois dans un fichier nommé IUpdate
(d'où le nom IDumper). Contrairement à CDumper et EDumper, IDumper est implémenté sous la forme d'un script PowerShell.
Comme pour les outils de dumper de navigateur, il n'est pas rare qu'OilRig recueille des informations d'identification à partir du gestionnaire d'informations d'identification de Windows. Auparavant, les opérateurs d'OilRig ont été observés en train d'utiliser VALUEVAULT, un outil de vol d'informations d'identification compilé par Go et accessible au public (voir la campagne HardPass de 2019 et une campagne de 2020), dans le même but.
Conclusion
OilRig continue d'innover et de créer de nouveaux implants dotés de capacités similaires à celles d'une porte dérobée, tout en trouvant de nouveaux moyens d'exécuter des commandes sur des systèmes distants. Le groupe a amélioré sa porte dérobée C#/.NET Solar de la campagne Outer Space pour créer une nouvelle porte dérobée appelée Mango pour la campagne Juicy Mix. Le groupe déploie un ensemble d'outils personnalisés post-compromission qui sont utilisés pour collecter des informations d'identification, des cookies et l'historique de navigation des principaux navigateurs et du gestionnaire d'informations d'identification de Windows. Malgré ces innovations, OilRig continue de s'appuyer sur des méthodes bien établies pour obtenir des données sur les utilisateurs.
Pour toute question concernant nos recherches publiées sur WeLiveSecurity, veuillez nous contacter à l'adresse threatintel@eset.com.
ESET Research propose des rapports privés de renseignements sur les APT et des flux de données. Pour toute question concernant ce service, visitez la page ESET Threat Intelligence.
IoCs
Fichiers
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). |
Réseau
IP |
Domain |
Hosting provider |
First seen |
Details |
199.102.48[.]42 |
tecforsc-001-site1.gtempurl[.]com |
MarquisNet |
2022-07-29 |
N/A |
Techniques ATT&CK de MITRE
Ce tableau a été construit en utilisant la version 13 du cadre ATT&CK de MITRE.
Tactic |
ID |
Name |
Description |
Resource Development |
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. |
|
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. |
||
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. |
||
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 |
Phishing: Spearphishing Attachment |
OilRig probably distributed its Outer Space and Juicy Mix campaigns via phishing emails with their VBS droppers attached. |
|
Execution |
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. |
|
Command and Scripting Interpreter: PowerShell |
OilRig’s IDumper tool uses PowerShell for execution. |
||
Command and Scripting Interpreter: Windows Command Shell |
OilRig’s Solar, SC5k, IDumper, EDumper, and CDumper use cmd.exe to execute tasks on the system. |
||
Command and Scripting Interpreter: Visual Basic |
OilRig uses a malicious VBScript to deliver and persist its Solar and Mango backdoors. |
||
Native API |
OilRig’s Mango backdoor uses the CreateProcess Windows API for execution. |
||
Persistence |
Scheduled Task/Job: Scheduled Task |
OilRig’s VBS dropper schedules a task named ReminderTask to establish persistence for the Mango backdoor. |
|
Defense Evasion |
Masquerading: Match Legitimate Name or Location |
OilRig uses legitimate or innocuous filenames for its malware to disguise itself from defenders and security software. |
|
Obfuscated Files or Information: Software Packing |
OilRig has used SAPIEN Script Packager and SmartAssembly obfuscator to obfuscate its IDumper tool. |
||
Obfuscated Files or Information: Embedded Payloads |
OilRig’s VBS droppers have malicious payloads embedded within them as a series of base64 substrings. |
||
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. |
||
Indicator Removal: Clear Persistence |
OilRig’s post-compromise tools delete their scheduled tasks after a certain time period. |
||
Deobfuscate/Decode Files or Information |
OilRig uses several obfuscation methods to protect its strings and embedded payloads. |
||
Subvert Trust Controls |
SC5k uses Office 365, generally a trusted third party and often overlooked by defenders, as a download site. |
||
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 |
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. |
|
Credentials from Password Stores: Windows Credential Manager |
OilRig’s custom credential dumping tool IDumper can steal credentials from the Windows Credential Manager. |
||
Discovery |
System Information Discovery |
Mango obtains the compromised computer name. |
|
File and Directory Discovery |
Mango has a command to enumerate the content of a specified directory. |
||
System Owner/User Discovery |
Mango obtains the victim’s username. |
||
Account Discovery: Local Account |
OilRig’s EDumper, CDumper, and IDumper tools can enumerate all user accounts on the compromised host. |
||
Browser Information Discovery |
MKG dumps Chrome history and bookmarks. |
||
Command and Control |
Application Layer Protocol: Web Protocols |
Mango uses HTTP in C&C communications. |
|
Ingress Tool Transfer |
Mango has the capability to download additional files from the C&C server for subsequent execution. |
||
Data Obfuscation |
Solar and SC5k use a simple XOR-encryption method along with gzip compression to obfuscate data at rest and in transit. |
||
Web Service: Bidirectional Communication |
SC5k uses Office 365 for downloading files from and uploading files to the Drafts directory in a legitimate email account. |
||
Data Encoding: Standard Encoding |
Solar, Mango, and MKG base64 decodes data before sending it to the C&C server. |
||
Encrypted Channel: Symmetric Cryptography |
Mango uses an XOR cipher with the key Q&4g to encrypt data in C&C communication. |
||
Encrypted Channel: Asymmetric Cryptography |
Mango uses TLS for C&C communication. |
||
Exfiltration |
Exfiltration Over C2 Channel |
Mango, Solar, and SC5k use their C&C channels for exfiltration. |