Khmer Shadow cible des entités gouvernementales cambodgiennes dans une campagne d’espionnage
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Un nouveau cluster de menaces identifié sous le nom de Khmer Shadow mène des opérations d’espionnage ciblant des organisations gouvernementales cambodgiennes, notamment dans les secteurs de la défense et des travaux publics. Les attaquants utilisent un chargeur C++ personnalisé nommé NIGHTFORGE pour charger en mémoire une charge utile Havoc Demon. La campagne emploie également des méthodes d’évasion avancées, incluant le débranchement de NTDLL et la résolution des appels système de Hell’s Gate, pour réduire la visibilité et contourner les contrôles de sécurité.
Enquête
Acronis TRU a découvert deux campagnes distinctes qui utilisaient des archives auto-extractibles sur le thème des réunions comme méthode de livraison initiale. Les analystes ont examiné le chargeur NIGHTFORGE et documenté sa capacité à résoudre dynamiquement les appels système et à déconnecter NTDLL pour dissimuler une activité malveillante. L’enquête a également établi des liens entre plusieurs environnements de commande et de contrôle en pivotant sur des empreintes JARM partagées et des certificats d’origine Cloudflare réutilisés.
Atténuation
Les organisations devraient mettre en œuvre une surveillance rigoureuse des comportements suspects de chargement dynamique de DLL, surtout lorsque des binaires signés légitimement comme VMwareNamespaceCmd.exe sont impliqués. Les défenseurs devraient également surveiller la création non autorisée de tâches planifiées et des processus enfants inhabituels, notamment gpupdate.exe, étant lancés par des processus parents inattendus. La protection des points d’extrémité capable de détecter l’activité directe des appels système et les charges utiles résidant en mémoire peut encore améliorer la couverture.
Réponse
Si une activité Khmer Shadow est détectée, les systèmes affectés devraient être isolés immédiatement pour perturber la communication de commande et de contrôle. Les enquêteurs devraient effectuer une analyse médico-légale du répertoire %LOCALAPPDATA% pour identifier les artefacts persistants liés à VMwareNamespace. Les journaux réseau devraient également être vérifiés pour le trafic HTTPS sortant vers les domaines de commande et de contrôle connus, et les identifiants utilisés sur les systèmes compromis devraient être réinitialisés.
"graph TB %% Section des définitions de classes classDef action fill:#99ccff classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef process fill:#ccffcc classDef network fill:#ffff99 %% Définitions des nœuds action_phishing["<b>Action</b> – <b id='T1566.001'>T1566.001 Pièce jointe par Spearphishing</b><br/><b>Description</b>: Distribution de pièces jointes malveillantes par email.<br/><b>Fichier</b>: Contact_Letter_To_Ms_Pech_ICB_Cambodia_On_Collaboration.pdf.exe"] class action_phishing action proc_sideload["<b id='T1218'>T1218 Exécution de proxy binaire système</b><br/><b>Description</b>: Utilisation de binaires légitimes pour exécuter du code malveillant.<br/><b>Binaire</b>: VMwareNamespaceCmd.exe<br/><b>DLL chargée</b>: vmtools.dll"] class proc_sideload process malware_nightforge["<b id='NIGHTFORGE'>Malware</b>: Chargeur NIGHTFORGE<br/><b>Action</b> – <b id='T1140'>T1140 Déobfuscation/Décodage des fichiers ou informations</b><br/><b>Description</b>: Utilisation du décryptage XOR personnalisé pour décoder le shellcode.<br/><b>Action</b> – <b id='T1027.007'>T1027.007 Résolution d’API dynamique</b><br/><b>Description</b>: Contournement de l’EDR en utilisant la résolution des appels système de Hell’s Gate."] class malware_nightforge malware action_persistence["<b id='T1137'>T1137 Démarrage d’applications Office</b><br/><b>Description</b>: Utilisation des API COM pour assurer la persistance.<br/><b>Mécanisme</b>: Tâche planifiée enregistrée nommée VMwareNamespace<br/><b>Fréquence</b>: Répète toutes les 10 minutes."] class action_persistence action tool_kaynldr["<b id='KaynLdr'>Outil</b>: KaynLdr<br/><b>Action</b> – <b id='T1620'>T1620 Chargement de code réfléchi</b><br/><b>Description</b>: Chargement par réflexion du dernier stade en mémoire."] class tool_kaynldr tool malware_havoc["<b id='Havoc'>Malware</b>: Implant Havoc Demon<br/><b>Description</b>: Implant de dernier stade exécuté en mémoire."] class malware_havoc malware action_c2["<b id='T1102.002'>T1102.002 Service Web : Communication bidirectionnelle</b><br/><b>Description</b>: Établissement de commande et contrôle via HTTPS POST.<br/><b>URL C2</b>: www[.]sharingfile[.]cloud<br/><b>Évasion</b>: Imite le trafic normal du navigateur Chrome."] class action_c2 network %% Section des connexions %% Phishing mène à l’exécution du proxy binaire action_phishing –>|mène à| proc_sideload %% Exécution du proxy charge le chargeur NIGHTFORGE proc_sideload –>|exécute| malware_nightforge %% NIGHTFORGE établit la persistance malware_nightforge –>|établit| action_persistence %% NIGHTFORGE utilise KaynLdr pour le chargement par réflexion malware_nightforge –>|utilise| tool_kaynldr %% KaynLdr injecte Havoc Demon tool_kaynldr –>|injecte| malware_havoc %% Havoc Demon communique via C2 malware_havoc –>|établit C2 via| action_c2 "
Flux d’attaque
Détections
Possible double extension de fichier malveillant (via process_creation)
Voir
Possibilité de tentative de chargement dynamique de bibliothèque Vmtools (via image_load)
Voir
Commande et contrôle suspect via demande DNS par domaine de premier niveau inhabituel (via dns)
Voir
IOC (HashSha256) pour détecter : Derrière Khmer Shadow : Espionnage ciblé contre des entités gouvernementales cambodgiennes
Voir
IOC (SourceIP) pour détecter : Derrière Khmer Shadow : Espionnage ciblé contre des entités gouvernementales cambodgiennes
Voir
IOC (DestinationIP) pour détecter : Derrière Khmer Shadow : Espionnage ciblé contre des entités gouvernementales cambodgiennes
Voir
Détection d’activité de domaine C2 Khmer Shadow [Connexion réseau Windows]
Voir
Exécution de simulation
Prérequis : La vérification pré-vol des télémétrie et référence doit avoir été passée.
Rationale : Cette section détaille l’exécution précise de la technique d’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTP 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 liés entraîneront des erreurs de diagnostic.
-
Narration et commandes de l’attaque : Un adversaire a déployé avec succès un implant Havoc Demon sur un poste de travail au sein du réseau cible. Pour établir la Commande et le Contrôle (C2) et échapper aux défenses périmétriques de base, l’implant est configuré pour communiquer avec un ensemble spécifique de domaines identifiés dans le renseignement sur les menaces récentes concernant l’activité Khmer Shadow. L’implant initiera une requête HTTP GET vers
sharingfile.cloudpour signaler sa présence et attendre de nouvelles instructions. Cette action est conçue pour générer une entrée de journal proxy contenant la chaîne de domaine suspecte. -
Script de test de régression :
# Script de simulation pour déclencher la règle de détection C2 de Khmer Shadow # Cela imite une connexion C2 via une demande HTTP vers un domaine suspect. $C2_Domain = "http://sharingfile.cloud/api/v1/checkin" $UserAgent = "Havoc-Demon-Implant-v1.0" Write-Host "[!] Démarrage de la communication simulée C2 vers : $C2_Domain" -ForegroundColor Red try { # Utilisation de Invoke-WebRequest pour simuler l'activité réseau # Un User-Agent personnalisé est utilisé pour imiter une signature d'outil spécifique $response = Invoke-WebRequest -Uri $C2_Domain -UserAgent $UserAgent -Method Get -ErrorAction SilentlyContinue Write-Host "[+] Demande envoyée avec succès (Remarque : l'échec est prévu si le domaine est redirigé/hors ligne)." -ForegroundColor Green } catch { Write-Host "[+] Tentative de demande. Vérifiez les journaux proxy pour la tentative de connexion au domaine suspect." -ForegroundColor Yellow } -
Commandes de nettoyage :
# Aucune modification persistante effectuée par cette simulation. # Effacement de l'historique des commandes pour supprimer les traces de la simulation. Clear-History Write-Host "[+] Nettoyage terminé." -ForegroundColor Green