SOC Prime Bias: Élevé

14 Jan 2026 19:49

Dans les Coulisses de SafePay : Analyse du Nouveau Groupe de Ransomware Centralisé

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Suivre
Dans les Coulisses de SafePay : Analyse du Nouveau Groupe de Ransomware Centralisé
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

SafePay est une opération de ransomware récemment apparue qui semble fonctionner comme un groupe centralisé et strictement contrôlé plutôt qu’un écosystème typique de Ransomware-as-a-Service. Les acteurs suivent un manuel de double extorsion, stockant les données sensibles avant le chiffrement et menaçant de les publier via un site de fuite basé sur Tor. La livraison implique généralement une DLL Windows native, avec exécution et propagation soutenues par des utilitaires de type living-off-the-land largement disponibles. Dans les cas observés, le calendrier de bout en bout est agressif, compressant souvent l’accès initial via le chiffrement de l’environnement dans une fenêtre de 24 heures environ.

Enquête

Les chercheurs rapportent que SafePay obtient souvent l’entrée grâce à des comptes VPN ou RDP exposés en utilisant des identifiants volés ou devinés, et dans certains scénarios, abuse des déploiements FortiGate mal configurés—en particulier dans des environnements dépourvus d’authentification MFA. Pour la persistance, les opérateurs ont été observés déployant des portes dérobées telles que QDoor et utilisant des outils d’administration à distance légitimes, y compris ScreenConnect, pour se fondre dans l’activité IT normale. Le déplacement latéral est typiquement conduit via PsExec et WinRM, tandis que la découverte des hôtes et des partages est supportée par une utilitaire PowerShell sur mesure (ShareFinder.ps1). Avant le chiffrement, la charge utile effectue des actions « pré-rançon » conçues pour maximiser l’impact et entraver la récupération : elle supprime les copies de sauvegarde, modifie les paramètres de configuration du démarrage, et termine un ensemble codé en dur de processus et services liés à la sécurité.

Atténuation

Exigez l’authentification MFA sur toutes les voies d’accès à distance et réduisez les risques de pare-feu en restreignant l’authentification des comptes locaux et en resserrant l’exposition administrative. Surveillez l’utilisation anormale de PsExec, WinRM, regsvr32 et rundll32—surtout dans des séquences cohérentes avec l’exécution à distance et la mise en scène. Ajustez les détections des points finaux pour faire apparaître la terminaison des outils de sécurité courants, la suppression des copies de sauvegarde, et les modifications des paramètres BCD/démarrage. Réduisez les opportunités d’exécution en bloquant ou contrôlant de manière stricte le chargement de DLL non signées et en appliquant des politiques de contrôle d’application sur les points finaux et les serveurs.

Réponse

Lorsque des indicateurs de SafePay sont identifiés, isolez immédiatement les systèmes affectés, capturez la mémoire volatile, et préservez les journaux d’authentification, de point de terminaison, et de réseau pertinents. Identifiez et bloquez l’infrastructure de commande et de contrôle associée, puis terminez les processus malveillants et supprimez les mécanismes de persistance. Tentez des actions de récupération comme restaurer les copies de sauvegarde quand possible, mais supposez que le vol de données a pu se produire et validez l’étendue de l’exfiltration. Effectuez un examen médico-légal complet pour déterminer les données impactées et exécutez les notifications aux parties prenantes et les étapes d’escalade alignées sur les procédures de réponse à la double extorsion.

