Site icon Sophos News

Epsilon Red : un nouveau ransomware entre dans la danse !

epsilon red

Récemment, les analystes de Sophos ont découvert un nouveau ransomware, développé en utilisant le langage de programmation Go, et qui se fait appeler Epsilon Red. Le malware a été utilisé en tant que charge virale finale exécutable lors d’une attaque manuelle lancée contre une entreprise du secteur hôtelier américain. Au cours de cette attaque, chaque composant, qui était dans sa première phase de déploiement, correspondait à un script PowerShell.

Sur la base de l’adresse de cryptomonnaie fournie par les attaquants, il semble qu’au moins une de leurs victimes ait payé une rançon de 4,29 BTC le 15 mai dernier (soit à peu près 210 000 $ à cette date, environ 173 400€).

Alors que le nom et la boîte à outils utilisés étaient liés de manière unique à cet attaquant, la demande de rançon affichée sur les ordinateurs infectés ressemblait à celle utilisée par le ransomware REvil, tout en y apportant toutefois quelques corrections grammaticales mineures. Il n’y a pas eu d’autres similitudes évidentes signalées entre le ransomware Epsilon Red et REvil.

Il semble qu’un serveur Microsoft Exchange d’entreprise ait été le point d’entrée initial des attaquants dans le réseau de la victime. Il n’est pas clair si cet accès a été rendu possible grâce à l’exploit ProxyLogon ou une autre vulnérabilité, mais il semble probable que la cause première ait été un serveur non corrigé. À partir de cette machine, les attaquants ont utilisé WMI pour installer d’autres logiciels sur des machines à l’intérieur du réseau, avec comme objectif de pouvoir les atteindre ensuite depuis le serveur Exchange.

Le nom Epsilon Red, comme beaucoup d’autres inventés par les acteurs malveillants utilisant les ransomwares, est une référence à la culture pop. Le personnage Epsilon Red était un adversaire relativement obscur, faisant partie des X-Men de l’univers étendu de Marvel, un “super soldat” à priori d’origine russe, à l’attitude mauvaise, qui arborait quatre tentacules mécaniques.

Préparation du terrain avec PowerShell

Pendant l’attaque, les acteurs malveillants ont lancé une série de scripts PowerShell, numérotés de 1.ps1 à 12.ps1 (ainsi que certains autres, désignés en utilisant une seule lettre de l’alphabet), qui ont préparé les machines attaquées dans le but de recevoir la charge virale finale du ransomware et pour, ensuite, la distribuer et la déclencher.

L’orchestration PowerShell a elle-même été créée et déclenchée par un script PowerShell nommé RED.ps1, exécuté sur les machines cibles à l’aide de WMI. Le script récupère alors et décompresse, dans le dossier system32, un fichier d’archive .7z qui contient le reste des scripts PowerShell, l’exécutable du ransomware ainsi qu’un autre exécutable.

Il configure également des Tâches Planifiées (Scheduled Tasks) qui exécutent les scripts numérotés de 1 à 12 mais ignore 7 et 8. Il crée également des tâches pour les scripts nommés “S” et “C”.

Une commande de Tâche Planifiée (Scheduled Task) classique ressemble à la séquence ci-dessous :

C:\Windows\system32\schtasks.exe /create /tn Microsoft\Windows\TASK12 /tr "powershell -file c:\windows\system32\RED\12.ps1" /sc minute /mo 2 /ru SYSTEM /f 

Par exemple, lorsque des attaquants ont exécuté le script 2.ps1 sur une machine, ce dernier a exécuté une commande qui a supprimé les clichés instantanés de volume (Volume Shadow Copies) de l’ordinateur. Il s’agit là d’un signe avant-coureur majeure annonçant une attaque, car ces fichiers peuvent être utilisés ensuite pour récupérer l’intégralité ou une partie des fichiers chiffrés par les attaquants.

