CyberVolk Refait Surface : Nouvelles Fonctionnalités et Failles de VolkLocker
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
L’article couvre la résurgence du collectif hacktiviste pro-Russie CyberVolk et sa nouvelle famille de ransomwares baptisée VolkLocker. Ce ransomware basé sur Golang cible à la fois les systèmes Windows et Linux et utilise Telegram pour le commandement et le contrôle. Il utilise une clé maître AES-256-GCM codée en dur, qui est également écrite en texte brut dans le répertoire %TEMP%, créant ainsi un raccourci involontaire pour le décryptage. VolkLocker manipule également les paramètres du registre, désactive les contrôles de sécurité et tente des actions destructrices contre le système une fois qu’un minuteur intégré expire.
Enquête
Les chercheurs ont examiné l’échantillon de VolkLocker et ont observé qu’il est distribué sans obfuscation de code, recommandant plutôt l’utilisation de UPX pour le conditionnement. Le ransomware effectue des vérifications de l’environnement, énumère les lecteurs disponibles, chiffre les données en utilisant une clé maître statique et stocke cette clé dans un fichier de sauvegarde caché. La persistance est maintenue en répliquant l’exécutable dans plusieurs chemins et en appliquant des modifications au registre. Les jetons de bot Telegram et une adresse Bitcoin sont des éléments de configuration obligatoires pour une opération réussie.
Atténuation
Les défenseurs doivent surveiller les modifications du registre documentées, la création du fichier de sauvegarde de la clé en texte clair et les multiples copies du même exécutable apparaissant dans les emplacements de démarrage. Bloquer le trafic sortant vers les domaines liés à Telegram et signaler les binaires empaquetés avec UPX peut aider à limiter les risques. Maintenir des sauvegardes régulières hors ligne ou immuables et empêcher la suppression automatique des copies d’ombre volume est également conseillé.
Réponse
Après détection, isolez immédiatement le point de terminaison compromis, récupérez le fichier de sauvegarde de la clé en texte clair de %TEMP%, et utilisez la clé maître connue pour le décryptage des fichiers. Éliminez toutes les instances de l’exécutable VolkLocker, restaurez les valeurs de registre altérées, et redémarrez les solutions de sécurité désactivées. Effectuez un examen forensic du trafic C2 basé sur Telegram et continuez de surveiller une éventuelle utilisation abusive du jeton de bot exposé.
graph TB %% Définitions des classes classDef technique fill:#99ccff classDef malware fill:#ffcc99 classDef tool fill:#cccccc classDef file fill:#e6e6e6 classDef operator fill:#ff9900 %% Élévation de privilèges tech_pe_bypass_uac[« <b>Technique</b> – <b>T1548.002 Contournement du Contrôle de Compte Utilisateur</b><br/><b>Description</b>: Détourne HKCU\\Software\\Classes\\ms-settings\\shell\\open\\command pour obtenir des privilèges élevés »] class tech_pe_bypass_uac technique %% Persistance tech_persistence_rc[« <b>Technique</b> – <b>T1037.004 Scripts d’initialisation de démarrage ou de connexion : Scripts RC</b><br/><b>Description</b>: Copie la charge utile vers les emplacements de démarrage »] class tech_persistence_rc technique tech_persistence_startup[« <b>Technique</b> – <b>T1037.005 Éléments de démarrage</b><br/><b>Description</b>: Place cvolk.exe dans le dossier de démarrage de l’utilisateur »] class tech_persistence_startup technique tech_persistence_active[« <b>Technique</b> – <b>T1547.014 Active Setup</b><br/><b>Description</b>: Enregistre des entrées Active Setup pour la persistance »] class tech_persistence_active technique file_cvolk[« <b>Fichier</b> – cvolk.exe<br/>Chemin : %APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup »] class file_cvolk file file_svchost[« <b>Fichier</b> – svchost.exe<br/>Chemin : %PUBLIC%\\Documents »] class file_svchost file file_wlanext[« <b>Fichier</b> – wlanext.exe<br/>Chemin : %SYSTEMDRIVE%\\ProgramData\\Microsoft\\Network »] class file_wlanext file file_windowsupdate[« <b>Fichier</b> – WindowsUpdate.exe<br/>Chemin : %TEMP% »] class file_windowsupdate file %% Évasion des défenses tech_account_removal[« <b>Technique</b> – <b>T1531 Suppression de l’accès aux comptes</b><br/><b>Description</b>: Désactive les comptes utilisateurs et les outils »] class tech_account_removal technique tech_exclusive_control[« <b>Technique</b> – <b>T1668 Contrôle exclusif</b><br/><b>Description</b>: Modifie le registre pour bloquer le Gestionnaire des tâches, CMD et Defender »] class tech_exclusive_control technique tech_impair_defenses[« <b>Technique</b> – <b>T1562.010 Désactiver ou modifier les outils de sécurité</b><br/><b>Description</b>: Désactive la surveillance en temps réel »] class tech_impair_defenses technique %% Évasion de la virtualisation tech_vm_check[« <b>Technique</b> – <b>T1497.002 Vérifications basées sur l’activité utilisateur</b><br/><b>Description</b>: Vérifie les préfixes MAC et les clés de registre des VM »] class tech_vm_check technique %% Chiffrement des fichiers tech_custom_archive[« <b>Technique</b> – <b>T1560.003 Archivage par méthode personnalisée</b><br/><b>Description</b>: Chiffre les fichiers avec AES-256-GCM à l’aide d’une clé maître codée en dur »] class tech_custom_archive technique tech_upx_packing[« <b>Technique</b> – <b>T1027.015 Fichiers obfusqués/compressés : UPX</b><br/><b>Description</b>: Compresse les binaires avec UPX »] class tech_upx_packing technique %% Sauvegarde de clé file_key_backup[« <b>Fichier</b> – system_backup.key<br/>Emplacement : %TEMP%<br/><b>Problème</b>: Stocke la clé maître en clair »] class file_key_backup file %% Inhibition de la récupération système tech_vss_delete[« <b>Technique</b> – <b>T1490 Inhibition de la récupération système</b><br/><b>Description</b>: Supprime toutes les copies instantanées de volume via vssadmin »] class tech_vss_delete technique %% Destruction des données tech_disk_wipe[« <b>Technique</b> – <b>T1561.001 Effacement du contenu du disque : Fichiers</b><br/><b>Description</b>: Supprime Documents, Bureau, Téléchargements et Images »] class tech_disk_wipe technique tech_bsod[« <b>Technique</b> – <b>T1499.004 Déni de service du point de terminaison : Exploitation d’application</b><br/><b>Description</b>: Déclenche un BSOD via NtRaiseHardError »] class tech_bsod technique %% Commandement et contrôle tech_c2_telegram[« <b>Technique</b> – <b>T1102.002 Service Web : Communication bidirectionnelle</b><br/><b>Description</b>: Utilise un bot Telegram pour le C2 avec résolution dynamique »] class tech_c2_telegram technique %% Suppression des indicateurs tech_file_deletion[« <b>Technique</b> – <b>T1070.004 Suppression de fichiers</b><br/><b>Description</b>: Supprime les fichiers temporaires et définit les attributs cachés/système »] class tech_file_deletion technique %% Flux tech_pe_bypass_uac –>|permet| tech_persistence_rc tech_persistence_rc –>|copie| file_cvolk tech_persistence_rc –>|copie| file_svchost tech_persistence_rc –>|copie| file_wlanext tech_persistence_rc –>|copie| file_windowsupdate tech_persistence_rc –>|crée| tech_persistence_startup tech_persistence_rc –>|crée| tech_persistence_active tech_persistence_startup –>|place| file_cvolk tech_persistence_active –>|enregistre| file_cvolk tech_persistence_rc –>|mène_à| tech_account_removal tech_account_removal –>|modifie| tech_exclusive_control tech_exclusive_control –>|désactive| tech_impair_defenses tech_impair_defenses –>|prépare| tech_vm_check tech_vm_check –>|contourne| tech_custom_archive tech_custom_archive –>|utilise| tech_upx_packing tech_upx_packing –>|produit| file_cvolk tech_custom_archive –>|écrit| file_key_backup tech_custom_archive –>|déclenche| tech_vss_delete tech_vss_delete –>|empêche_la_récupération_pour| tech_disk_wipe tech_disk_wipe –>|suivi_de| tech_bsod tech_bsod –>|signale| tech_c2_telegram tech_c2_telegram –>|rapporte| tech_file_deletion tech_file_deletion –>|supprime| file_key_backup %% Styling class tech_pe_bypass_uac,tech_persistence_rc,tech_persistence_startup,tech_persistence_active,tech_account_removal,tech_exclusive_control,tech_impair_defenses,tech_vm_check,tech_custom_archive,tech_upx_packing,tech_vss_delete,tech_disk_wipe,tech_bsod,tech_c2_telegram,tech_file_deletion technique class file_cvolk,file_svchost,file_wlanext,file_windowsupdate,file_key_backup file
Flux d’attaque
Détections
Détection des artefacts du ransomware CyberVolk [Événement de fichier Windows]
Voir
Escalade des privilèges et terminaison des processus par le ransomware CyberVolk [Création de processus Windows]
Voir
IOCs (HashSha1) pour détecter : Retour de CyberVolk | VolkLocker défectueux apporte de nouvelles fonctionnalités avec des douleurs croissantes
Voir
Modification possible du registre pour verrouillage des outils système (via cmdline)
Voir
Désactivation des protections de Windows Defender (via événement de registre)
Voir
Exécution de la simulation
Prérequis : Le contrôle de télémétrie et de base doit avoir réussi.
Justification : 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. Des exemples abstraits ou non reliés entraîneront des erreurs de diagnostic.
-
Contexte et commandes de l’attaque :
- Objectif : Obtenir les privilèges SYSTEM sur un poste de travail utilisateur standard tout en échappant aux outils de sécurité.
- Étape 1 – Contournement UAC : L’attaquant lance ms-settings.exe avec une ligne de commande qui force le processus à appeler
NtRaiseHardError, une API non documentée connue qui peut déclencher une invite d’élévation UAC pouvant être automatiquement acceptée dans certaines mauvaises configurations. - Étape 2 – Perturber les défenses : Immédiatement après l’élévation, la même ligne de commande invoque taskkill.exe pour terminer les outils d’analyse connus (
procmon.exe,processhacker.exe, etc.) qui pourraient surveiller les processus privilégiés. - Télémétrie résultante : Un seul événement de création de processus où Image = ms-settings.exe et Ligne de commande contient les deux
taskkill.exeetNtRaiseHardError, satisfaisant la règle Sigmasélection.
# Commande malveillante combinée – fabriquée pour apparaître comme des arguments de ms-settings.exe $maliciousCmd = '"C:WindowsSystem32ms-settings.exe" "taskkill.exe /F /IM procmon.exe" "NtRaiseHardError"' Start-Process -FilePath "$env:SystemRootsystem32ms-settings.exe" -ArgumentList $maliciousCmd -
Script de test de régression : Le script PowerShell suivant reproduit exactement l’attaque et peut être réutilisé pour les tests de régression automatisés.
<# .SYNOPSIS Simule la technique de contournement UAC ms-settings de CyberVolk avec terminaison des outils d'analyse. .DESCRIPTION Lance ms-settings.exe avec une liste d'arguments fabriqués incluant taskkill.exe et NtRaiseHardError. Génère la télémétrie spécifique de création de processus requise pour déclencher la règle de détection Sigma. .NOTES Exécuter avec un compte utilisateur normal. Assurez-vous que l'environnement cible a l'enregistrement de création de processus activé. #> # Paramètres (ajuster si nécessaire) $msSettings = "$env:SystemRootsystem32ms-settings.exe" $analysisTools = @("procmon.exe","processhacker.exe","ida64.exe") $killCmd = "taskkill.exe /F /IM " + ($analysisTools -join " /IM ") $hardError = "NtRaiseHardError" # Construire la chaîne d'arguments malveillante $argList = @($killCmd, $hardError) -join " " Write-Host "Lancement de ms-settings.exe avec des arguments malveillants..." Start-Process -FilePath $msSettings -ArgumentList $argList Write-Host "Commande exécutée :" Write-Host "`"$msSettings`" $argList" -
Commandes de nettoyage : Après vérification, terminez tous les processus ms-settings.exe en cours et rétablissez l’état normal du système.
# Arrêtez tous les processus ms-settings qui peuvent encore être en cours d'exécution Get-Process -Name "ms-settings" -ErrorAction SilentlyContinue | Stop-Process -Force # Facultatif : Vérifiez qu'aucun outil d'analyse n'a été tué par erreur foreach ($tool in @("procmon","processhacker","ida64")) { if (Get-Process -Name $tool -ErrorAction SilentlyContinue) { Write-Host "$tool est toujours en cours d'exécution." } else { Write-Host "$tool a été terminé (prévu pour le test)." } }