« graph TB %% Définition des classes classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef operator fill:#ff9900 %% Accès initial tech_valid_accounts[« <b>Technique</b> – T1078 Comptes valides<br/>Les adversaires utilisent des identifiants volés ou forcés pour se connecter au VPN ou au RDP »] class tech_valid_accounts technique tech_brute_force[« <b>Technique</b> – T1110 Force brute<br/>Deviner les mots de passe pour obtenir des identifiants valides »] class tech_brute_force technique tool_vpn[« <b>Outil</b> – Passerelle VPN »] class tool_vpn tool tool_rdp[« <b>Outil</b> – Service RDP »] class tool_rdp tool op_and_access((« ET »)) class op_and_access operator %% Exécution tech_regsvr32[« <b>Technique</b> – T1218.010 Regsvr32<br/>Charge des DLL malveillantes via l’enregistrement »] class tech_regsvr32 technique tech_rundll32[« <b>Technique</b> – T1218.011 Rundll32<br/>Exécute du code depuis une DLL »] class tech_rundll32 technique tech_powershell[« <b>Technique</b> – T1059.001 PowerShell<br/>Exécute des commandes PowerShell post-déploiement »] class tech_powershell technique tech_cmd[« <b>Technique</b> – T1059.003 Shell de commande<br/>Exécute des instructions en ligne de commande Windows »] class tech_cmd technique op_and_execution((« ET »)) class op_and_execution operator %% Persistance tech_boot_autostart[« <b>Technique</b> – T1547.010 Exécution au démarrage ou à la connexion<br/>DLL enregistrée avec Regsvr32 pour la persistance »] class tech_boot_autostart technique tech_appinit[« <b>Technique</b> – T1546.010 DLL AppInit<br/>Charge une DLL malveillante au démarrage du système »] class tech_appinit technique op_and_persistence((« ET »)) class op_and_persistence operator %% Découverte tech_share_discovery[« <b>Technique</b> – T1135 Découverte de partages réseau<br/>ShareFinder.ps1 énumère les partages SMB »] class tech_share_discovery technique %% Mouvement latéral tech_psexec[« <b>Technique</b> – T1021.002 PsExec<br/>Exécute des commandes sur les partages admin SMB »] class tech_psexec technique tech_rdp_lm[« <b>Technique</b> – T1021.001 Services à distance RDP<br/>Utilise RDP pour le mouvement latéral »] class tech_rdp_lm technique tech_deploy_tools[« <b>Technique</b> – T1072 Outils de déploiement de logiciels<br/>Utilise les utilitaires de déploiement pour exécuter des commandes sur les hôtes distants »] class tech_deploy_tools technique op_and_lateral((« ET »)) class op_and_lateral operator %% Évasion de la défense tech_service_stop[« <b>Technique</b> – T1489 Arrêt du service<br/>Arrête les services antivirus ou de sauvegarde »] class tech_service_stop technique tech_inhibit_recovery[« <b>Technique</b> – T1490 Inhibition de la récupération système<br/>Supprime les snapshots VSS et modifie la configuration de démarrage »] class tech_inhibit_recovery technique tech_cmstp[« <b>Technique</b> – T1548.002 Contournement de l’UAC via CMSTP<br/>Utilise CMSTP pour exécuter du code avec des droits élevés »] class tech_cmstp technique op_and_evasion((« ET »)) class op_and_evasion operator %% Collecte & Exfiltration tech_winrar[« <b>Technique</b> – T1560.001 Archivage via WinRAR<br/>Crée des archives .rar chiffrées des données collectées »] class tech_winrar technique tech_lateral_transfer[« <b>Technique</b> – T1570 Transfert d’outils latéral<br/>Déplace les fichiers d’archives entre les hôtes compromis »] class tech_lateral_transfer technique tech_ingress_transfer[« <b>Technique</b> – T1105 Transfert d’outils d’ingress<br/>Télécharge des archives vers un serveur externe »] class tech_ingress_transfer technique op_and_collection((« ET »)) class op_and_collection operator %% Impact tech_encrypt_impact[« <b>Technique</b> – T1486 Données chiffrées pour impact<br/>Chiffre les fichiers avec AES/ChaCha20 et stocke les clés avec RSA/x25519 »] class tech_encrypt_impact technique %% Commandement et contrôle tech_encrypted_c2[« <b>Technique</b> – T1573.001 Canal chiffré Cryptographie symétrique<br/>Protège le trafic C2 avec le chiffrement »] class tech_encrypted_c2 technique %% Connexions de flux %% Flux d’accès initial tech_brute_force u002du002d>|conduit à| tech_valid_accounts tech_valid_accounts u002du002d>|utilise| tool_vpn tech_valid_accounts u002du002d>|utilise| tool_rdp tech_valid_accounts u002du002d>|permet| op_and_access op_and_access u002du002d>|conduit à| tech_regsvr32 op_and_access u002du002d>|conduit à| tech_rundll32 op_and_access u002du002d>|conduit à| tech_powershell op_and_access u002du002d>|conduit à| tech_cmd op_and_access u002du002d>|permet| op_and_execution op_and_execution u002du002d>|permet| tech_boot_autostart op_and_execution u002du002d>|permet| tech_appinit op_and_execution u002du002d>|permet| op_and_persistence op_and_persistence u002du002d>|conduit à| tech_share_discovery tech_share_discovery u002du002d>|permet| op_and_lateral op_and_lateral u002du002d>|utilise| tech_psexec op_and_lateral u002du002d>|utilise| tech_rdp_lm op_and_lateral u002du002d>|utilise| tech_deploy_tools op_and_lateral u002du002d>|permet| op_and_evasion op_and_evasion u002du002d>|utilise| tech_service_stop op_and_evasion u002du002d>|utilise| tech_inhibit_recovery op_and_evasion u002du002d>|utilise| tech_cmstp op_and_evasion u002du002d>|permet| op_and_collection op_and_collection u002du002d>|utilise| tech_winrar op_and_collection u002du002d>|utilise| tech_lateral_transfer op_and_collection u002du002d>|utilise| tech_ingress_transfer op_and_collection u002du002d>|conduit à| tech_encrypt_impact tech_encrypt_impact u002du002d>|soutient| tech_encrypted_c2 « 

