banner
Centre d'Information
Nous nous engageons à respecter nos normes de certification ISO.

COSMICENERGY : Un nouveau logiciel malveillant OT peut-être lié aux exercices d'intervention d'urgence russes

Aug 11, 2023

Mandiant a identifié un nouveau logiciel malveillant orienté technologie opérationnelle (OT)/système de contrôle industriel (ICS), que nous suivons sous le nom de COSMICENERGY, téléchargé sur un utilitaire public d'analyse de logiciels malveillants en décembre 2021 par un émetteur en Russie. Le logiciel malveillant est conçu pour provoquer une interruption de l'alimentation électrique en interagissant avec les appareils CEI 60870-5-104 (CEI-104), tels que les terminaux distants (RTU), qui sont couramment utilisés dans les opérations de transmission et de distribution d'électricité en Europe et au Moyen-Orient. , et l'Asie.

COSMICENERGY est le dernier exemple de logiciel malveillant OT spécialisé capable de provoquer des impacts cyberphysiques, qui sont rarement découverts ou divulgués. Ce qui rend COSMICENERGY unique, c'est que sur la base de notre analyse, un entrepreneur peut l'avoir développé comme un outil d'équipe rouge pour des exercices de simulation de coupure de courant hébergés par Rostelecom-Solar, une société russe de cybersécurité. L'analyse du logiciel malveillant et de ses fonctionnalités révèle que ses capacités sont comparables à celles utilisées dans les incidents et logiciels malveillants précédents, tels que INDUSTROYER et INDUSTROYER.V2, qui étaient tous deux des variantes de logiciels malveillants déployés dans le passé pour avoir un impact sur la transmission et la distribution d'électricité via IEC-104.

La découverte de COSMICENERGY montre que les barrières à l'entrée pour développer des capacités OT offensives diminuent à mesure que les acteurs exploitent les connaissances des attaques précédentes pour développer de nouveaux logiciels malveillants. Étant donné que les acteurs de la menace utilisent des outils d'équipe rouge et des cadres d'exploitation publics pour des activités de menace ciblées dans la nature, nous pensons que COSMICENERGY constitue une menace plausible pour les actifs du réseau électrique concernés. Les propriétaires d'actifs OT utilisant des appareils conformes à la norme IEC-104 doivent prendre des mesures pour anticiper le potentiel du déploiement sauvage de COSMICENERGY.

Les capacités et la stratégie d'attaque globale de COSMICENERGY semblent rappeler l'incident INDUSTROYER de 2016, qui a émis des commandes IEC-104 ON/OFF pour interagir avec les RTU et, selon une analyse, peut avoir utilisé un serveur MSSQL comme système de conduit pour accéder à OT. En exploitant cet accès, un attaquant peut envoyer des commandes à distance pour affecter l'actionnement des commutateurs de lignes électriques et des disjoncteurs afin de provoquer une interruption de l'alimentation. COSMICENERGY accomplit cela via ses deux composants dérivés, que nous suivons comme PIEHOP et LIGHTWORK (voir les annexes pour les analyses techniques).

COSMICENERGY manque de capacités de découverte, ce qui implique que pour exécuter avec succès une attaque, l'opérateur de logiciels malveillants devrait effectuer une reconnaissance interne pour obtenir des informations sur l'environnement, telles que les adresses IP du serveur MSSQL, les informations d'identification MSSQL et les adresses IP des périphériques IEC-104 cibles. L'échantillon de LIGHTWORK que nous avons obtenu comprend huit adresses d'objets d'information (IOA) IEC-104 codées en dur, qui sont généralement en corrélation avec des éléments de données d'entrée ou de sortie sur un appareil et peuvent correspondre à des commutateurs de ligne électrique ou à des disjoncteurs dans une configuration RTU ou relais. Cependant, les mappages IOA diffèrent souvent entre les fabricants, les appareils et même les environnements. Pour cette raison, les actions particulières prévues par l'acteur ne sont pas claires sans plus de connaissances sur les actifs ciblés.

Au cours de notre analyse de COSMICENERGY, nous avons identifié un commentaire dans le code indiquant que l'échantillon utilise un module associé à un projet nommé "Solar Polygon" (Figure 2). Nous avons recherché la chaîne unique et identifié une seule correspondance avec une cybergamme (alias polygone) développée par Rostelecom-Solar, une société russe de cybersécurité qui a reçu une subvention gouvernementale en 2019 pour commencer à former des experts en cybersécurité et à mener des interruptions de l'alimentation électrique et des urgences. exercices de réponse.