Un script PowerShell nommé c.ps1 semble être un clone d’un outil open source appelé Copy-VSS, qui fait partie d’une suite d’outils de type pentest nommée Nishang. Le script Copy-VSS permet à un attaquant de copier le fichier SAM, et de l’utiliser ensuite pour récupérer et déchiffrer les mots de passe enregistrés sur l’ordinateur.

Scripts PowerShell … obfusqués … juste assez

Les scripts PowerShell utilisent également une forme rudimentaire d’obfuscation dans laquelle les acteurs malveillants semblent avoir ajouté des crochets et des accolades au hasard dans le script, brisant ainsi les lignes de code du script PowerShell, puis ont ensuite ajouté une commande pour supprimer ces derniers.

Bien que cette technique n’ait pas beaucoup d’impact sur notre capacité à analyser les fichiers après coup, elle pourrait être juste suffisante pour échapper à la détection d’un outil anti-malware qui analyserait les fichiers sur le disque dur pendant quelques minutes : c’est certainement d’ailleurs tout ce dont les attaquants avaient vraiment besoin dans notre cas.

Nous avons pu utiliser les mêmes règles que celles mises en place par les attaquants pour créer une recette à l’aide de CyberChef qui supprime les caractères superflus et rend le script lisible par l’homme.

Ports de pare-feu bloqués et nettoyage des pistes 

Le script red.ps1 décompresse RED.7z dans le répertoire %SYSTEM%\RED, puis crée des tâches planifiées qui exécutent les scripts décompressés. Ensuite, il attend une heure et exécute des commandes qui modifient les règles du pare-feu Windows de sorte que celui-ci bloque les connexions entrantes au niveau de tous les ports TCP, à l’exception de celui lié au RDP (Remote Desktop Protocol), 3389/tcp et du port de communication utilisé par un outil professionnel appelé Remote Utilities, 5650/ tcp.

Règles de pare-feu modifiées par le script RED.ps1

Curieusement, il exécute cette tâche en bloquant d’abord le trafic entrant vers les ports 80 et 443, puis en bloquant de manière redondante et totale de larges gammes de ports incluant 80 et 443, mais excluant également les ports RDP et Remote Utilities : 1-3388, 3390-5649 et 5651 -65352.

Les règles de pare-feu Epsilon Red apparaissent au niveau de l’interface utilisateur du pare-feu Windows

En y regardant de plus près, l’une des premières actions lancées par les attaquants, après avoir accédé au réseau de la cible en question, a été de télécharger et d’installer une copie de Remote Utilities et du navigateur Tor : il est fort probable qu’il s’agisse là d’un moyen de se rassurer, en s’assurant de disposer d’un autre moyen d’accès si le point d’accès initial devait être verrouillé.

Un outil professionnel et atypique d’accès à distance

Le logiciel professionnel Remote Utilities, utilisé par les cybercriminels, possède plusieurs fonctionnalités que ces derniers pourraient trouver utiles.

D’une part, ils peuvent l’utiliser gratuitement. N’importe qui peut utiliser une adresse électronique via le site Web de l’entreprise et recevoir une clé de licence gratuite par email qui lui permettra de bénéficier de toutes les capacités du produit sur un maximum de 10 machines, et ce à vie.

Le logiciel “Viewer” de la société inclut la possibilité, pour un utilisateur sous licence, de générer un installeur exécutable signé numériquement, préconfiguré avec un mot de passe ainsi que d’autres préférences intégrées dans le fichier .exe. Les utilisateurs choisissent alors leurs options, qui sont transmises à l’entreprise via l’application pour générer un exécutable “One-Click package” unique que le programme téléchargera ensuite. L’acteur malveillant peut ensuite déployer cet installeur, qui s’exécutera sans surveillance et se synchronisera automatiquement avec sa console Remote Utilities Viewer.

La console sert également d’utilitaire de type client Remote Desktop, pour plus de praticité.

Les deux échantillons de rutserv.exe sont signés numériquement avec le certificat de Remote Utilities

