Techniques d’attaque avancées de Kimsuky : JSONPing, spoofing Webex et une nouvelle variante de HttpSpy
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Kimsuky a utilisé des pages d’ingénierie sociale qui imitent des logiciels de sécurité et des réunions Webex pour livrer un HttpSpy RAT à plusieurs étapes. La campagne a introduit une vérification d’infection basée sur JSONP appelée JSONPing et a divisé la charge utile en installateur, chargeur et module principal. Les indicateurs incluent des clés RC4 partagées, des certificats XAMPP et un chevauchement d’infrastructure avec des campagnes précédentes.
Enquête
L’équipe a analysé des pages d’installation factices, capturé des binaires dropper, extrait des clés RC4 et reconstruit la chaîne d’exécution en trois étapes à partir de nos-setup.exe/astx-setup.exe via MemLoader.dll, engine.dat et cacheMon.dat jusqu’au module HttpSpy final. Le trafic réseau a montré des requêtes GET vers des ports locaux et des URL C2.
Atténuation
Les organisations devraient bloquer les domaines et IP suspects, désactiver l’exécution de fichiers scripts provenant de sources inconnues, surveiller la création de regsvr32 et de tâches planifiées, et appliquer la vérification de signature de code. Valider les liens de réunion Webex avant de cliquer et utiliser l’inspection TLS pour détecter le trafic JSONPing.
Réponse
Détecter la présence des binaires identifiés, des clés de registre Run, des tâches planifiées et des indicateurs réseau. Mettre en quarantaine les hôtes affectés, révoquer les certificats de signature de code compromis, et mener des analyses forensiques sur les charges utiles et les mécanismes de persistance.
Flux d’Attaque
Nous mettons encore à jour cette partie. Inscrivez-vous pour être averti
Notify MeDétections
Points de Persistance Possibles [ASEPs – Ruche Software/NTUSER] (via registry_event)
Vue
Exécution de Processus Système à partir de Chemins Atypiques (via process_creation)
Vue
Exécution de Regsvr32 dans des Emplacements Suspices (via cmdline)
Vue
Utilisation de Certutil pour le Codage de Données et les Opérations Cert (via cmdline)
Vue
Exécution Suspicieuse à partir du Profil Utilisateur Public (via process_creation)
Vue
IOC (HashSha256) pour détecter : Techniques d’Attaque Avancées de Kimsuky : JSONPing, Usurpation Webex, et une Nouvelle Variante HttpSpy
Vue
IOC (HashMd5) pour détecter : Techniques d’Attaque Avancées de Kimsuky : JSONPing, Usurpation Webex, et une Nouvelle Variante HttpSpy Partie 2
Vue
IOC (HashMd5) pour détecter : Techniques d’Attaque Avancées de Kimsuky : JSONPing, Usurpation Webex, et une Nouvelle Variante HttpSpy Partie 1
Vue
IOC (SourceIP) pour détecter : Techniques d’Attaque Avancées de Kimsuky : JSONPing, Usurpation Webex, et une Nouvelle Variante HttpSpy
Vue
IOC (DestinationIP) pour détecter : Techniques d’Attaque Avancées de Kimsuky : JSONPing, Usurpation Webex, et une Nouvelle Variante HttpSpy
Vue
Détection de la Communication C&C de la Variante HttpSpy [Connexion Réseau Windows]
Vue
Exécution Suspicieuse de Regsvr32 et PowerShell pour l’Exécution de DLL Malveillante [Création de Processus Windows]
Vue
Résumé Exécutif
- ID de Cas de Test : TC-20260529-A7Z3Q
- TTP :
- T1005 (Données du Système Local)
- T1010 (Découverte de Fenêtre d’Application)
- T1012 (Requête au Registre)
- T1027.009 (Fichiers ou Informations Obfusqués : Charges Utiles Intégrées)
- T1027.010 (Fichiers ou Informations Obfusqués : Remplissage de Binaire)
- T1027.013 (Fichiers ou Informations Obfusqués : Suppression d’Indicateur des Outils)
- T1036.004 (Déguisement : Tâche ou Service Déguisé)
- T1041 (Exfiltration sur le Canal de Commande et Contrôle)
- T1053.005 (Tâche/Job Planifié : Tâche Planifiée)
- T1055.001 (Injection de Processus : Injection de Bibliothèque de Liaisons Dynamiques)
- T1057 (Découverte de Processus)
- T1059.003 (Interpréteur de Commandes et Scripts : Windows Command Shell)
- T1059.007 (Interpréteur de Commandes et Scripts : JavaScript)
- T1070.004 (Suppression d’Indicateur sur l’Hôte : Suppression de Fichier)
- T1070.006 (Suppression d’Indicateur sur l’Hôte : Supprimer les Clés de Registre)
- T1070.009 (Suppression d’Indicateur sur l’Hôte : Effacement des Journaux d’Événements Windows)
- T1071.001 (Protocole de la Couche Application : Protocoles Web)
- T1082 (Découverte d’Informations Système)
- T1083 (Découverte de Fichiers et Répertoires)
- T1090 (Proxy)
- T1113 (Capture d’Écran)
- T1132.001 (Codage de Données : Codage Standard)
- T1134.002 (Manipulation de Jeton d’Accès : Créer et Usurper un Jeton)
- T1140 (Déobfuscation/Décodage de Fichiers ou Informations)
- T1204.002 (Exécution par l’Utilisateur : Fichier Malveillant)
- T1497.001 (Évasion de Virtualisation/Sandbox : Vérifications Systèmes)
- T1547.001 (Exécution au Démarrage ou à la Connexion : Clés de Démarrage du Registre / Dossier de Démarrage)
- T1566 (Hameçonnage)
- T1573.001 (Canal Crypté : Cryptage Symétrique)
- T1620 (Chargement Réfléchi de Code)
- Résumé de la Logique de Règle de Détection : Détecte une commande PowerShell qui lance
regsvr32.exeavec une fenêtre masquée pour charger une DLL deC:ProgramDatarépertoire. - Langue/Formulaire de Règle de Détection : Sigma (YAML)
- Environnement de Sécurité Cible :
- OS: Windows 10 / Windows Server 2019 (événements de création de processus)
- Journalisation : Windows Sysmon (ID d’Événement 1) et Journal d’Événements de Sécurité Windows (ID d’Événement 4688)
- Pile de Sécurité : SIEM qui intègre les règles Sigma (par exemple, Azure Sentinel, Splunk, Elastic) avec couverture EDR (Microsoft Defender for Endpoint)
- Score de Résilience (1-5) : 3
- Justification : La règle couple étroitement
regsvr32.exeavec un modèle de lancement PowerShell spécifique, ce qui est efficace contre la technique décrite. Cependant, les adversaires peuvent s’évader en (1) utilisant des mécanismes de chargement alternatifs (par exemple,rundll32,PowerShell -EncodedCommand), (2) renommantregsvr32.exe, ou (3) exécutant la DLL par chargement réfléchi sans invoquerregsvr32. Donc, résilience modérée. - Résultats Clés : La règle se déclenche de manière fiable lorsque la commande PowerShell‑regsvr32 exacte est exécutée; l’utilisation bénigne de
regsvr32.exesans le wrapper PowerShell ne déclenche pas l’alerte. - Recommandation : Augmenter la règle avec des modèles supplémentaires (par exemple, détection de
regsvr32.exeinvocation directe, surveillance des chargements de DLL à partir de chemins atypiques, et détection de commandes PowerShell encodées) pour augmenter la résilience à 4‑5.
Environnement de Simulation & Contexte
-
TTP en Test :
- T1055.001 : Injection de Processus – Injection de Bibliothèque de Liaisons Dynamiques (DLL malveillante chargée via
regsvr32.exe) - T1059.003 : Interpréteur de Commandes et Scripts – Windows Command Shell (PowerShell utilisé pour masquer l’exécution)
- T1027.009 / T1027.010 / T1027.013 : Fichiers ou Informations Obfusqués (Obfuscation de nom de DLL, fenêtre masquée)
- T1055.001 : Injection de Processus – Injection de Bibliothèque de Liaisons Dynamiques (DLL malveillante chargée via
-
Contexte & Pertinence des TTP :
- T1055.001 : L’attaquant exploite
regsvr32.exepour charger une DLL malveillante (mTSTCv8.mdxm) dans un processus de confiance, contournant la liste blanche des applications. - T1059.003 : PowerShell lance le
regsvr32commande avec-windowstyle hiddenpour échapper à la conscience des utilisateurs et aux contrôles de l’interface utilisateur du point d’extrémité. - TTPs d’Obfuscation : Utilisation d’une extension de DLL non standard (
.mdxm) et fenêtre masquée sont des techniques classiques d’évasion que la règle tente de mettre en lumière.
- T1055.001 : L’attaquant exploite
-
Environnement Cible :
- OS: Windows 10 Entreprise (build 1909)
- Journalisation : Sysmon configuré avec un ensemble de règles par défaut (capture ProcessCreate, ImageLoaded) plus Journal d’Evénements de Sécurité Windows 4688 activé.
- Pile de Sécurité : Azure Sentinel (espace de travail Log Analytics) ingérant les journaux Sysmon/Windows; Microsoft Defender for Endpoint pour les alertes basées sur l’hôte.
Télémetrie & Vérification de Base Avant Vol
Raisonnement : Avant de simuler l’attaque, nous devons confirmer que l’hôte cible est configuré pour générer les journaux nécessaires, que ces journaux sont ingérés par le SIEM, et que la règle de détection ne se déclenche pas sur une activité bénigne.
-
1. Instructions de Configuration de la Télémetrie :
-
Installer Sysmon (v13 ou ultérieur) avec le snippet de configuration suivant (enregistré comme
sysmon-config.xml):<Sysmon schemaversion="4.70"> <EventFiltering> <ProcessCreate onmatch="include"> <Image condition="is">regsvr32.exe</Image> </ProcessCreate> </EventFiltering> </Sysmon>Exécuter :
sysmon -i -accepteula -c sysmon-config.xml -
Vérifiez que Windows Security Auditing est activé pour “Audit Process Creation” (Politique :
Configuration de l'Ordinateur → Paramètres Windows → Paramètres de Sécurité → Configuration Avancée de la Politique d'Audit → Politiques Système d'Audit → Suivi Détaillé → Audit Process Creation– réglé sur Succès). -
Assurez-vous que le collecteur d’événements transfère l’ID d’événement 4688 (Création de Processus) et l’ID d’événement Sysmon 1 vers Azure Sentinel via l’agent Log Analytics.
-
-
2. Validation de l’Ingestion & de la Base :
-
Action (Télémetrie Bénigne) : Exécuter un
regsvr32appel légitime qui ne not implique pas PowerShell ou des fenêtres masquées (par exemple, enregistrer une DLL Microsoft).# Enregistrement bénin d'une DLL Windows (aucune fenêtre masquée) regsvr32.exe /s C:WindowsSystem32shdocvw.dll -
Requête de Validation (Ingestion) : Dans Azure Sentinel (KQL), confirmer que l’événement bénin a été ingéré mais n’a pas not correspond à la règle.
// Vérifier l'ingestion de l'exécution bénigne de regsvr32 Event | où SourceSystem == "Security" et EventID == 4688 | où Process == "regsvr32.exe" | où CommandLine !contains "powershell.exe" | projet TimeGenerated, Computer, Process, CommandLine, EventIDLe jeu de résultats devrait inclure l’événement bénin, et l’alerte de la règle Sigma devrait rester silencieuse.
-
Exécution de la Simulation
Prérequis : La Vérification de Base & de Télémetrie Avant Vol doit avoir été réussie.
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 TTP identifiés et viser à générer la télémetrie exacte attendue par la logique de détection.
-
Narratif d’Attaque & Commandes :
L’adversaire a obtenu une DLL personnalisée (mTSTCv8.mdxm) qui contient un chargeur réfléchissant pour une charge secondaire. Pour éviter une exécution interactive, l’attaquant prépare une ligne unique PowerShell qui exécuteregsvr32.exeavec le drapeau/ssilencieux tout en masquant la console PowerShell (-WindowStyle Hidden). La DLL réside dansC:ProgramDatapour se fondre avec les données de l’application légitime. Étapes d’exécution :- Copier la DLL malveillante dans
C:ProgramDatamTSTCv8.mdxm. - Lancer PowerShell (masqué) qui exécute
regsvr32.exe /s C:ProgramDatamTSTCv8.mdxm. - Le processus PowerShell masqué génère
regsvr32.exe, qui charge la DLL dans son propre espace de processus, réalisant ainsi une exécution de code avec un binaire de confiance.
- Copier la DLL malveillante dans
-
Script de Test de Régression :
# ============================== # Test de Régression : Regsvr32 via PowerShell (DLL Malveillante) # ============================== # 1. Déployer la DLL malveillante (simulée avec une DLL bénigne connue par sécurité) $dllPath = "C:ProgramDatamTSTCv8.mdxm" Copy-Item -Path "$env:SystemRootSystem32windows.storage.dll" -Destination $dllPath -Force # 2. Exécuter le lancement masqué de PowerShell que la règle Sigma recherche $psCommand = "powershell.exe -WindowStyle Hidden regsvr32.exe /s `"$dllPath`"" Start-Process -FilePath "powershell.exe" -ArgumentList "-WindowStyle Hidden", "regsvr32.exe", "/s", "`"$dllPath`"" -NoNewWindow # Optionnel : Attendre quelques secondes pour que le processus apparaisse dans les journaux Start-Sleep -Seconds 5 # 3. Émettre un événement marqueur sur la console pour validation du test Write-Host "[*] Exécution de regsvr32 lancée via PowerShell masqué." -
Commandes de Nettoyage :
# Supprimer la DLL malveillante simulée Remove-Item -Path "C:ProgramDatamTSTCv8.mdxm" -Force -ErrorAction SilentlyContinue # Fermer tout processus regsvr32.exe résiduel (s'il y en a) Get-Process -Name regsvr32 -ErrorAction SilentlyContinue | Stop-Process -Force Write-Host "[*] Nettoyage terminé."