Ransomware Funklocker : Détection et Réponse avec Wazuh
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le ransomware Funklocker, lié au groupe FunkSec, cible les environnements Windows et utilise la génération de code assistée par IA pour produire de nouvelles variantes. Il s’appuie sur des techniques de living-off-the-land, abusant d’outils comme PowerShell, taskkill, sc et vssadmin pour désactiver les contrôles de sécurité, supprimer les copies de sauvegarde et chiffrer les données avec l’extension .funksec. Cet article explique comment détecter ces comportements en utilisant Sysmon et des règles Wazuh personnalisées, et comment automatiser le nettoyage grâce à des analyses YARA intégrées.
Enquête
L’analyse explique comment Funklocker réduit les journaux de sécurité de Windows et d’application, désactive la protection en temps réel de Windows Defender, contourne la politique d’exécution de PowerShell, tue des processus, arrête des services critiques et efface les sauvegardes de Volume Shadow Copy. Des échantillons de test ont été exécutés sur un hôte de laboratoire Windows 11 avec l’agent Wazuh installé et Sysmon configuré pour capturer toutes les télémétries pertinentes.
Atténuation du ransomware Funklocker
Les étapes d’atténuation recommandées incluent le renforcement des politiques d’exécution de PowerShell, l’application du principe du moindre privilège pour la gestion des services, le maintien de sauvegardes fréquentes tout en vérifiant que les copies de sauvegarde restent disponibles, et le déploiement d’outils EDR tels que Wazuh combinés avec des règles Sysmon sur mesure pour alerter sur les modèles de commande de Funklocker. Des signatures YARA peuvent ensuite être appliquées pour mettre en quarantaine ou supprimer automatiquement les exécutables de ransomware identifiés.
Réponse
Lorsqu’une activité Funklocker est détectée, le serveur Wazuh déclenche des alertes et son composant Active Response déclenche une analyse YARA qui supprime le binaire du ransomware ainsi que tous les fichiers chiffrés nouvellement créés. Le processus de réponse décrit couvre également la validation manuelle, le confinement des systèmes affectés et la récupération de données à partir de sauvegardes de confiance non compromises.
graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 %% Nodes action_phishing[« <b>Action</b> – <b>T1204.004 Exécution par l’utilisateur : fichier malveillant</b><br />Courriel de phishing contenant une pièce jointe malveillante envoyé aux victimes »] class action_phishing action action_execute_payload[« <b>Action</b> – <b>T1218.007 Exécution proxy via binaire signé : Msiexec</b><br />Exécute une charge utile malveillante .exe ou .msi à l’aide d’utilitaires système »] class action_execute_payload action action_install_rat[« <b>Action</b> – <b>T1219 Outils d’accès à distance</b><br />Installe un outil d’accès à distance sur l’hôte compromis »] class action_install_rat action malware_rat[« <b>Malware</b> – <b>Nom</b> : Outil d’accès à distance<br /><b>Description</b> : Permet un contrôle distant persistant »] class malware_rat malware action_c2[« <b>Action</b> – <b>T1104 Commandement et contrôle</b><br />Établit un canal C2 pour recevoir des instructions »] class action_c2 action action_recon[« <b>Action</b> – Reconnaissance<br /><b>T1082 Découverte des informations système</b>, <b>T1592.002 Identification des logiciels</b>, <b>T1590.004 Découverte de la topologie réseau</b><br />Collecte des informations sur le système, les logiciels et le réseau »] class action_recon action action_credential_dump[« <b>Action</b> – <b>T1555.003 Identifiants dans des fichiers : navigateurs web</b><br />Extrait les identifiants web stockés à l’aide de WebBrowserPassView »] class action_credential_dump action tool_webbrowserpassview[« <b>Outil</b> – <b>Nom</b> : WebBrowserPassView<br /><b>Description</b> : Récupère les mots de passe enregistrés dans les navigateurs »] class tool_webbrowserpassview tool action_valid_accounts[« <b>Action</b> – <b>T1078 Comptes valides</b><br />Utilise les identifiants collectés pour s’authentifier »] class action_valid_accounts action action_lateral_movement[« <b>Action</b> – <b>T1021.006 Services distants : WinRM</b><br />Mouvement latéral via Windows Remote Management »] class action_lateral_movement action %% Connections action_phishing u002du002d>|conduit à| action_execute_payload action_execute_payload u002du002d>|exécute| action_install_rat action_install_rat u002du002d>|installe| malware_rat malware_rat u002du002d>|communique avec| action_c2 action_c2 u002du002d>|permet| action_recon action_recon u002du002d>|fournit des données pour| action_credential_dump action_credential_dump u002du002d>|utilise| tool_webbrowserpassview action_credential_dump u002du002d>|conduit à| action_valid_accounts action_valid_accounts u002du002d>|permet| action_lateral_movement
Flux d’attaque
Détections
Activité possible d’évasion par utilisation suspecte de Wevtutil (via cmdline)
Voir
Activité suspecte de VSSADMIN (via cmdline)
Voir
IOCs (HashSha256) pour détecter : Détecter et répondre au ransomware Funklocker avec Wazuh
Voir
Activité possible d’évasion par utilisation suspecte de Wevtutil (via cmdline)
Voir
Activité suspecte de VSSADMIN (via cmdline)
Voir
Exécution de simulation
Prérequis : la vérification préalable de télémétrie et de ligne de base doit avoir 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 exactement la télémétrie attendue par la logique de détection.
-
Narrative & Commandes de l’attaque :
L’attaquant a obtenu des droits d’administrateur local sur le point de terminaison compromis. Pour s’assurer que le ransomware puisse s’exécuter sans interruption et rester caché, il exécute une série de scripts PowerShell unilignes qui (1) désactivent la journalisation des événements de sécurité, (2) désactivent la protection en temps réel de Microsoft Defender, (3) désactivent le journal d’application et (4) définissent la politique d’exécution de PowerShell sur Bypass. Chaque commande est émise directement à partir d’une invite PowerShell élevée, reflétant les chaînes exactes que la règle Sigma correspond. -
Script de test de régression :
# Commandes de désactivation de type Funklocker # 1. Désactiver le journal des événements de sécurité powershell -Command "wevtutil sl Security /e:false" # 2. Désactiver la surveillance en temps réel de Microsoft Defender powershell -Command "Set-MpPreference -DisableRealtimeMonitoring $true" # 3. Désactiver le journal des événements d'application powershell -Command "wevtutil sl Application /e:false" # 4. Contourner la politique d'exécution PowerShell pour le processus actuel powershell -Command "Set-ExecutionPolicy Bypass -Scope Process -Force" -
Commandes de nettoyage :
# Ré-activer le journal des événements de sécurité wevtutil sl Security /e:true # Ré-activer la surveillance en temps réel de Microsoft Defender Set-MpPreference -DisableRealtimeMonitoring $false # Ré-activer le journal des événements d'application wevtutil sl Application /e:true # Restaurer la politique d'exécution PowerShell par défaut (Restreinte) Set-ExecutionPolicy Restricted -Scope Process -Force