Nous avons constaté que les attaquants avaient généré au moins deux de ces exécutables “One-Click installer”, qu’ils avaient téléchargés sur plusieurs machines du réseau de la cible et exécutés par la suite. L’installeur s’appelait rutserv.exe et les attaquants l’ont stocké dans différents emplacements au sein du système de fichiers, sur diverses machines au niveau desquelles ce dernier a été téléchargé.

Exécution des scripts d’orchestration

Au départ, le malware exécute les scripts numérotés 9 et 12, suivi d’un délai de 180 secondes, avant de créer les tâches pour ceux numérotés de 1 à 6, 10, 11, S.ps1 et C.ps1. Par défaut, les attaquants ont extrait ces fichiers dans un dossier nommé RED en utilisant le chemin %SYSTEM%. Chacun de ces scripts accomplit une tâche spécifique que les acteurs malveillants utilisent pour préparer le système avant de lancer le ransomware. Bon nombre de ces tâches ont pour objectif de perturber la sécurité ou les outils de sauvegarde, mais également de désactiver ou de stopper des processus qui, s’ils étaient en cours d’exécution, pourraient empêcher un chiffrement complet des précieuses données présentes sur le disque dur.

Le script RED.ps1 exécute 12 des 14 scripts PowerShell en les ajoutant au planificateur de tâches (Task Scheduler)

Nous ne savons pas si les attaquants étaient juste minutieux ou bien s’ils n’étaient pas sûrs de pouvoir attendre pleinement leur but, mais dans plusieurs cas, les scripts émettent des commandes redondantes pour atteindre le même objectif en utilisant des méthodes légèrement différentes.

Par exemple, le fichier 1.ps1 recherche les processus qui contiennent l’une des séquences suivantes dans leur nom de processus et tente de les tuer :

'sql','Sql','SQL','BASup','Titan','SBAM','sbam','vipre','Vipre','Cylance','cylance','Senti','senti','sql','backup','veeam','outlook','word','excel','office','ocomm','dbsnmp','onenote','firefox','xfssvccon','infopath','wordpa','isqlplussvc','sql','dbeng50','mspub','mydesktopqos','ocautoupds','thunderbird','encsvc','oracle','mydesktopservice','thebat','agntsvc','steam','ocssd','tbirdconfig','synctime','visio','sqbcoreservice','winword','msaccess','powerpnt','mepocs','memtas','svc$','vss','sophos','crm','quickbooks','pos','qb','sage','SQL','prc','w3wp','java','store','ax32','dbs','wordpad','VeeamAgent','Backup','Cloud','Mbae','MB3','WRSA','rsa','wrsa'

Ces séquences indiquent que les attaquants essaient non seulement de désactiver les outils de sécurité, mais également les services de base de données, les programmes de sauvegarde, les applications de bureau, les clients de messagerie, QuickBooks et même Steam, la plateforme de jeux.

2.ps1 supprime tous les clichés instantanés de volume (Volume Shadow Copies) sur le système en exécutant une seule commande (vssadmin.exe delete shadows/all/quiet), tandis que 3.ps1 désactive les réparations automatiques que Windows pourrait essayer d’exécuter lors d’un redémarrage.

4.ps1 tente ensuite de supprimer les clichés instantanés de volume en utilisant une méthode différente :

wmic shadowcopy delete /nointeractive
Get-WmiObject Win32_ShadowCopy | % { $_.Delete() }
Get-WmiObject Win32_ShadowCopy | Remove-WmiObject
Get-WmiObject Win32_Shadowcopy | ForEach-Object { $_Delete(); }
Get-CimInstance Win32_ShadowCopy | Remove-CimInstance

5.ps1 exécute deux commandes qui, ensemble, suppriment les logs d’événements Windows, pouvant ainsi entraver une éventuelle investigation.

De la même manière que 1.ps1, 6.ps1 tente de tuer, non pas des processus, mais des services, sur la base d’une liste de séquences pouvant apparaître dans les noms des services suivants :

