SOC Prime Bias: Élevé

29 Déc 2025 11:37

HardBit 4.0 : Analyse du ransomware et conclusions clés

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Suivre
HardBit 4.0 : Analyse du ransomware et conclusions clés
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

HardBit 4.0 est une variante de ransomware qui utilise l’infecteur de fichiers Neshta comme son installeur et est livré dans des versions à la fois CLI et GUI. Contrairement à de nombreuses équipes modernes, il n’est pas lié à un portail de fuite à double extorsion et peut inclure une capacité de « Wiper » optionnelle conçue pour endommager irréversiblement les données. L’exécution est conditionnée par un ID d’autorisation d’exécution et une clé de chiffrement, ajoutant effectivement un contrôle de type phrase secrète avant que le chiffrement ne commence.

Investigation

L’évaluation suggère que l’accès initial se produit généralement par une activité RDP par force brute en utilisant l’outil NLBrute, suivi d’une collecte de références via Mimikatz. Le mouvement latéral est ensuite effectué sur RDP avec les identifiants volés, soutenu par des utilitaires de découverte et de scan tels que KPortScan 3.0 et Advanced Port Scanner. Neshta est utilisé pour déposer le ransomware dans le répertoire %TEMP% et persister en modifiant le registre pour que le malware soit invoqué chaque fois qu’un .exe est lancé.

Atténuation

Exigez des mots de passe forts et uniques pour les comptes dotés de RDP et réduisez l’exposition externe au RDP autant que possible. Surveillez les modifications de registre associées à la manipulation de Windows Defender et le svchost.com mécanisme de persistance. Implémentez une liste blanche d’application et des contrôles comportementaux pour détecter ou bloquer l’utilisation non autorisée de Mimikatz et des outils de scan réseau.

Réponse

Si une activité suspecte est trouvée, isolez l’hôte, capturez les preuves volatiles et arrêtez le processus du ransomware. Récupérez les données affectées à partir de sauvegardes fiables seulement après avoir confirmé que l’acteur malveillant a été entièrement supprimé. Complétez la validation légale en examinant les modifications du registre, les tâches planifiées, et tout artefact de vidage d’identifiants.

« graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef operator fill:#ff9900 %% Technique nodes tech_bruteforce[« <b>Technique</b> – <b>T1110 Force Brute</b><br/>Essaye de deviner les mots de passe en essayant plusieurs identifiants. »] class tech_bruteforce action tech_exploit_remote[« <b>Technique</b> – <b>T1210 Exploitation des services à distance</b><br/>Utilise des identifiants valides pour accéder aux systèmes via RDP ou SMB. »] class tech_exploit_remote action tech_cred_dump[« <b>Technique</b> – <b>T1003 Dumping des identifiants OS</b><br/>Extrait les identifiants de la mémoire ou du registre. »] class tech_cred_dump action tech_discovery[« <b>Technique</b> – <b>T1018 Découverte de système distant</b><br/>Enumère les hôtes, les partages et les ports ouverts. »] class tech_discovery action tech_rdp_lateral[« <b>Technique</b> – <b>T1021.001 Services à distance : RDP</b><br/>Établit des sessions RDP pour un mouvement latéral. »] class tech_rdp_lateral action tech_powershell[« <b>Technique</b> – <b>T1059.001 PowerShell</b><br/>Exécute des commandes PowerShell pour modifier les paramètres de Defender. »] class tech_powershell action tech_obfuscation[« <b>Technique</b> – <b>T1027 Fichiers ou informations obfusqués</b><br/>Le binaire de ransomware est .NET-obfusqué avec ConfuserEx. »] class tech_obfuscation action tech_proxy_exec[« <b>Technique</b> – <b>T1218 Exécution par proxy binaire du système</b><br/>Utilise ShellExecuteA pour lancer la charge utile depuis le dropper. »] class tech_proxy_exec action tech_persistence[« <b>Technique</b> – <b>T1547.014 Exécution au démarrage ou à la connexion : Installation active</b><br/>Modifie le registre HKLM pour la persistance. »] class tech_persistence action tech_event_trigger[« <b>Technique</b> – <b>T1546.002 Exécution déclenchée par événement : Économiseur d’écran</b><br/>Exécute le dropper lorsque l’économiseur d’écran s’active. »] class tech_event_trigger action tech_encryption[« <b>Technique</b> – <b>T1486 Données chiffrées pour impact</b><br/>Chiffre les fichiers et affiche une note de rançon. »] class tech_encryption action tech_inhibit_recovery[« <b>Technique</b> – <b>T1490 Inhibition de la récupération du système</b><br/>Supprime les copies d’ombre et désactive les services de sauvegarde. »] class tech_inhibit_recovery action tech_service_stop[« <b>Technique</b> – <b>T1489 Arrêt du service</b><br/>Arrête les services de sécurité et de sauvegarde. »] class tech_service_stop action tech_disk_wipe[« <b>Technique</b> – <b>T1561 Effacement de disque</b><br/>Arrête les services et peut activer le mode d’effacement pour détruire les données. »] class tech_disk_wipe action %% Tool nodes tool_nlbrute[« <b>Outil</b> – <b>Nom</b> : NLBrute<br/><b>Description</b> : Force brute des services RDP et SMB. »] class tool_nlbrute tool tool_mimikatz[« <b>Outil</b> – <b>Nom</b> : Mimikatz<br/><b>Description</b> : Extrait les identifiants de la mémoire et de SAM. »] class tool_mimikatz tool tool_kportscan[« <b>Outil</b> – <b>Nom</b> : KPortScan<br/><b>Description</b> : Analyse les ports des hôtes distants. »] class tool_kportscan tool tool_adv_port_scanner[« <b>Outil</b> – <b>Nom</b> : Advanced Port Scanner<br/><b>Description</b> : Enumère les ports ouverts et les services. »] class tool_adv_port_scanner tool tool_new_exe[« <b>Outil</b> – <b>Nom</b> : 5u2011NS new.exe<br/><b>Description</b> : Scanner personnalisé pour l’énumération des hôtes. »] class tool_new_exe tool tool_powershell_cmd[« <b>Outil</b> – <b>Nom</b> : PowerShell Setu2011MpPreference<br/><b>Description</b> : Désactive les fonctionnalités de Windows Defender. »] class tool_powershell_cmd tool tool_confuserex[« <b>Outil</b> – <b>Nom</b> : ConfuserEx<br/><b>Description</b> : Obfuscateur .NET utilisé sur le binaire du ransomware. »] class tool_confuserex tool tool_shellexecute[« <b>Outil</b> – <b>Nom</b> : ShellExecuteA API<br/><b>Description</b> : Exécute des fichiers via les binaires système. »] class tool_shellexecute tool tool_vssadmin[« <b>Outil</b> – <b>Nom</b> : vssadmin<br/><b>Description</b> : Supprime les copies d’ombre de volume. »] class tool_vssadmin tool tool_wbadmin[« <b>Outil</b> – <b>Nom</b> : wbadmin<br/><b>Description</b> : Désactive les services de sauvegarde. »] class tool_wbadmin tool tool_bcdedit[« <b>Outil</b> – <b>Nom</b> : bcdedit<br/><b>Description</b> : Modifie les données de configuration de démarrage. »] class tool_bcdedit tool %% Connections between techniques tech_bruteforce u002du002d>|mène à| tech_exploit_remote tech_exploit_remote u002du002d>|mène à| tech_cred_dump tech_cred_dump u002du002d>|mène à| tech_discovery tech_discovery u002du002d>|mène à| tech_rdp_lateral tech_rdp_lateral u002du002d>|mène à| tech_powershell tech_powershell u002du002d>|mène à| tech_obfuscation tech_obfuscation u002du002d>|mène à| tech_proxy_exec tech_proxy_exec u002du002d>|mène à| tech_persistence tech_persistence u002du002d>|mène à| tech_event_trigger tech_event_trigger u002du002d>|mène à| tech_encryption tech_encryption u002du002d>|mène à| tech_inhibit_recovery tech_inhibit_recovery u002du002d>|mène à| tech_service_stop tech_service_stop u002du002d>|mène à| tech_disk_wipe %% Technique to tool usage tech_bruteforce u002du002d>|utilise| tool_nlbrute tech_cred_dump u002du002d>|utilise| tool_mimikatz tech_discovery u002du002d>|utilise| tool_kportscan tech_discovery u002du002d>|utilise| tool_adv_port_scanner tech_discovery u002du002d>|utilise| tool_new_exe tech_powershell u002du002d>|utilise| tool_powershell_cmd tech_obfuscation u002du002d>|utilise| tool_confuserex tech_proxy_exec u002du002d>|utilise| tool_shellexecute tech_inhibit_recovery u002du002d>|utilise| tool_vssadmin tech_inhibit_recovery u002du002d>|utilise| tool_wbadmin tech_inhibit_recovery u002du002d>|utilise| tool_bcdedit « 

