Explication de l’émulation du ransomware Gentlemen
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le groupe de ransomware Gentlemen est actif depuis juillet 2025 et suit un modèle de double extorsion, combinant le chiffrement de fichiers avec le vol de données et l’extorsion via un site de fuite. Le malware est écrit en Go, supporte les environnements Windows, Linux et ESXi, et utilise un argument de mot de passe codé en dur pendant le processus de chiffrement. Les opérateurs s’appuient également sur la reconnaissance large, l’abus des objets de stratégie de groupe, et des outils légitimes tels que WinSCP pour déplacer et exfiltrer des données sous forme chiffrée.
Enquête
AttackIQ a publié une émulation qui recrée les tactiques, techniques et procédures décrites par plusieurs fournisseurs de sécurité, couvrant l’accès initial, la persistance, l’évasion de la défense, la découverte, le mouvement latéral et l’impact. L’émulation comprend des comportements tels que la création de tâches planifiées, de clés de registre Run, de services malveillants, des modifications de règles du pare-feu, et la suppression des copies de volume shadow.
Atténuation
Les défenseurs doivent surveiller l’activité PowerShell suspecte, la création inattendue de tâches planifiées, les modifications de registre liées aux sessions nulles et aux exclusions de Microsoft Defender, et les tentatives d’activation de SMBv1. La segmentation réseau et les contrôles d’accès au moindre privilège peuvent aider à limiter la capacité du groupe à se déplacer latéralement à travers les ressources partagées.
Réponse
Si une activité liée à Gentlemen est détectée, isolez immédiatement le système affecté, collectez les preuves volatiles, préservez l’échantillon de ransomware et les artefacts de registre associés, et commencez les procédures de réponse aux incidents pour récupérer les copies shadow et les journaux d’événements depuis les sauvegardes si possible. Une enquête judiciaire complète doit également être effectuée pour identifier le vol d’identifiants et tout mouvement latéral dans l’environnement.
graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef builtin fill:#dddddd %% Action nodes act_system_info[« <b>Action</b> – <b>T1082 Découverte des informations système</b><br/>Collecte de la version OS, du nom d’hôte et d’autres détails système »] class act_system_info action act_persistence[« <b>Action</b> – Persistance »] class act_persistence action act_scheduled_task[« <b>Action</b> – <b>T1053.005 Tâche planifiée</b><br/>Création d’une tâche exécutée au démarrage »] class act_scheduled_task action act_registry_run[« <b>Action</b> – <b>T1547.001 Clés Run du registre / démarrage</b><br/>Ajout d’une clé Run dans HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run »] class act_registry_run action act_windows_service[« <b>Action</b> – <b>T1543.003 Service Windows</b><br/>Création d’un nouveau service via sc.exe »] class act_windows_service action act_defense_evasion[« <b>Action</b> – Évasion des défenses »] class act_defense_evasion action act_disable_defender[« <b>Action</b> – <b>T1562.001 Désactiver ou modifier les outils</b><br/>Désactivation de la protection en temps réel de Windows Defender »] class act_disable_defender action act_add_exclusions[« <b>Action</b> – <b>T1562.001 Désactiver ou modifier les outils</b><br/>Ajout d’exclusions via Set-MpPreference »] class act_add_exclusions action act_enable_firewall[« <b>Action</b> – Activation de la découverte réseau sans restriction »] class act_enable_firewall action act_discovery[« <b>Action</b> – Phase de reconnaissance »] class act_discovery action act_ad_domain[« <b>Action</b> – <b>T1482 Découverte des relations de confiance de domaine</b><br/>Récupération des informations AD avec Get-ADDomain »] class act_ad_domain action act_ad_computers[« <b>Action</b> – <b>T1018 Découverte des systèmes distants</b><br/>Énumération des machines du domaine avec Get-ADComputer »] class act_ad_computers action act_wmi_info[« <b>Action</b> – <b>T1082 Informations système</b><br/>Collecte de données via WMI »] class act_wmi_info action act_file_enum[« <b>Action</b> – <b>T1083 Découverte fichiers et répertoires</b><br/>Énumération via FindFirstFileW/FindNextFileW »] class act_file_enum action act_volume_disc[« <b>Action</b> – <b>T1680 Découverte du stockage local</b><br/>Énumération des volumes via Win32_Volume et Get-PSDrive »] class act_volume_disc action act_network_share[« <b>Action</b> – <b>T1049 Découverte des partages réseau</b><br/>Découverte des partages via WNetOpenEnum/WNetEnumResource »] class act_network_share action act_lateral_movement[« <b>Action</b> – Mouvement latéral »] class act_lateral_movement action act_create_share[« <b>Action</b> – <b>T1021 Services distants</b><br/>Création d’un partage SMB caché avec net share »] class act_create_share action act_modify_acls[« <b>Action</b> – <b>T1222.001 Découverte des groupes de permissions</b><br/>Attribution de droits anonymes complets via icacls »] class act_modify_acls action act_null_session[« <b>Action</b> – <b>T1556.009 Manipulation de jetons d’accès</b><br/>Modification des clés NullSessionShares et paramètres anonymes »] class act_null_session action act_copy_payload[« <b>Action</b> – Copie de la charge utile ransomware sur un hôte distant »] class act_copy_payload action act_execute_wmi[« <b>Action</b> – <b>T1047 Windows Management Instrumentation</b><br/>Exécution à distance via WMI/WMIC »] class act_execute_wmi action act_impact[« <b>Action</b> – Phase d’impact »] class act_impact action act_delete_shadow[« <b>Action</b> – <b>T1490 Empêcher la restauration système</b><br/>Suppression des copies shadow avec vssadmin et wmic »] class act_delete_shadow action act_clear_logs[« <b>Action</b> – <b>T1070.001 Suppression des journaux Windows</b><br/>Effacement des logs avec wevtutil.exe »] class act_clear_logs action act_encrypt_files[« <b>Action</b> – <b>T1486 Chiffrement des données pour impact</b><br/>Chiffrement des fichiers avec XChaCha20 et protection des clés avec Curve25519 »] class act_encrypt_files action %% Connections act_system_info –>|conduit à| act_persistence act_persistence –>|crée| act_scheduled_task act_persistence –>|crée| act_registry_run act_persistence –>|crée| act_windows_service act_persistence –>|conduit à| act_defense_evasion act_defense_evasion –>|utilise| act_disable_defender act_defense_evasion –>|utilise| act_add_exclusions act_defense_evasion –>|utilise| act_enable_firewall act_defense_evasion –>|conduit à| act_discovery act_discovery –>|inclut| act_ad_domain act_discovery –>|inclut| act_ad_computers act_discovery –>|inclut| act_wmi_info act_discovery –>|inclut| act_file_enum act_discovery –>|inclut| act_volume_disc act_discovery –>|inclut| act_network_share act_discovery –>|conduit à| act_lateral_movement act_lateral_movement –>|crée| act_create_share act_lateral_movement –>|modifie| act_modify_acls act_lateral_movement –>|modifie| act_null_session act_lateral_movement –>|copie| act_copy_payload act_lateral_movement –>|exécute| act_execute_wmi act_execute_wmi –>|conduit à| act_impact act_impact –>|inclut| act_delete_shadow act_impact –>|inclut| act_clear_logs act_impact –>|inclut| act_encrypt_files
Flux d’Attaque
Détections
Points de Persistance Possibles [ASEPs – Hive Software/NTUSER] (via événement_régistre)
Voir
Ombres de Services Bureau à Distance Possibles (via événement_régistre)
Voir
Énumération Système Possible (via cmdline)
Voir
Découverte de Partage Réseau Possible (via cmdline)
Voir
Énumération de Compte Admin ou Groupe Possible (via cmdline)
Voir
Activité VSSADMIN Suspecte (via cmdline)
Voir
Créer ou Supprimer une Copie Shadow via Powershell, CMD ou WMI (via cmdline)
Voir
Modifications Suspectes des Préférences de Windows Defender (via powershell)
Voir
Vérifications de l’Évasion Possibles (via powershell)
Voir
IOCs (HashSha256) pour détecter : Émulation du Ransomware Gentlemen
Voir
Détection des Activités du Ransomware Gentlemen [Windows Powershell]
Voir
Exécution de Simulation
Prérequis : Le Contrôle de Pré‑vol de Télémétrie & Baseline doit être 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 récit DOIVENT directement refléter les TTPs identifiés et viser à générer la télémétrie exacte attendue par la logique de détection.
Narration & Commandes d’Attaque
Un adversaire qui a obtenu l’exécution à faible privilège sur un serveur Windows joint à un domaine souhaite préparer l’environnement pour le déploiement du ransomware. Ils utilisent des applets de commande PowerShell natives pour :
- Désactiver la protection en temps réel (
Set-MpPreference). - Ouvrir les ports du pare-feu (
Enable-NetFirewallRule). - Activer des fonctionnalités Windows supplémentaires (
Import-Module ServerManager+Enable-WindowsOptionalFeature). - Récolter des informations de domaine (
Get-ADDomain,Get-ADComputer). - Énumérer les détails du système (
Get-WmiObject Win32_ComputerSystem,Get-PSDrive). - Copier des charges utiles malveillantes vers un partage distant (
Copy-Item).
Chaque étape est exécutée dans un processus PowerShell séparé pour s’assurer que la ligne de commande de chaque processus contient l’une des chaînes que la règle Sigma surveille, générant ainsi la télémétrie requise.
Script de Test de Régression
# -------------------------------------------------
# Script de simulation – Déclenche la règle de détection du ransomware Gentlemen
# -------------------------------------------------
# REMARQUE : Exécutez ceci sur un hôte Windows non‑production, isolé.
# 1. Désactiver la Surveillance en Temps Réel de Windows Defender
powershell.exe -Command "Set-MpPreference -DisableRealtimeMonitoring $true"
# 2. Activer une règle de pare-feu (par ex., autoriser SMB entrant)
powershell.exe -Command "Enable-NetFirewallRule -DisplayGroup 'File and Printer Sharing'"
# 3. Installer le module Server Manager et activer une fonctionnalité Windows
powershell.exe -Command "Import-Module ServerManager; Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient -NoRestart"
# 4. Énumérer les informations de domaine Active Directory
powershell.exe -Command "Get-ADDomain | Out-Null"
# 5. Lister les ordinateurs Active Directory (découverte)
powershell.exe -Command "Get-ADComputer -Filter * | Select-Object Name | Out-Null"
# 6. Interroger WMI pour obtenir les détails du système
powershell.exe -Command "Get-WmiObject Win32_ComputerSystem | Out-Null"
# 7. Afficher les lecteurs PS actuels
powershell.exe -Command "Get-PSDrive | Out-Null"
# 8. Copier un fichier factice vers un partage distant pour simuler le mouvement latéral
# (Remplacez REMOTE-SERVERShare par un partage SMB accessible dans votre labo)
$dummy = "$env:TEMPdummy.txt"
"test" | Out-File -FilePath $dummy -Encoding ASCII
powershell.exe -Command "Copy-Item -Path '$dummy' -Destination '\REMOTE-SERVERSharedummy.txt'"
# Nettoyage du fichier factice localement
Remove-Item $dummy -Force
Commandes de Nettoyage
# -------------------------------------------------
# Script de nettoyage – Restitue l'hôte à son état antérieur au test
# -------------------------------------------------
# Réactiver la protection en temps réel de Windows Defender
Set-MpPreference -DisableRealtimeMonitoring $false
# Désactiver la règle de pare-feu ajoutée ci-dessus (si toujours présente)
Disable-NetFirewallRule -DisplayGroup 'File and Printer Sharing'
# Retirer le fichier factice du partage distant (nécessite une permission d'écriture)
Remove-Item -Path 'REMOTE-SERVERSharedummy.txt' -Force -ErrorAction SilentlyContinue