SOC Prime Bias: Critique

20 Nov 2025 18:32

Histoires de Rançongiciels : Volume V — Émulation des rançongiciels REvil, DarkSide et BlackMatter

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Histoires de Rançongiciels : Volume V — Émulation des rançongiciels REvil, DarkSide et BlackMatter
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Cet article couvre le cinquième volume de la série Ransom Tales d’AttackIQ, qui recrée les tactiques, techniques et procédures de trois familles de ransomwares notoires — REvil, DarkSide et BlackMatter. Chaque scénario parcourt les phases d’exécution, de persistance, de découverte, d’évasion des défenses et d’impact pour permettre aux défenseurs de valider les livres de jeu de détection et de réponse. Les émulations reproduisent les comportements emblématiques, tels que le détournement de l’ordre de recherche des DLL, l’abus de registre, les tâches planifiées pour la persistance, la suppression de copies de sauvegarde VSS, et le chiffrement fort des fichiers. L’article revisite également les intrusions majeures de la chaîne d’approvisionnement et suit l’évolution du ransomware en tant que service au fil du temps.

Analyse des Attaques Ransomware

L’équipe de recherche sur l’adversaire d’AttackIQ s’est appuyée sur des rapports de renseignement de menace publics et des échantillons de logiciels malveillants pour créer des graphes d’attaques réalistes pour chaque famille de ransomwares. Les chercheurs ont cartographié les étapes individuelles aux identifiants de techniques MITRE ATT&CK et ont conçu des chemins d’exécution qui récupèrent des charges utiles, établissent la persistance, énumèrent les informations hôte et domaine, et chiffrent les fichiers. L’équipe a également modélisé l’utilisation d’exploits CVE connus exploités par DarkSide pour l’accès initial. L’enquête souligne l’outillage partagé, l’infrastructure chevauchante et la réutilisation de code par les familles de ransomwares REvil, DarkSide, et BlackMatter.

Atténuation

Les actions d’atténuation recommandées se concentrent sur l’application du principe du moindre privilège, la désactivation des services non essentiels, et la correction rapide des systèmes exposés, y compris les vulnérabilités connues de VMware ESXi. Les équipes sont exhortées à restreindre l’accès distant au bureau, à surveiller de près les changements suspects de registre et les nouvelles tâches planifiées, et à déployer un contrôle d’application robuste. Les conseils insistent en outre sur le rôle des technologies de détection des endpoints et la vérification routinière des sauvegardes pour contenir le rayon d’impact des incidents de ransomware.

Réponse

Lorsque des activités de type ransomware sont détectées, les intervenants doivent immédiatement isoler les systèmes impactés, capturer la mémoire volatile, collecter les ruches de registre pertinentes et conserver les sources de logs. L’examen médico-légal doit analyser les copies fantômes, les tâches planifiées et les clés de registre pour détecter des signes de procédés de REvil, DarkSide, ou BlackMatter. La récupération implique de restaurer les données à partir de sauvegardes propres et validées et de traquer les tentatives de mouvement latéral en utilisant les identifiants SMB et LDAP. Enfin, les équipes doivent informer les parties prenantes, documenter l’incident, et enrichir les conclusions avec du renseignement de menace pour soutenir l’attribution et les améliorations défensives futures.

graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef tool fill:#c2f0c2 classDef malware fill:#ffb6c1 classDef process fill:#d9d9ff classDef operator fill:#ffeb99 %% Nodes – Initial Execution and Setup tech_initial_exec[« <b>Technique</b> – <b>T1574.001 Détournement de l’ordre de recherche des DLL</b><br/>Le malware charge une DLL malveillante en détournant l’ordre de recherche des DLL de Windows. »] class tech_initial_exec technique tech_anti_analysis[« <b>Technique</b> – <b>T1497 Évasion de virtualisation / sandbox</b><br/>Appels à l’API IsDebuggerPresent pour détecter les environnements de débogage ou de sandbox. »] class tech_anti_analysis technique tech_registry_query[« <b>Technique</b> – <b>T1012 Interrogation du registre</b><br/>Crée HKLM\\SOFTWARE\\WOW6432Node\\BlackLivesMatter et interroge la valeur MachineGUID pour obtenir un identifiant système unique. »] class tech_registry_query technique tech_persistence[« <b>Technique</b> – <b>T1053 Tâche planifiée / Job</b><br/>Établit une tâche planifiée à l’aide de l’utilitaire schtasks pour assurer la persistance. »] class tech_persistence technique tool_schtasks[« <b>Outil</b> – <b>Nom</b> : schtasks<br/><b>Objectif</b> : Créer et gérer des tâches planifiées »] class tool_schtasks tool %% Nodes – Discovery Phase op_discovery((« Découverte »)) class op_discovery operator tech_sys_info[« <b>Technique</b> – <b>T1082 Découverte des informations système</b><br/>Collecte des détails du système d’exploitation et du matériel via GetSystemInfo. »] class tech_sys_info technique tech_user_discovery[« <b>Technique</b> – <b>T1033 Découverte du propriétaire / utilisateur du système</b><br/>Obtient le nom d’utilisateur courant via GetUserNameW. »] class tech_user_discovery technique tech_process_discovery[« <b>Technique</b> – <b>T1057 Découverte des processus</b><br/>Énumère les processus en cours à l’aide des API Toolhelp snapshot. »] class tech_process_discovery technique tech_service_discovery[« <b>Technique</b> – <b>T1007 Découverte des services système</b><br/>Interroge les services via EnumServicesStatusW. »] class tech_service_discovery technique tech_file_dir_discovery[« <b>Technique</b> – <b>T1083 Découverte des fichiers et répertoires</b><br/>Parcourt le système de fichiers avec FindFirstFileW / FindNextFileW. »] class tech_file_dir_discovery technique tech_software_discovery[« <b>Technique</b> – <b>T1518 Découverte des logiciels</b><br/>Utilise WMI (wmic) pour lister les produits antivirus, antispyware et pare‑feu installés. »] class tech_software_discovery technique tech_location_discovery[« <b>Technique</b> – <b>T1614 Découverte de la localisation du système</b><br/>Obtient les informations régionales via GetLocaleInfoW. »] class tech_location_discovery technique %% Nodes – Defense Evasion op_defense_evasion((« Évasion des défenses »)) class op_defense_evasion operator tech_impair_defenses[« <b>Technique</b> – <b>T1562 Altération des défenses</b><br/>Désactive le pare‑feu Windows à l’aide de commandes netsh. »] class tech_impair_defenses technique tool_netsh[« <b>Outil</b> – <b>Nom</b> : netsh<br/><b>Objectif</b> : Configurer et désactiver le pare‑feu Windows »] class tool_netsh tool tech_inhibit_recovery[« <b>Technique</b> – <b>T1490 Empêcher la récupération du système</b><br/>Supprime les clichés instantanés (Volume Shadow Copies) via vssadmin, wmic et PowerShell. »] class tech_inhibit_recovery technique tool_vssadmin[« <b>Outil</b> – <b>Nom</b> : vssadmin<br/><b>Objectif</b> : Supprimer les copies shadow »] class tool_vssadmin tool tool_wmic[« <b>Outil</b> – <b>Nom</b> : wmic<br/><b>Objectif</b> : Supprimer les copies shadow via WMI »] class tool_wmic tool tool_powershell[« <b>Outil</b> – <b>Nom</b> : PowerShell<br/><b>Objectif</b> : Supprimer les copies shadow via Get‑WMIObject »] class tool_powershell tool tech_clear_eventlogs[« <b>Technique</b> – <b>T1070.001 Effacement des journaux d’événements Windows</b><br/>Efface les journaux via les API OpenEventLogW et ClearEventLogW. »] class tech_clear_eventlogs technique tool_eventlog[« <b>Outil</b> – <b>Nom</b> : API Windows<br/><b>Objectif</b> : Effacer les journaux d’événements Windows »] class tool_eventlog tool %% Nodes – Impact malware_ransom[« <b>Malware</b> – <b>Nom</b> : DarkSide / REvil<br/><b>Impact</b> : Chiffre les fichiers découverts sur le disque »] class malware_ransom malware node_files[« <b>Cible</b> : Fichiers sur le disque »] class node_files process %% Connections – Execution Flow tech_initial_exec u002du002du003e|mène à| tech_anti_analysis tech_anti_analysis u002du002du003e|mène à| tech_registry_query tech_registry_query u002du002du003e|permet| tech_persistence tech_persistence u002du002du003e|utilise| tool_schtasks %% Connections – Discovery Flow tech_initial_exec u002du002du003e|déclenche| op_discovery op_discovery u002du002du003e|utilise| tech_sys_info op_discovery u002du002du003e|utilise| tech_user_discovery op_discovery u002du002du003e|utilise| tech_process_discovery op_discovery u002du002du003e|utilise| tech_service_discovery op_discovery u002du002du003e|utilise| tech_file_dir_discovery op_discovery u002du002du003e|utilise| tech_software_discovery op_discovery u002du002du003e|utilise| tech_location_discovery %% Connections – Defense Evasion Flow tech_initial_exec u002du002du003e|prépare| op_defense_evasion op_defense_evasion u002du002du003e|utilise| tech_impair_defenses tech_impair_defenses u002du002du003e|utilise| tool_netsh op_defense_evasion u002du002du003e|utilise| tech_inhibit_recovery tech_inhibit_recovery u002du002du003e|utilise| tool_vssadmin tech_inhibit_recovery u002du002du003e|utilise| tool_wmic tech_inhibit_recovery u002du002du003e|utilise| tool_powershell op_defense_evasion u002du002du003e|utilise| tech_clear_eventlogs tech_clear_eventlogs u002du002du003e|utilise| tool_eventlog %% Connections – Impact Flow op_discovery u002du002du003e|fournit des données à| malware_ransom op_defense_evasion u002du002du003e|prépare l’environnement pour| malware_ransom malware_ransom u002du002du003e|chiffre| node_files nclass tech_initial_exec,tech_anti_analysis,tech_registry_query,tech_persistence technique nclass tool_schtasks,tool_netsh,tool_vssadmin,tool_wmic,tool_powershell,tool_eventlog tool nclass tech_sys_info,tech_user_discovery,tech_process_discovery,tech_service_discovery,tech_file_dir_discovery,tech_software_discovery,tech_location_discovery,tech_impair_defenses,tech_inhibit_recovery,tech_clear_eventlogs technique nclass malware_ransom malware nclass node_files process nclass op_discovery,op_defense_evasion operator

