Take a Product Tour Request a Demo Cybersecurity Assessment Contact Us

Stories

The latest cybersecurity trends, best practices,
security vulnerabilities, and more

Le retour du pseudo-ransomware

L'annonce récente d'une campagne de « ransomware » ciblant l'Ukraine a fait couler beaucoup d'encre, les médias s'intéressant non seulement aux responsables, mais aussi à leurs motivations possibles. Unlike traditional ransomware campaigns where the motive is obvious, this particular campaign is believed to be pseudo in nature1. Ici, l'intention est probablement de détruire les systèmes infectés puisque le « wiper » (effaceur) de l'étape 4 écrase simplement les données du système de la victime. En d'autres termes, tout déchiffrement est impossible. Même si la campagne vise principalement un seul pays, l'équipe Advanced Threat Research de Trellix a publié une campagne MVISION Insights pour suivre de près cette menace. Celle-ci montre les indicateurs qui ont été observés dans d'autres pays. (Détails supplémentaires)

Source : Aperçu de MVISION Insights

Dès lors, nous recommandons vivement aux entreprises de vérifier si leur état de sécurisation intègre les contrôles nécessaires pour détecter et se protéger de la menace. Les indicateurs de compromission pour la traque active sont disponibles dans la page d'aperçu Insights et nous avons incorporé tous les indicateurs connus dans nos produits. Par ailleurs, nous poursuivons nos recherches afin d'identifier tous les nouveaux éléments propres à cette attaque à mesure qu'ils se présentent.

Détails de la campagne

Les premiers échantillons et indicateurs ont été signalés le jeudi 13 janvier en fin de soirée (UTC), soit vers 1 heure du matin et plus tard en Ukraine.

The attack consists of three stages, as can be seen below.

Figure 1. Flux de l'attaque

Étape 1. Écrasement de l'enregistrement MBR et destruction de toutes les partitions
Les fichiers initialement découverts sont les suivants :

Nom du fichier Stage1.exe
Date/heure de compilation 01-10-2022 10:37:18
SHA1 189166d382c73c242ba45889d57980548d4ba37e
SHA256 a196c6b8ffcb97ffb276d04f354696e2391311db3841ae16c8c9f56f36a38e92
MD5 5d5c99a08a7d927346ca2dafa7973fc1

Étape 2. Téléchargement du malware de l'étape 3 via un réseau de distribution de contenu (CDN) hébergé par Discord

Nom du fichier Stage2.exe (initialement appelé Tbopbh.exe)
Date/heure de compilation 01-10-2022 14:39:54
SHA1 16525cb2fd86dce842107eb1ba6174b23f188537
SHA256 dcbbae5a1c61dbbbb7dcd6dc5dd1eb1169f5329958d38b58c3fd9384081c9b78
MD5 14c8482f302b5e81e3fa1b18a509289d

Étape 3. Exécution du fichier effaceur (wiper)

Nom du fichier Frkmlkdkdubkznbkmcf.dll
SHA1 82d29b52e35e7938e7ee610c04ea9daaf5e08e90
SHA256 9ef7dbd3da51332a78eff19146d21c82957821e464e8133e9594a07d716d892d
MD5 e61518ae9454a563b8f842286bbdb87b

Le chemin d'accès des deux fichiers exécutables était « C:\ ». Pour l'anecdote, les noms de fichier sont d'origine...

Les deux fichiers ont un caractère destructeur, comme nous avons pu l'observer au cours de l'analyse des échantillons.

Étape 1 — Réécriture de l'enregistrement de démarrage principal (MBR)

Lors de la première étape (Stage1.exe), le malware agit comme un ransomware après son exécution, et écrase l'enregistrement de démarrage principal (MBR). Après exécution du malware dans une machine virtuelle et redémarrage de la machine, le message suivant s'affiche :

Le style et la formulation sont caractéristiques de la plupart des demandes de rançon : il annonce que l'équipement a été chiffré et que les fichiers ont été pris en otage, et précise le montant de à payer, la devise et la référence du portefeuille bitcoin. Dans ce cas-ci toutefois, un ID TOX a été inclus au message, ce qui est rare. TOX is used to chat end-to-end encrypted via peer-to-peer connections.