‘sql’,’Sql’,’SQL’,’BASup’,’Titan’,’Cylance’,’cylance’,’Defend’,’NisSvc’,’Veeam’,’veeam’,’backup’,’Backup’,’rsa’,’wrsa’,’WRSA’,’RSA’

Il désactive également Windows Defender en définissant la clé de registre Windows suivante :

reg add “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender” /f /v DisableAntiSpyware /t REG_DWORD /d

9.ps1, qui est exécuté en premier, tente d’appeler le programme de désinstallation des logiciels de sécurité de Sophos, Trend Micro, Cylance, MalwareBytes, Sentinel One, Vipre, Webroot et plusieurs agents de sauvegarde Cloud.

10.ps1 exécute ensuite, de manière redondante, l’exécutable p.exe alors disponible, qui suspend les processus contenant les séquences suivantes et efface leurs logs :

'MpCmd','MsMp','Senti','senti','sql','backup','veeam','outlook','word','excel','office','ocomm','dbsnmp','onenote','firefox','xfssvccon','infopath','wordpa','isqlplussvc','sql','dbeng50','mspub','mydesktopqos','ocautoupds','thunderbird','encsvc','oracle','mydesktopservice','thebat','agntsvc','steam','ocssd','tbirdconfig','synctime','visio','sqbcoreservice','winword','msaccess','powerpnt','mepocs','memtas','svc$','vss','sophos','crm','quickbooks','pos','qb','sage','SQL','prc','w3wp','java','store','ax32','dbs','wordpad','VeeamAgent','Backup','Cloud','Mbae','MB3'

Ensuite, 11.ps1 ajoute encore une autre couche de redondance, en exécutant les commandes suivantes qui suppriment les clichés instantanés de volume (de nouveau et pour la troisième fois !), en modifiant les options de récupération et en effaçant les logs d’événements d’une manière différente.

‘vssadmin.exe Delete Shadows /All /Quiet’,
‘bcdedit /set {default} recoveryenabled no’,
‘wmic shadowcopy delete’,
‘wbadmin delete backup’,
‘wbadmin delete systemstatebackup -keepversions:0’,
‘bcdedit /set {default} bootstatuspolicy ignoreallfailures’,
‘bcdedit /set {default} recoveryenabled no’,
‘wevtutil.exe clear-log Application’,
‘wevtutil.exe clear-log Security’,
‘wevtutil.exe clear-log System’,
‘wbadmin delete systemstatebackup’,
‘wbadmin delete catalog -quiet’,
‘bootstatuspolicy ignoreallfailures’

Ce niveau de redondance peut indiquer que cet acteur malveillant n’est pas sûr des capacités de ses propres outils, et qu’il ne souhaite donc pas prendre de risques.

12.ps1 accorde au groupe “Everyone” des autorisations d’accès à chaque lettre de lecteur pouvant exister sur la machine afin de garantir le chiffrement du plus grand nombre de fichiers possible.

Tâches planifiées (Scheduled Tasks) configurées par le script RED.ps1

Le script red.ps1 se supprime également lui-même, et fait disparaître l’archive .7z ainsi que la copie locale de 7zip au niveau du système lorsqu’il s’exécute, effaçant ainsi les preuves clés.

En plus de l’exécutable du ransomware lui-même, les Labs ont récupéré et analysé un autre exécutable auxiliaire que les attaquants avaient déployé sur les machines cibles. Le fichier, simplement appelé p.exe, semble être une version compilée sur mesure d’un outil open source appelé EventCleaner, qui a été créé pour effacer ou modifier le contenu des logs d’événements Windows. Les attaquants ont utilisé le composant p.exe pour nettoyer les preuves de leurs activités malveillantes.

Nous avons également mentionné l’existence d’autres scripts PowerShell, présents dans l’archive .7z, que les attaquants avaient installés sur les machines ciblées. Bien que nous n’ayons vu aucune preuve qu’ils aient été exécutés dans le contexte de cette attaque, les scripts numérotés 7, 8 et 9 servent des objectifs majeurs. 7.ps1 ferme pratiquement toutes les sessions ouvertes sur l’ordinateur ; 8.ps1 est une copie redondante du même script concernant les règles de pare-feu inclus dans RED.ps1.

