SOC Prime Bias: Élevé

01 Jul 2026 09:16 UTC

À l’intérieur de l’artisanat CHM de Kimsuky : Exécution en plusieurs étapes et livraison sélective de charges utiles

Author Photo
SOC Prime Team linkedin icon Suivre
À l’intérieur de l’artisanat CHM de Kimsuky : Exécution en plusieurs étapes et livraison sélective de charges utiles
shield icon

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

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 .chm fichier armé. Une fois que l’utilisateur ouvre le fichier, le fichier d’aide HTML compilé utilise un script intégré pour invoquer hh.exe. Pour échapper à la détection standard, l’acteur utilise hh.exe pour lancer PowerShell, 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