Flux d’attaque

Simulations

Exécution de la simulation

Prérequis : Le contrôle pré-vol télémétrique et de base doit avoir réussi.

Raisonnement : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le narratif doivent refléter directement les TTPs identifiés et viser à générer la télémétrie exacte attendue par la logique de détection.

  • Narration de l’attaque & Commandes :
    L’opérateur REvil cible la machine de la victime pour garantir que la charge utile du ransomware se lance automatiquement après un redémarrage. En utilisant un chargeur PowerShell, l’attaquant crée trois modifications de registre que la règle surveille :

    1. Créer une clé trompeuse “BlackLivesMatter” sous la branche Wow6432Node – un indicateur connu de REvil.
    2. Activer AutoAdminLogon pour forcer la connexion automatique d’un compte privilégié après redémarrage, facilitant l’exécution du ransomware.
    3. Ajouter une charge utile à la clé RunOnce pour que l’exécutable malveillant fonctionne une fois au démarrage du système.

    Les trois actions sont effectuées avec des droits élevés, générant des entrées Security Event ID 13 qui correspondent au filtre de sélection de la règle Sigma.

  • Script de test de régression :

    # -------------------------------------------------
    # Simulation de manipulation du registre REvil (TC-20251114-3Z7XQ)
    # -------------------------------------------------
    # 1. Clé BlackLivesMatter (HKLMSOFTWAREWOW6432NodeBlackLivesMatter)
    $blmKey = 'HKLM:SOFTWAREWOW6432NodeBlackLivesMatter'
    New-Item -Path $blmKey -Force | Out-Null
    New-ItemProperty -Path $blmKey -Name 'Command' -Value 'C:Temprevil_payload.exe' -PropertyType String -Force
    
    # 2. Activation AutoAdminLogon
    $autoAdminKey = 'HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon'
    Set-ItemProperty -Path $autoAdminKey -Name 'AutoAdminLogon' -Value '1' -Force
    
    # 3. Persistance RunOnce pour la charge utile
    $runOnceKey = 'HKLM:SOFTWAREMicrosoftWindowsCurrentVersionRunOnce'
    New-Item -Path $runOnceKey -Force | Out-Null
    New-ItemProperty -Path $runOnceKey -Name 'RevilStart' -Value 'C:Temprevil_payload.exe /quiet' -PropertyType String -Force
    
    Write-Host "Simulation de registre REvil terminée. Vérifiez les alertes dans le SIEM."
  • Commandes de nettoyage :

    # -------------------------------------------------
    # Nettoyage des artefacts de simulation du registre REvil
    # -------------------------------------------------
    # Supprimer la clé BlackLivesMatter
    Remove-Item -Path 'HKLM:SOFTWAREWOW6432NodeBlackLivesMatter' -Recurse -Force -ErrorAction SilentlyContinue
    
    # Réinitialiser AutoAdminLogon (réglé sur 0 ou supprimer)
    Set-ItemProperty -Path 'HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon' `
        -Name 'AutoAdminLogon' -Value '0' -Force
    
    # Supprimer l'entrée RunOnce
    Remove-ItemProperty -Path 'HKLM:SOFTWAREMicrosoftWindowsCurrentVersionRunOnce' `
        -Name 'RevilStart' -Force -ErrorAction SilentlyContinue
    
    Write-Host "Nettoyage terminé."