Flux d’Attaque

Exécution de Simulation

Prérequis : La Vérification Pré-flight de la Télémétrie & Baseline doit avoir été validée.

Raison : 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 la télémétrie exacte attendue par la logique de détection.

  • Narratif d’Attaque & Commandes :
    L’adversaire a obtenu des privilèges administrateur locaux sur un poste de travail compromis. Pour collecter des identifiants, ils déposent un fichier batch personnalisé nommé !start.bat dans le même répertoire que mimikatz.exe. Le fichier batch lance simplement mimikatz avec les commandes privilege::debug and sekurlsa::logonpasswords . En invoquant le fichier batch depuis une invite PowerShell, la ligne de commande enregistrée par l’Événement 4688 contiendra la chaîne littérale !start.bat, répondant ainsi à la condition de détection.

  • Script de Test de Régression :

    # ---------------------------------------------------------
    # Configuration : créer un répertoire temporaire et placer mimikatz
    # ---------------------------------------------------------
    $tempDir = "$env:TEMPmimikatz_test"
    New-Item -ItemType Directory -Force -Path $tempDir | Out-Null
    
    # Supposons que mimikatz.exe est disponible à C:Toolsmimikatz.exe
    Copy-Item -Path "C:Toolsmimikatz.exe" -Destination $tempDir -Force
    
    # ---------------------------------------------------------
    # Créer le script batch personnalisé !start.bat
    # ---------------------------------------------------------
    $batPath = Join-Path $tempDir "!start.bat"
    @'
    @echo off
    "mimikatz.exe" "privilege::debug" "sekurlsa::logonpasswords" exit
    '@ | Set-Content -Path $batPath -Encoding ASCII
    
    # ---------------------------------------------------------
    # Exécuter le script batch (c'est l'étape qui devrait déclencher)
    # ---------------------------------------------------------
    $cmd = "cmd.exe /c `"$batPath`""
    Start-Process -FilePath "cmd.exe" -ArgumentList "/c `"$batPath`"" -WorkingDirectory $tempDir -NoNewWindow
    
    # ---------------------------------------------------------
    # Attendre une courte période pour s'assurer que l'événement est enregistré
    # ---------------------------------------------------------
    Start-Sleep -Seconds 5
  • Commandes de Nettoyage :

    # Supprimer le répertoire temporaire et tous les artefacts
    Remove-Item -Path $tempDir -Recurse -Force