Un ransomware plutôt basique

Le ransomware lui-même, appelé RED.exe, est un exécutable Windows 64 bits programmé avec le langage Go, compilé à l’aide d’un outil appelé MinGW, et packagé avec une version modifiée d’UPX (logiciel de compression de fichiers exécutables).

L’exécutable contient du code extrait d’un projet open source appelé godirwalk, lui donnant ainsi la possibilité d’analyser le disque dur sur lequel il s’exécute à la recherche de chemins de répertoire et de les regrouper par la suite dans une liste. Le ransomware génère ensuite un nouveau processus enfant qui chiffre chaque sous-dossier séparément, ce qui, après un court laps de temps, déclenche l’exécution simultanée de nombreuses copies du processus du ransomware.

Dans ce diagramme d’analyse des causes racines, chaque instance du ransomware red.exe chiffrant un seul dossier apparaît comme un processus unique.

Le ransomware lui-même est assez minimaliste car il n’est vraiment utilisé que pour effectuer le chiffrement des fichiers sur le système ciblé. Il n’établit aucune connexion réseau, et parce que des fonctions telles que la suppression de processus ou de clichés instantanés de volume ont été sous-traitées aux scripts PowerShell, il s’agit là vraiment d’un programme assez simple.

Dans l’exemple que nous avons vu, il ne contient même pas de liste de types ou d’extensions de fichiers ciblés. En fait, il chiffrera l’intégralité des dossiers qu’il décide de chiffrer, notamment d’autres exécutables et DLL, qui peuvent rendre les programmes ou l’ensemble du système non fonctionnels, si le ransomware décide de chiffrer le mauvais chemin de dossier. Après avoir chiffré chaque fichier, il ajoute aux fichiers le suffixe “.epsilonred” et dépose une demande de rançon dans chaque dossier.

Curieusement, la demande de rançon ressemble beaucoup à celle utilisée par REvil, un ransomware beaucoup plus largement utilisé. Cependant, contrairement à la demande de rançon de REvil, qui était généralement truffée de fautes d’orthographe et de grammaire, celle déposée par Epsilon Red avait subi quelques modifications pour rendre son texte davantage lisible par des cibles natives anglophones.

La demande de rançon Epsilon Red

Les victimes sont incitées à se rendre sur une URL spéciale au niveau d’un site accessible depuis le Web classique (epsilons[.]red) afin de dialoguer avec les attaquants.

Détections

Les produits endpoint de Sophos, tels qu’Intercept X, détecteront de manière comportementale plusieurs des actions lancées par les scripts PowerShell ou la charge virale du ransomware. Les tentatives de chiffrement, à proprement parler, des fichiers seront bloquées par la fonction CryptoGuard. Comme le point d’entrée de cette attaque semble avoir été un serveur Exchange vulnérable à la chaîne d’exploit ProxyLogon, les clients sont invités à corriger les serveurs Exchange connectés à Internet le plus rapidement possible. Les produits endpoint de Sophos peuvent protéger les serveurs Exchange ainsi que les contrôleurs de domaine ou encore les postes de travail.

Des indicateurs de compromission pour cette menace sont disponibles sur le Github des SophosLabs.

Remerciements

Les SophosLabs remercient Anand Ajjan, Richard Cohen, Fraser Howard, Elida Leite, Mark Loman, Andrew Ludgate, Peter Mackenzie, Nirav Parekh et Gabor Szappanos pour leurs travaux, pour avoir produit une analyse complète de cette menace et avoir ainsi améliorer notre capacité future à détecter et bloquer des malwares comme Epsilon Red.

Billet inspiré de A new ransomware enters the fray: Epsilon Red, sur le Blog Sophos.

Exit mobile version