À l’intérieur de l’artisanat CHM de Kimsuky : Exécution en plusieurs étapes et livraison sélective de charges utiles
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Kimsuky utilise des HTML compilés malveillants (.chm) comme appâts initiaux pour déclencher une chaîne d’infections en plusieurs étapes. L’opération abuse des utilitaires natifs de Windows tels que PowerShell, certutil, et wscript pour profiler le système, établir une persistance via des tâches planifiées et exfiltrer les données collectées. L’acteur applique également une livraison de charges utiles sélective, fournissant le composant opérationnel final seulement après que certaines conditions environnementales ou comportementales soient satisfaites.
Enquête
Le chercheur a analysé un échantillon CHM suspect et reconstruit sa chaîne d’exécution, qui consistait en plusieurs étapes VBScript et PowerShell. En rejouant les requêtes réseau et en testant à partir de différents emplacements de proxy, le chercheur a découvert un modèle de réponse sélective dans lequel la charge finale n’a pas été livrée à l’environnement sandboxé. L’enquête a également lié l’infrastructure à une activité Kimsuky connue par des similitudes de favicon et un fingerprinting des serveurs Web.
Atténuation
Les organisations doivent surveiller les ascendances de processus suspectes, en particulier les cas où hh.exe or wscript.exe lance PowerShell ou cmd.exe. Restreindre l’exécution de contenu de script à partir d’emplacements inscriptibles par l’utilisateur, tels que le cache Internet, peut aider à bloquer la persistance. Surveiller les modifications non autorisées des paramètres de registre d’Internet Explorer et Microsoft Edge peut également améliorer la détection des altérations de l’hôte.
Réponse
Si cette activité est détectée, isolez immédiatement le point d’extrémité affecté pour empêcher tout trafic supplémentaire de commande et de contrôle. Effectuez des analyses forensiques de la mémoire pour identifier toute charge utile PowerShell sans fichier chargée dans la mémoire du processus. Passez en revue les tâches planifiées pour des entrées suspectes telles que Edge Updater et inspectez le %USERPROFILE%Links répertoire pour des fichiers trompeurs .dat or .ini fichiers.
Flux d’Attaque
Détections
Utilisation suspecte de Invoke-RestMethod (via PowerShell)
Voir
Possible énumération de logiciel antivirus ou pare-feu (via process_creation)
Voir
Possible énumération du système (via cmdline)
Voir
LOLBAS WScript / CScript (via process_creation)
Voir
Utilisation de Certutil pour l’encodage des données et les opérations de certificat (via cmdline)
Voir
Décodage de fichier suspect avec certutil.exe [Windows Sysmon]
Voir
Activité malveillante Kimsuky PowerShell via fichier CHM [Windows PowerShell]
Voir
Analyse de l’exécution des fichiers Kimsuky CHM [Création de processus Windows]
Voir
Exécution de la simulation
Prérequis : Le contrôle pré-vol Métadonnées et Base de référence doit avoir réussi.
Motif : 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émétrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés entraîneront un mauvais diagnostic.
-
Narratif et commandes d’attaque : L’adversaire vise à obtenir une exécution initiale via un
.chmfichier armé. Une fois que l’utilisateur ouvre le fichier, le fichier d’aide HTML compilé utilise un script intégré pour invoquerhh.exe. Pour échapper à la détection standard, l’acteur utilisehh.exepour lancerPowerShell, masquant efficacement l’exécution du shell sous un processus d’aide de Windows légitime. L’objectif est d’établir un point d’ancrage en exécutant une commande PowerShell cachée qui peut télécharger une charge utile de deuxième étape. -
Script de test de régression :
# Simulation de la chaîne d'exécution Kimsuky CHM-to-PowerShell # Ce script simule le comportement de hh.exe lançant PowerShell tel que détecté par la règle. Write-Host "[+] Démarrage de la simulation Kimsuky CHM..." -CouleurDePremierPlan Cyan # 1. Simuler hh.exe lançant PowerShell (Correspond à selection_hh) Write-Host "[+] Déclenchement de la règle : hh.exe lançant PowerShell..." -CouleurDePremierPlan Jaune Start-Process "hh.exe" -ArgumentList "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command Write-Output 'Simulation Success'" # 2. Simuler wscript.exe exécutant VBScript (Correspond à selection_wscript) Write-Host "[+] Déclenchement de la règle : wscript.exe avec le drapeau VBScript..." -CouleurDePremierPlan Jaune $tempVBS = "$env:TEMPtest_sim.vbs" "WScript.Echo ""Simulation Success""" | Out-File -FilePath $tempVBS -Encoding ascii Start-Process "wscript.exe" -ArgumentList "/e:vbscript $tempVBS" # 3. Simuler cmd.exe avec fenêtre cachée (Correspond à selection_cmd) Write-Host "[+] Déclenchement de la règle : cmd.exe avec un style de fenêtre cachée..." -CouleurDePremierPlan Jaune Start-Process "cmd.exe" -ArgumentList "/c PowerShell -WindowStyle Hidden -Command Write-Output 'Simulation Success'" Write-Host "[+] Commandes de simulation envoyées." -CouleurDePremierPlan Vert -
Commandes de nettoyage :
# Nettoyage des fichiers temporaires créés pendant la simulation Remove-Item -Path "$env:TEMPtest_sim.vbs" -ErrorAction SilentlyContinue Write-Host "[+] Nettoyage terminé." -CouleurDePremierPlan Cyan