Nouveau malware LNK de Kimsuky utilisant une infrastructure C2 multi-canaux
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le groupe Kimsuky déploie une nouvelle campagne de malware basée sur LNK déguisée en documents financiers domestiques. L’opération repose sur une architecture de Commande et Contrôle (C2) multi-canal qui sépare des fonctions telles que la livraison de commandes, les notifications d’infection et l’exfiltration de données via des services de confiance, y compris GitHub, WordPress et Dropbox. Ce design modulaire permet aux attaquants d’échapper aux défenses réseau traditionnelles en abusant de l’infrastructure légitime et des LOLBins.
Enquête
L’enquête a découvert une chaîne d’exécution en plusieurs étapes commençant par un fichier LNK malveillant lancé via conhost.exe. L’attaque exploite certutil.exe pour décoder et télécharger les charges utiles et utilise NirCmd pour une exécution discrète. L’adversaire emploie également une technique de dépôt secret via GitHub pour distribuer des commandes et utilise des valeurs MachineGuid pour l’identification unique des victimes et la livraison ciblée de tâches.
Atténuation
Les utilisateurs devraient désactiver le paramètre de l’Explorateur Windows qui masque les extensions pour les types de fichiers connus afin que les fichiers LNK déguisés puissent être identifiés plus facilement. Les organisations devraient surveiller l’utilisation suspecte de LOLBins comme certutil.exe and taskhostw.exe et appliquer des contrôles stricts sur les tâches planifiées non autorisées. Le trafic sortant anormal vers des services de confiance comme GitHub ou Dropbox devrait également être surveillé pour des schémas de communication inhabituels.
Réponse
Si une activité malveillante est détectée, l’hôte affecté devrait être isolé immédiatement pour arrêter toute exfiltration de données supplémentaire ou déplacement latéral. Les intervenants devraient identifier les MachineGuid du système et enquêter sur les dépôts GitHub associés utilisés par la campagne. Les tâches planifiées et les clés de registre devraient être examinées pour la persistance, tandis que les tunnels inversés non autorisés établis via Node.js, SSH ou des outils similaires devraient également faire l’objet d’une enquête.
Flux d’Attaque
Nous mettons toujours à jour cette partie.
Détections
Possibilité d’Énumération du Système (via ligne de commande)
Téléchargement Possible de Fichier GitHub Initié Par Processus Inhabituel (via connexion réseau)
Possibilité de Découverte de la Configuration Réseau du Système (via ligne de commande)
LOLBAS Conhost (via ligne de commande)
Possibilité de Copier et Renommer un Exécutable Système pour Évasion (via ligne de commande)
Possibilité d’Infiltration/Exfiltration de Données/C2 via Services Tiers/Outils (via proxy)
Possibilité d’Infiltration/Exfiltration de Données/C2 via Services Tiers/Outils (via dns)
IOCs (HashMd5) à détecter : Nouveau Malware LNK Kimsuky Utilisant une Infrastructure C2 Multi-Canal
Commande et Contrôle de Malware LNK du Groupe Kimsuky Utilisant des Services Cloud [Connexion Réseau Windows]
Détection du Malware LNK du Groupe Kimsuky et du Fichier de Configuration [Événement de Fichier Windows]
Détection du Malware LNK du Groupe Kimsuky Utilisant des Techniques LOLBin [Création de Processus Windows]
Exécution de Simulation
-
Narration de l’Attaque & Commandes : L’adversaire a livré un fichier malveillant
.lnkvia un email d’hameçonnage. Lorsque l’utilisateur clique sur le lien, il exécute un shell de commande caché. L’objectif de l’attaquant est de décoder une charge utile cachée stockée dans un fichier apparemment innocent. Pour atteindre cet objectif tout en restant discret, l’attaquant utiliseconhost.exe --headlesspour s’assurer qu’aucune fenêtre n’apparaît, puis invoquecertutil.exe -decodepour transformer un fichier encodé en Base64 en un exécutable. Cette séquence est une caractéristique du groupe Kimsuky utilisant une méthode de livraison basée sur LNK. -
Script de Test de Régression :
# Simulation des TTPs du Malware LNK Kimsuky # Ce script crée un fichier encodé factice puis utilise la combinaison spécifique # requise pour déclencher la règle de détection. $dummyFile = "$env:TEMPencoded_payload.txt" $decodedFile = "$env:TEMPmalicious.exe" $base64Content = "SGVsbG8gV29ybGQh" # "Hello World!" en Base64 # 1. Créer le fichier "encodé" $base64Content | Out-File -FilePath $dummyFile -Encoding ascii # 2. Déclencher la règle de détection : # Nous avons besoin de 'conhost.exe --headless' ET ('certutil.exe -decode' OU 'taskhostw.exe exec hide') # et le parent ne doit PAS être 'dbg.exe'. Write-Host "[+] Simulation de la séquence d'exécution LNK Kimsuky..." # Utilisation de Start-Process pour simuler la façon dont un fichier LNK appellerait la ligne de commande # Note : Nous simulons le comportement conhost via un argument direct de ligne de commande Start-Process "conhost.exe" -ArgumentList "--headless", "cmd.exe", "/c", "certutil.exe -decode", "$dummyFile", "$decodedFile" -WindowStyle Hidden Write-Host "[+] Commande de simulation envoyée. Vérifiez le SIEM pour la détection." -
Commandes de Nettoyage :
# Nettoyer les artefacts de simulation Remove-Item -Path "$env:TEMPencoded_payload.txt" -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPmalicious.exe" -ErrorAction SilentlyContinue Write-Host "[+] Nettoyage terminé."