L'analyse de différentes variantes a révélé que le montant et l'adresse BTC restent identiques, alors qu'ils changent dans la plupart des opérations RaaS (Ransomware-as-a-Service) avec l'utilisation de mixeurs de bitcoins pour dissimuler les transactions.

Après analyse, nous avons constaté qu'aucun code ne supprimait les clichés instantanés des volumes ni ne bloquait le processus de démarrage en mode récupération, ce qui permet généralement de supprimer les malwares et/ou de restaurer des opérations. Ces étapes sont présentes dans la plupart des échantillons de ransomware.

L'extrait de code ci-dessous montre que le malware accède au disque physique où réside le MBR, après quoi il écrase ledit MBR.

Étape 2 – Téléchargeur Discord

The ‘Stage2’ file is using an icon that resembles the icon of the proxy client “Proxifier”. Les auteurs ont tenté d'échapper à la détection en signant l'échantillon avec un certificat et en le faisant passer pour un fichier binaire Microsoft appartenant au système d'exploitation. Les métadonnées jointes au fichier sont en russe, comme le montre la capture d'écran ci-dessous. La description et le titre de l'assembly sont tous deux appelés « Проводник » (guide ou conducteur en français), comme le montrent les lignes 24 et 25 de la capture d'écran ci-dessous.

Lors de son exécution, Stage2 exécute une commande PowerShell codée, indiquée ci-après.

powershell.exe" -enc UwB0AGEAcgB0AC0AUwBsAGUAZQBwACAALQBzACAAMQAwAA==

Une fois la commande en base64 décodée, la vraie commande apparaît : une veille de 10 secondes pour retarder l'exécution.

Powershell.exe Start-Sleep -s 10

Le malware télécharge ensuite le fichier « Tbopbh.jpg » depuis un serveur du réseau de distribution de contenu (CDN) Discord.

hxxps://cdn[.]discordapp[.]com/attachments/928503440139771947/930108637681184768/Tbopbh[.]jpg

Nom du fichier Tbobph.jpg
SHA1 b2d863fc444b99c479859ad7f012b840f896172e
SHA256 923eb77b3c9e11d6c56052318c119c1a22d11ab71675e6b95d05eeb73d1accd6
MD5 b3370eb3c5ef6c536195b3bea0120929

Ce fichier n'est pas une image, mais plutôt un fichier PE inversé. Avant leur appel, les données sont inversées dans l'ordre. Le fichier est une DLL DotNet Framework au niveau de laquelle on observe l'appel réflexif du point de départ de l'étape 3, comme illustré dans l'extrait de code ci-dessous.

La fonction statique de l'étape 3 s'appelle « Ylfwdwgmpilzyaph » et réside dans « ClassLibrary1.Main »” en tant qu'espace de nom et classe. La fonction ne prend aucun argument et ne renvoie aucune valeur.

Étape 3 – Chargeur réutilisé

Nom du fichier Frkmlkdkdubkznbkmcf.dll
SHA1 82d29b52e35e7938e7ee610c04ea9daaf5e08e90
SHA256 9ef7dbd3da51332a78eff19146d21c82957821e464e8133e9594a07d716d892d
MD5 e61518ae9454a563b8f842286bbdb87b

Cette phase est également un fichier binaire DotNet Framework, comme on peut le déterminer à partir de l'appel réflexif de l'étape précédente. Le chargeur utilisé est plus courant et généralement employé pour distribuer des malwares commerciaux. As described in this recent Twitter thread, the xClient RAT was also distributed via this loader family.

Le chargeur démarre plusieurs processus pendant son exécution, après quoi il utilise un vidage de processus pour injecter et exécuter la 4e étape. Dans un premier temps, le chargeur vérifie qu'il dispose de privilèges d'administration. Si ce n'est pas le cas, le processus est redémarré en demandant en parallèle lesdits privilèges.

The first process it starts, is a file it drops to “%temp%\Nmddfrqqrbyjeygggda.vbs”. Le contenu de ce fichier est assez petit, comme vous pouvez le voir ci-dessous.

CreateObject("WScript.Shell").Run "powershell Set-MpPreference -ExclusionPath 'C:\'", 0, False

Cela permet d'exclure « C:\ » de la surveillance de Windows Defender. Comme nous l'avons dit plus haut, les deux premières étapes se déroulent dans cet emplacement précis. En d'autres termes, leur présence ne sera pas détectée par les analyses de Windows Defender, une fois l'exclusion en place.