Flux d’Attaque

Exécution de Simulation

Prérequis : La Vérification Préliminaire de la Télémétrie et de la Base de Référence doit avoir réussi.

Rationale : Cette section détaille l’exécution précise de la technique 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 visent à générer précisément la télémétrie attendue par la logique de détection.

  • Narrative de l’Attaque & Commandes :
    Un adversaire disposant de droits d’administration de domaine compromet une machine pivot et utilise PsExec pour lancer un cmd.exe à distance sur un hôte secondaire (TARGET_IP). Immédiatement après avoir établi le shell distant, l’attaquant transfère une DLL malveillante (malicious.dll) à l’hôte distant et le charge en utilisant regsvr32.exe (alternativement rundll32.exe) pour exécuter la charge utile du ransomware. La séquence produit deux événements de création de processus distincts qui satisfont à la règle Sigma : un processus PsExec avec la ligne de commande exacte et un processus de chargeur de DLL subséquent.

  • Script de Test de Régression :

    # -------------------------------------------------------------------------
    # Simulation Ransomware SafePay – PsExec + Regsvr32
    # -------------------------------------------------------------------------
    # Prérequis:
    #   - PsExec.exe dans le répertoire actuel ou dans le PATH
    #   - Une DLL malveillante nommée malicious.dll placée dans le même dossier
    #   - Identifiants d'administrateur de domaine valides (remplacez les espaces réservés)
    # -------------------------------------------------------------------------
    
    $targetIP   = "10.0.0.20"            # <--- MODIFIER POUR VOTRE CIBLE
    $username   = "DomainAdmin"        # <--- MODIFIER POUR UN UTILISATEUR VALIDE
    $password   = "Password123!"        # <--- MODIFIER POUR UN MOT DE PASSE VALIDE
    $dllPath    = "$PSScriptRootmalicious.dll"
    
    # 1) Exécuter cmd.exe à distance via PsExec
    Write-Host "[*] Lancement de cmd.exe à distance via PsExec..."
    $psexecArgs = "$targetIP -u $username -p $password cmd.exe"
    & .PsExec.exe $psexecArgs
    
    Start-Sleep -Seconds 5  # laisser la session distante démarrer
    
    # 2) Copier la DLL malveillante sur l'hôte distant (en utilisant SMB)
    Write-Host "[*] Copie de la DLL malveillante vers l'hôte distant..."
    $destPath = "$targetIPC$Tempmalicious.dll"
    Copy-Item -Path $dllPath -Destination $destPath -Force
    
    # 3) Charger la DLL via regsvr32 (cela génère le deuxième événement)
    Write-Host "[*] Chargement de la DLL malveillante avec regsvr32..."
    $regsvrArgs = "/s $destPath"
    & regsvr32.exe $regsvrArgs
    
    Write-Host "[+] Simulation complète. Vérifiez les alertes SIEM."
  • Commandes de Nettoyage :

    # -------------------------------------------------------------------------
    # Nettoyage pour la Simulation SafePay
    # -------------------------------------------------------------------------
    $targetIP = "10.0.0.20"
    $dllRemote = "$targetIPC$Tempmalicious.dll"
    
    # Supprimer la DLL malveillante de l'hôte distant
    Write-Host "[*] Suppression de la DLL malveillante de l'hôte distant..."
    Remove-Item -Path $dllRemote -Force -ErrorAction SilentlyContinue
    
    # Terminer éventuellement les processus regsvr32/rundll32 qui persistent
    Get-Process -Name regsvr32, rundll32 -ErrorAction SilentlyContinue |
        Where-Object {$_.Path -like "*$targetIP*"} |
        Stop-Process -Force
    
    Write-Host "[+] Nettoyage complet."