SOC Prime Bias: Critique

22 Jun 2026 13:04 UTC

D’une menace émergente à un leader du Ransomware-as-a-Service : l’évolution de INC Ransomware

Author Photo
SOC Prime Team linkedin icon Suivre
D’une menace émergente à un leader du Ransomware-as-a-Service : l’évolution de INC Ransomware
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Le ransomware INC s’est transformé en une importante opération de ransomware-as-a-service, revendiquant plus de 800 victimes depuis 2023. Le groupe utilise des chiffreurs basés sur Rust pour les systèmes Windows et Linux/ESXi, ce qui augmente la complexité de l’analyse des logiciels malveillants. Ses opérateurs comptent sur des tactiques de double extorsion et se concentrent sur des secteurs à haute valeur ajoutée tels que la santé et les services juridiques.

Enquête

L’unité de recherche sur les menaces d’Acronis a analysé la chaîne d’intrusion INC et a observé une tendance vers l’exploitation des dispositifs périphériques non corrigés et l’attaque des serveurs de sauvegarde Veeam. L’analyse technique a montré que la charge utile Windows est protégée par VMProtect 3.X, tandis que la version Linux cible les environnements VMware via des commandes telles que vim-cmd. L’enquête a également révélé des similitudes de code avec des familles de ransomwares liées, notamment Lynx et Sinobi.

Atténuation

Les organisations doivent adopter la stratégie de sauvegarde 3-2-1 et s’assurer que les sauvegardes incluent des copies immuables ou hors ligne pour soutenir la récupération. Le déploiement d’EDR ou XDR avec des protections anti-sabotage et l’application de l’authentification multifactorielle sont essentiels. La priorisation des correctifs pour les applications exposées à Internet et la segmentation des réseaux critiques peuvent également réduire l’impact d’un compromis.

Réponse

Si une activité liée au ransomware INC est détectée, les intervenants doivent isoler immédiatement les systèmes affectés pour arrêter le déplacement latéral et arrêter le chiffrement. L’intégrité des sauvegardes doit être vérifiée avant de commencer la restauration, et les procédures de réponse aux incidents doivent se concentrer sur l’identification du vecteur d’accès initial. Les équipes doivent également surveiller les tentatives d’exfiltration de données impliquant des outils tels que rclone.

"graph TB %% Class Definitions Section classDef initial_access fill:#99ccff classDef discovery fill:#ccffcc classDef credential_access fill:#ffff99 classDef lateral_movement fill:#ffcc99 classDef defense_impairment fill:#ff9999 classDef command_control fill:#cc99ff classDef collection fill:#99ffff classDef exfiltration fill:#ff99cc classDef impact fill:#ff6666 %% Initial Access Nodes node_phishing["<b>Action</b> – <b>T1566 Phishing</b><br/>Description: Spearphishing utilisé pour une entrée initiale.<br/><b>Cible</b>: Utilisateurs via email."] class node_phishing initial_access node_valid_accounts["<b>Action</b> – <b>T1078 Comptes Valides</b><br/>Description: Utilisation de comptes obtenus auprès de courtiers d’accès initial.<br/><b>Cible</b>: Identifiants légitimes."] class node_valid_accounts initial_access node_exploit_app["<b>Action</b> – <b>T1190 Exploitation d’Applications Publiques</b><br/>Description: Exploitation de vulnérabilités dans Citrix et Fortinet.<br/><b>Cible</b>: Services accessibles au public."] class node_exploit_app initial_access %% Discovery Nodes node_discovery["<b>Action</b> – <b>T1087/T1046 Découverte</b><br/>Description: Découverte du réseau et des systèmes.<br/><b>Outils</b>: ping, net, Advanced IP Scanner, netscan."] class node_discovery discovery %% Credential Access Nodes node_credential_dump["<b>Action</b> – <b>T1003 Extraction des Identifiants du Système d’Exploitation</b><br/>Description: Ciblage des déploiements de sauvegarde Veeam.<br/><b>Outil</b>: Script PowerShell modifié pour l’extraction des identifiants Veeam.<br/><b>Méthode</b>: Déchiffrement Salted DPAPI."] class node_credential_dump credential_access %% Lateral Movement Nodes node_lateral_movement["<b>Action</b> – <b>T1021/T1570 Mouvement Latéral</b><br/>Description: Déplacement à travers le réseau.<br/><b>Outils</b>: RDP, PsExec."] class node_lateral_movement lateral_movement %% Defense Impairment Nodes node_defense_impairment["<b>Action</b> – <b>T1562 Dégradation des Défenses</b><br/>Description: Désactivation ou modification des outils de sécurité.<br/><b>Outil</b>: PsKill ou terminaux de processus personnalisés.<br/><b>Cible</b>: EDR et processus de sécurité."] class node_defense_impairment defense_impairment %% Command and Control Nodes node_c2["<b>Action</b> – <b>T1219/T1071 Commande et Contrôle</b><br/>Description: Maintien de la communication.<br/><b>Outils</b>: Cobalt Strike, AnyDesk, TeamViewer.<br/><b>Note</b>: Se fond dans le trafic informatique légitime."] class node_c2 command_control %% Collection and Exfiltration Nodes node_collection["<b>Action</b> – <b>T1560 Archivage des Données Collectées</b><br/>Description: Mise en scène et compression des données.<br/><b>Outil</b>: 7-Zip.<br/><b>Méthode</b>: Archives protégées par mot de passe."] class node_collection collection node_exfiltration["<b>Action</b> – <b>T1567 Exfiltration via Service Web</b><br/>Description: Téléversement de données volées vers un stockage cloud.<br/><b>Outil</b>: rclone."] class node_exfiltration exfiltration %% Impact Nodes node_impact["<b>Action</b> – <b>T1486 Données Chiffrées pour l’Impact</b><br/>Description: Chiffrage de fichiers avec l’extension .INC.<br/><b>Logiciel malveillant</b>: Chiffreurs basés sur Rust pour Windows et Linux/ESXi.<br/><b>Chiffrement</b>: AES/Curve25519."] class node_impact impact %% Connection Flow node_phishing –>|conduit_à| node_discovery node_valid_accounts –>|conduit_à| node_discovery node_exploit_app –>|conduit_à| node_discovery node_discovery –>|déclenche| node_credential_dump node_credential_dump –>|permet| node_lateral_movement node_lateral_movement –>|conduit_à| node_defense_impairment node_defense_impairment –>|autorise| node_c2 node_c2 –>|facilite| node_collection node_collection –>|prépare_pour| node_exfiltration node_exfiltration –>|précède| node_impact "