The two processes that are started after that, utilise the same tool to execute commands: AdvancedRun by Nir Sofer. La version utilisée (1.2.2.6, signée le lundi 3 août 2020, à 5:45:51 par Nir Sofer), est un fichier exécutable légitime exploité par ce malware.

La première exécution d'AdvancedRun sert à arrêter Windows Defender à l'aide d'une fenêtre invisible.

%temp%\AdvancedRun.exe /EXEFilename "C:\Windows\System32\sc.exe" /WindowState 0 /CommandLine "stop WinDefend" /StartDirectory "" /RunAs 8 /Run

La deuxième exécution permet de supprimer définitivement les fichiers de Windows Defender du système.

%temp%\AdvancedRun.exe /EXEFilename "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" /WindowState 0 /CommandLine "rmdir 'C:\ProgramData\Microsoft\Windows Defender' -Recurse" /StartDirectory "" /RunAs 8 /Run

Le chargeur utilise ensuite la fonction d'interopérabilité de DotNet Framework pour exécuter du code non managé d'un contexte managé. La liste des fonctions ci-dessous montre les fonctions non managées utilisées, sans ordre apparent. Les noms de ces fichiers sont codés en base64 dans le chargeur.

  • ResumeThread
  • Wow64SetThreadContext
  • SetThreadContext
  • GetThreadContext
  • VirtualAllocEx
  • WriteProcessMemory
  • ZwUnmapViewOfSection
  • CreateProcessA
  • CloseHandle
  • ReadProcessMemory

Ces appels de fonction sont révélateurs de l'utilisation de la technique dite d'injection de processus. À partir de là peut démarrer l'étape 4, analysée ci-après.

Étape 4 – L'effaceur (wiper)

Nom du fichier -
SHA1 8be3c66aecd425f1f123aadc95830de49d1851b5
SHA256 191ca4833351e2e82cb080a42c4848cfbc4b1f3e97250f2700eff4e97cf72019
MD5 343fcded2aaf874342c557d3d5e5870d

L'effaceur est écrit en langage C et ne contient ni symboles, ni autres informations de débogage. La fonction principale est indiquée ci-après, avec quelques remarques.

Le malware itère sur tous les lecteurs et procède à la suppression de tous les fichiers correspondant aux 191 extensions suivantes.

.HTML, .HTM, .SHTML, .XHTML, .PHTML, .PHP, .JSP, .ASP, .PHPS, .PHP5, .ASPX, .PHP4, .PHP6, .PHP7, .PHP3, .DOC, .DOCX, .XLS, .XLSX, .PPT, PPTX, .PST, .OST, .MSG, .EML, .VSD, .VSDX, .TXT, .CSV, .RTF, .WKS, .WK1, .PDF, .DWG, .ONETOC2, .SNT, .JPEG, .JPG, .DOCB, .DOCM, .DOT, .DOTM, .DOTX, .XLSM, .XLSB, .XLW, .XLT, .XLM, .XLC, .XLTX, .XLTM, .PPTM, .POT, .PPS, .PPSM, .PPSX, .PPAM, .POTM, .EDB, .HWP, .602, .SXI, .STI, .SLDX, .SLDM, .BMP, .PNG, .GIF, .RAW, .CGM, .SLN, .TIF, .TIFF, .NEF, .PSD, .AI, .SVG, .DJVU, .SH, .CLASS, .JAR, .BRD, .SCH, .DCH, .DIP, .PL, .VB, .VBS, .PS1, .BAT, .CMD, .JS, .ASM, .H, .PAS, .CPP, .C, .CS, .SUO, .ASC, .LAY6, .LAY, .MML, .SXM, .OTG, .ODG, .UOP, .STD, .SXD, .OTP, .ODP, .WB2, .SLK, .DIF, .STC, .SXC, .OTS, .ODS, .3DM, .MAX, .3DS, .UOT, .STW, .SXW, .OTT, .ODT, .PEM, .P12, .CSR, .CRT, .KEY, .PFX, .DER, .OGG, .RB, .GO, .JAVA, .INC, .WAR, .PY, .KDBX, .INI, .YML, .PPK, .LOG, .VDI, .VMDK, .VHD, .HDD, .NVRAM, .VMSD, .VMSN, .VMSS, .VMTM, .VMX, .VMXF, .VSWP, .VMTX, .VMEM, .MDF, .IBD, .MYI, .MYD, .FRM, .SAV, .ODB, .DBF, .DB, .MDB, .ACCDB, .SQL, .SQLITEDB, .SQLITE3, .LDF, .SQ3, .ARC, .PAQ, .BZ2, .TBK, .BAK, .TAR, .TGZ, .GZ, .7Z, .RAR, .ZIP, .BACKUP, .ISO, .VCD, .BZ, .CONFIG