Bien que nous n'ayons pas identifié suffisamment de preuves pour déterminer l'origine ou le but de COSMICENERGY, nous pensons que le logiciel malveillant a peut-être été développé par Rostelecom-Solar ou une partie associée pour recréer des scénarios d'attaque réels contre les actifs du réseau énergétique. Il est possible que le logiciel malveillant ait été utilisé pour soutenir des exercices tels que ceux organisés par Rostelecom-Solar en 2021 en collaboration avec le ministère russe de l'Énergie ou en 2022 pour le Forum économique international de Saint-Pétersbourg (SPIEF).

Cependant, étant donné l'absence de preuves concluantes, nous considérons qu'il est également possible qu'un acteur différent - avec ou sans autorisation - ait réutilisé le code associé à la gamme cyber pour développer ce malware. Les acteurs de la menace adaptent et utilisent régulièrement les outils de l'équipe rouge - tels que les cadres d'exploitation commerciaux et accessibles au public - pour faciliter les attaques du monde réel, comme l'utilisation de TEMP.Veles de METERPRETER lors de l'attaque TRITON. Il existe également de nombreux exemples d'acteurs de l'État-nation faisant appel à des sous-traitants pour développer des capacités offensives, comme l'ont montré plus récemment des contrats entre le ministère russe de la Défense et NTC Vulkan. Ces observations laissent ouverte la possibilité que COSMICENERGY ait été développé avec une intention malveillante, et au minimum qu'il puisse être utilisé pour soutenir une activité de menace ciblée dans la nature.

Bien que COSMICENERGY ne chevauche pas directement les familles de logiciels malveillants observées précédemment, ses capacités sont comparables à celles utilisées dans les incidents et logiciels malveillants précédents. Les similitudes les plus importantes que nous avons identifiées sont avec INDUSTROYER et INDUSTROYER.V2, qui étaient tous deux des variantes de logiciels malveillants déployés dans le passé pour avoir un impact sur la transmission et la distribution d'électricité. COSMICENERGY présente également des similitudes techniques notables avec d'autres familles de logiciels malveillants OT qui ont été développés ou empaquetés à l'aide de Python ou qui ont utilisé des bibliothèques open source pour la mise en œuvre du protocole OT, notamment IRONGATE, TRITON et INCONTROLLER. D'autres analyses de ces similitudes sont disponibles via Mandiant Advantage.

En ce qui concerne ces similitudes, nous soulignons les tendances suivantes qui pourraient se manifester dans les futurs logiciels malveillants OT :

Bien que les capacités de COSMICENERGY ne soient pas significativement différentes de celles des familles de malwares OT précédentes, sa découverte met en évidence plusieurs développements notables dans le paysage des menaces OT. Premièrement, la découverte de nouveaux logiciels malveillants OT présente une menace immédiate pour les organisations concernées, car ces découvertes sont rares et parce que le logiciel malveillant tire principalement parti des caractéristiques non sécurisées par conception des environnements OT qui ne seront probablement pas corrigées de sitôt. Deuxièmement, comme COSMICENERGY a été potentiellement développé dans le cadre d'une équipe rouge, cette découverte suggère que les barrières à l'entrée s'abaissent pour les activités de menace OT offensives puisque nous observons normalement ces types de capacités limitées aux acteurs disposant de ressources suffisantes ou parrainés par l'État. Enfin, nous soulignons que bien que les échantillons de COSMICENERGY que nous avons obtenus soient potentiellement liés à l'équipe rouge, les acteurs de la menace utilisent régulièrement des sous-traitants et des outils de l'équipe rouge dans l'activité de menace du monde réel, y compris lors d'attaques OT.

Pour ces raisons, les défenseurs OT et les propriétaires d'actifs doivent prendre des mesures d'atténuation contre COSMICENERGY pour anticiper le déploiement sauvage et pour mieux comprendre les fonctionnalités et capacités communes qui sont fréquemment déployées dans les logiciels malveillants OT. Ces connaissances peuvent être utiles lors de la réalisation d'exercices de chasse aux menaces et du déploiement de détections pour identifier les activités malveillantes dans les environnements OT.

Si vous avez besoin d'aide pour répondre à une activité connexe, veuillez contacter Mandiant Consulting. Une analyse plus approfondie de COSMICENERGY est disponible dans le cadre de Mandiant Advantage Threat Intelligence.

Nous fournissons aux organisations à risque les méthodes de découverte suivantes pour mener des chasses aux menaces pour les tactiques, techniques et procédures (TTP) mises en œuvre à partir de l'ensemble d'outils :

Nom de fichier

Description

Hacher

r3_iec104_control.exe

PIEHOP PyInstaller exécutable

MD5: cd8f394652db3d0376ba24a990403d20

SHA1: bc07686b422aa0dd01c87ccf557863ee62f6a435

SHA256: 358f0f8c23acea82c5f75d6a2de37b6bea7785ed0e32c41109c217c48bf16010

r3_iec104_control