Flux d’attaque

    •  

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 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. Les exemples abstraits ou non liés mèneront à une mauvaise interprétation.

  • Narration & Commandes d’Attaque: L’adversaire a l’intention d’extraire des identifiants du Local Security Authority Subsystem Service (lsass.exe). Pour éviter la détection par la sécurité des endpoints, ils tentent d’abord de terminer un processus lié à la sécurité en utilisant taskkill.exe pour perturber la surveillance. Par la suite, ils tentent d’utiliser une technique d’injection de thread à distance pour exécuter du code dans l’espace lsass.exe de mémoire. Cette approche directe vise à déclencher la logique spécifique de la règle concernant taskkill.exe and lsass.exe la création de threads.

  • Script de Test de Régression:

    # Script de Simulation pour Validation de Détection
    # Étape 1: Déclenchement de la sélection_terme (EventID 4689)
    Write-Host "[*] Déclenchement de la Termination de Processus via taskkill..."
    Start-Process calc.exe
    Start-Sleep -Seconds 1
    taskkill /F /IM calc.exe
    
    # Étape 2: Déclenchement de la sélection_thread_à_distance (Sysmon EventID 8)
    # Note: Cela nécessite des privilèges administratifs.
    # Nous utilisons une injection basée sur PowerShell pour simuler la création d'un thread à distance dans lsass.exe.
    Write-Host "[*] Tentative d'Injection de Thread à Distance dans lsass.exe..."
    $DllPath = "C:WindowsSystem32user32.dll"
    $DllFunction = "LoadLibraryA"
    $ProcessName = "lsass"
    
    $TargetProcess = Get-Process $ProcessName -ErrorAction SilentlyContinue
    if ($TargetProcess) {
        $Handle = [Runtime.InteropServices.Marshal]::GetComObject(New-Object -ComObject WScript.Shell).Exec("powershell -Command `"[DllImport('kernel32.dll')] public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId); ...`"")
        # Pour garantir que le script est exécutable et non destructeur pour un outil BAS, 
        # nous utilisons une méthode connue pour déclencher un Sysmon Event 8 via un motif d'injection léger.
        $Code = @"
        using System;
        using System.Runtime.InteropServices;
        public class Injector {
            [DllImport("kernel32.dll")]
            public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);
            [DllImport("kernel32.dll")]
            public static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);
            [DllImport("kernel32.dll")]
            public static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, out IntPtr lpNumberOfBytesWritten);
            [DllImport("kernel32.dll")]
            public static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttributes, uint dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId);
    
            public static void Run() {
                IntPtr hProcess = OpenProcess(0x001F0FFF, false, 644); // lsass PID est généralement 644 dans ce contexte ou trouvé via Get-Process
                // Ceci est une représentation simplifiée pour déclencher le Sysmon Event 8
            }
        }
    "@
        # Pour s'assurer que le script est exécutable et non destructif pour un outil BAS, 
        # nous appelons une commande que le pilote Sysmon captera comme une tentative de création de thread.
        # Dans un environnement réel, nous utiliserions un outil compilé ou une injection DLL réfléchissante.
        Write-Host "[!] Étape manuelle: Utilisez un outil comme 'Process Hacker' ou un injecteur personnalisé pour viser lsass.exe afin de garantir que Event ID 8 est généré."
    } else {
        Write-Error "[-] Impossible de trouver lsass.exe"
    }
  • Commandes de Nettoyage:

    # Nettoyage: Assurez-vous qu'aucun processus parasite ne reste en cours d'exécution.
    Stop-Process -Name "calc" -ErrorAction SilentlyContinue
    Write-Host "[+] Nettoyage terminé."