Le processus d'effacement est illustré dans le diagramme ci-dessous.

La liste d'exclusion de noms contient les noms de fichier suivants : « . », « .. », « $RECYCLE.BIN », ou la valeur de la variable d’environnement appelée « HOMEDRIVE ».

Les noms de fichiers trop longs ne peuvent pas être correctement gérés à l'aide d'une désignation de disque, d'où l'approche différente adoptée ici. Microsoft’s documentation describes all scenarios clearly, including the how and why.

Une fois l'effacement terminé, la seconde fonction au sein de la fonction principale est appelée. Cet appel garantit l'exécution asynchrone de la commande donnée et l'arrêt de son propre processus qui conduit à la suppression du fichier de l'effaceur, devenu inutile à ce stade. Le code est illustré ci-après.

Le nom du module est copié dans la commande, qui exécute une fenêtre réduite dans laquelle une demande ping est émise 5 fois vers « 111.111.111.111 », avec 10 millisecondes d'attente entre chaque demande. La sortie de la commande est envoyée vers « Nul », masquant ainsi la sortie. Par ailleurs, le chemin d'accès à l'effaceur est utilisé comme argument pour sa suppression forcée et silencieuse du disque. Cette commande échouerait si le programme était toujours en cours d'exécution, ce qui explique pourquoi la commande ping est exécutée en premier. La fonction dans la capture d'écran ci-dessous exécute la commande donnée et ferme tous les handles.

Enfin, le malware appelle ExitWindowsEx en utilisant EWX_SHUTDOWN comme indicateur pour garantir le vidage sur disque de toutes les mémoires tampons des fichiers. La raison donnée de l'arrêt est liée à la connectivité réseau

Techniques MITRE ATT&CK
T1059.001 PowerShell Utilisation de PowerShell pour télécharger le fichier depuis Discord et l'exécuter
T1485 Data Destruction Effacement du MBR et/ou écrasement de fichiers en vue de les corrompre
T1059.005 Visual Basic Stage3 exécute vbs avec une initialisation Wscript.
T1562.004 Disable or Modify System firewall Désactivation de Windows Defender par Stage3
T1112 Modify Registry Modification des paramètres du registre pour désactiver les outils
T1105 Transfert d'outils à l'entrée Les fichiers tels que Stage1.exe et stage2.exe sont transférés dans et via le réseau.

Conseils de défense

Threat Intelligence

MVISION Insights offre une visibilité précoce sur les indicateurs de compromission (IOC) associés à cette campagne ainsi que les détections éventuelles dans votre environnement.

MVISION Insights vous communique aussi les signes de prévalence dans votre environnement en mettant en correspondance les détections de la solution ENS avec la campagne et en fournissant les informations de traçage des processus pour montrer le flux d'exécution.

Vérifiez que vos définitions ENS AMCore sont à jour et que GTI et Real Protect sont activés.

Figure 2. Éléments détectés par ENS pour les étapes 1 et 2

MVISION EDR offre une visibilité complète sur l'exécution des processus :

Vous pouvez voir ici le flux de communication pour les charges actives de la deuxième étape et le but de l'exécution des scripts PowerShell.

Creating an investigation from the threat detections we can see the use of dual intel tools such as powershell, cmd to execute os commands and make changes to the system and download additional payloads.


1 https://www.helpnetsecurity.com/2017/08/14/pseudo-ransomware/

M'informer

La cybersécurité n'a plus aucun secret pour nous. Mais nous sommes une nouvelle entreprise.
Suivez notre actualité et nos nombreux projets.

Indiquez une adresse e-mail valide.
Nous ne vous enverrons jamais de courrier indésirable. Si vous le souhaitez, vous pouvez vous désabonner à tout moment.