PIEHOP Python compilé le point d'entrée du bytecode

MD5: f716b30fc3d71d5e8678cc6b81811db4

SHA1: e91e4df49afa628fba1691b7c668af64ed6b0e1d

SHA256: 7dc25602983f7c5c3c4e81eeb1f2426587b6c1dc6627f20d51007beac840ea2b

r3_iec104_control.py

Script Python de point d'entrée PIEHOP décompilé

MD5: c018c54eff8fd0b9be50b5d419d80f21

SHA1: 4d7c4bc20e8c392ede2cb0cef787fe007265973b

SHA256: 8933477e82202de97fb41f4cbbe6af32596cec70b5b47da022046981c01506a7

iec104_mssql_lib.pyc

PIEHOP Python compilé bytecode

MD5: adfa40d44a58e1bc909abca444f7f616

SHA1: a9b5b16769f604947b9d8262841aa3082f7d71a2

SHA256: 182d6f5821a04028fe4b603984b4d33574b7824105142b722e318717a688969e

iec104_mssql_lib.py

Script Python PIEHOP décompilé

MD5: 2b86adb6afdfa9216ef8ec2ff4fd2558

SHA1: 20c9c04a6f8b95d2f0ce596dac226d56be519571

SHA256: 90d96bb2aa2414a0262d38cc805122776a9405efece70beeebf3f0bcfc364c2d

OT_T855_IEC104_GR.exe

exécutable LIGHTWORK

MD5: 7b6678a1c0000344f4faf975c0cfc43d

SHA1: 6eceb78acd1066294d72fe86ed57bf43bc6de6eb

SHA256: 740e0d2fba550308344b2fb0e5ecfebdd09329bdcfaa909d3357ad4fe5552532

PIEHOP (nom de fichier : r3_iec104_control.exe) (MD5 : cd8f394652db3d0376ba24a990403d20) est un outil d'interruption écrit en Python et fourni avec PyInstaller version 2.1+ qui a la capacité de se connecter à un serveur MSSQL distant fourni par l'utilisateur pour télécharger des fichiers et émettre des commandes à distance vers une RTU. .

PIEHOP s'attend à ce que sa fonction principale soit appelée via un autre fichier Python, en fournissant l'argument control=True ou upload=True. Au minimum, il nécessite les arguments suivants : oik, user et pwd, et s'il est appelé avec control=True, il doit également être fourni avec iec104 :

Dans l'échantillon analysé, le point d'entrée c018c54eff8fd0b9be50b5d419d80f21 (r3_iec104_control.py) de PIEHOP appelle la fonction principale de PIEHOP, en fournissant l'argument control=True. Le fichier c018c54eff8fd0b9be50b5d419d80f21 (r3_iec104_control.py) importe le module "iec104_mssql_lib", qui est contenu dans le contenu extrait comme adfa40d44a58e1bc909abca444f7f616 (iec104_mssql_lib.pyc) :

2b86adb6afdfa9216ef8ec2ff4fd2558 (iec104_mssql_lib.py) implémente les fonctionnalités principales de PIEHOP et contient de nombreux commentaires fournis par les développeurs pour le code inclus. Notamment, la fonction principale contient des failles logiques qui l'empêchent de se connecter à un serveur MSSQL et de télécharger OT_T855_IEC104_GR.exe (LIGHTWORK) dessus, avant de tenter immédiatement de se nettoyer.

S'il est correctement implémenté, PIEHOP peut se connecter à un serveur MSSQL distant fourni par l'utilisateur pour télécharger LIGHTWORK et émettre des commandes à distance ciblant spécifiquement RTU, puis se supprimer. PIEHOP utilise LIGHTWORK pour exécuter les commandes IEC-104 "ON" ou "OFF" sur le système distant et supprime immédiatement l'exécutable après avoir émis les commandes.

LIGHTWORK (nom de fichier : OT_T855_IEC104_GR.exe) (MD5 : 7b6678a1c0000344f4faf975c0cfc43d) est un outil de perturbation écrit en C++ qui implémente le protocole IEC-104 pour modifier l'état des RTU sur TCP. Il élabore des messages ASDU IEC-104 configurables, pour changer l'état des IOA RTU en ON ou OFF. Cet exemple fonctionne en tandem avec PIEHOP, qui configure l'exécution. LIGHTWORK prend les arguments de ligne de commande positionnels suivants :

Lors de l'exécution, LIGHTWORK commence par envoyer une "C_IC_NA_1 - commande d'interrogation de la station" à la station cible spécifiée en récupérant l'état de la station cible. Ensuite, il envoie une "C_SC_NA_1 - commande unique" à chaque IOA codé en dur pour modifier l'état de l'IOA de la station cible (OFF ou ON). Enfin, il envoie une seule "C_CS_NA_1 - commande de synchronisation d'horloge" à la station cible, qui synchronise l'horloge de la station distante avec l'horloge de l'équipement émettant les commandes.

S'il est exécuté avec succès, LIGHTWORK fournit à l'opérateur la sortie de ligne de commande suivante :

règle M_Hunting_PyInstaller_PIEHOP_Module_Strings

{

méta :

auteur = "Mandiant"

date = "2023-04-11"

description = "Recherche de fichiers PyInstaller avec un script/module Python personnalisé associé à PIEHOP."

chaînes :

$lib = "iec104_mssql_lib" ascii

condition:

uint16(0) == 0x5A4D et uint32(uint32(0x3C)) == 0x00004550 et

$lib

}

règle M_Hunting_Disrupt_LIGHTWORK_Strings

{

méta :

auteur = "Mandiant"

description = "Recherche des chaînes associées à IEC-104 utilisées dans LIGHTWORK."

date = "2023-04-19"

chaînes :

$s1 = "Connexion à : %s :%i\n" ascii large nocase

$s2 = "Connecté !" pas de cas large ascii

$s3 = "Envoyer la commande de contrôle C_SC_NA_1" ascii large nocase

$s4 = "Échec de la connexion !" pas de cas large ascii

$s5 = "Envoyer la commande de synchronisation de l'heure" ascii large nocase

$s6 = "Attendez ..." ascii large nocase

$s7 = "exit 0" ascii large nocase

condition:

taille de fichier < 5 Mo et

uint16(0) == 0x5A4D et uint32(uint32(0x3C)) == 0x00004550 et

tous

}

T1140 : Désobscurcir/décoder des fichiers ou des informations

Les adversaires peuvent utiliser des fichiers ou des informations obscurcis pour masquer les artefacts d'une intrusion de l'analyse. Ils peuvent avoir besoin de mécanismes distincts pour décoder ou désobscurcir ces informations en fonction de la manière dont ils ont l'intention de les utiliser. Les méthodes pour ce faire incluent la fonctionnalité intégrée des logiciels malveillants ou en utilisant des utilitaires présents sur le système.

T0807 : Interface de ligne de commande

Les adversaires peuvent utiliser des interfaces de ligne de commande (CLI) pour interagir avec les systèmes et exécuter des commandes. Les CLI fournissent un moyen d'interagir avec les systèmes informatiques et sont une caractéristique commune à de nombreux types de plates-formes et d'appareils dans les environnements de systèmes de contrôle. Les pirates peuvent également utiliser des CLI pour installer et exécuter de nouveaux logiciels, y compris des outils malveillants qui peuvent être installés au cours d'une opération.

T0809 : Destruction des données

Les adversaires peuvent détruire des données au cours d'une opération. L'adversaire peut déposer ou créer des logiciels malveillants, des outils ou d'autres fichiers non natifs sur un système cible pour y parvenir, laissant potentiellement des traces d'activités malveillantes. Ces fichiers non natifs et autres données peuvent être supprimés au cours d'une intrusion pour maintenir une petite empreinte ou dans le cadre du processus de nettoyage post-intrusion.

T0831 : Manipulation du contrôle

Les adversaires peuvent manipuler le contrôle des processus physiques dans l'environnement industriel. Les méthodes de manipulation du contrôle peuvent inclure des modifications des valeurs de point de consigne, des balises ou d'autres paramètres. Les adversaires peuvent manipuler les dispositifs des systèmes de contrôle ou éventuellement tirer parti des leurs pour communiquer avec les processus de contrôle physiques et les commander. La durée de la manipulation peut être temporaire ou plus soutenue, selon la détection de l'opérateur.

T0855 : Message de commande non autorisée

Les adversaires peuvent envoyer des messages de commande non autorisés pour demander aux actifs du système de contrôle d'effectuer des actions en dehors de leur fonctionnalité prévue, ou sans les conditions préalables logiques pour déclencher leur fonction attendue. Les messages de commande sont utilisés dans les réseaux ICS pour donner des instructions directes aux dispositifs des systèmes de contrôle. Si un adversaire peut envoyer un message de commande non autorisé à un système de contrôle, alors il peut ordonner au dispositif du système de contrôle d'effectuer une action en dehors des limites normales des actions du dispositif. Un adversaire pourrait potentiellement ordonner à un dispositif de systèmes de contrôle d'effectuer une action qui causera un impact

Lien vers le flux RSS

Les experts Mandiant sont prêts à répondre à vos questions.

Nom de fichier Description Hachage MD5 SHA1 SHA256 MD5 SHA1 SHA256 MD5 SHA1 SHA256 MD5 SHA1 SHA256 MD5 SHA1 SHA256 MD5 SHA1 SHA256