Profil APT Imperial Kitten : TTP, Malware et Simulation d’Attaque
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Imperial Kitten est un APT sponsorisé par l’État iranien lié au IRGC et connu pour cibler les organisations aérospatiales et de défense. Le groupe s’appuie sur des campagnes de spearphishing hautement ciblées et des portails de validation d’identifiants pour diffuser des malwares sur mesure. Son kit d’outils comprend plusieurs portes dérobées, telles que TWOSTROKE et MINIBIKE, et utilise fréquemment l’infrastructure Microsoft Azure pour les communications C2.
Enquête
Le rapport retrace l’évolution d’Imperial Kitten de 2017 à 2026, mettant en lumière son passage des opérations sur la chaîne d’approvisionnement vers l’hameçonnage sophistiqué sur les réseaux sociaux et les portails de phishing sur mesure. L’analyse examine également les techniques d’obfuscation de type LLVM personnalisé et les méthodes de chargement indirect de DLL utilisées pour maintenir la furtivité et compliquer la détection.
Atténuation
Les organisations devraient renforcer la sécurité des e-mails pour identifier les domaines similaires et vérifier les flux de travail d’authentification légitimes. Les défenses des points de terminaison doivent être renforcées contre le chargement indirect des DLL, tandis que les modifications non autorisées du registre dans les clés de démarrage doivent être étroitement surveillées. Restreindre le trafic sortant aux services cloud approuvés peut également réduire le risque de communication C2 via l’infrastructure Azure.
Réponse
Lorsque l’activité Imperial Kitten est détectée, isolez les hôtes compromis pour empêcher le déplacement latéral via les tunnels RDP ou SSH. Effectuez une analyse forensic de %LOCALAPPDATA% à la recherche de DLL suspectes et inspectez les clés de registre pour les mécanismes de persistance. Passez en revue le trafic réseau lié à Azure pour les modèles inhabituels associés aux domaines et outils C2 identifiés.
Flux d’attaque
Détections
Points de persistance possibles [ASEPs – Logiciel/NTUSER Hive] (via event_registry)
Redirection de port SSH suspecte [Windows] (via cmdline)
Énumération/manipulation possible de comptes ou de groupes (via cmdline)
Tentative de suppression d’artéfacts spécifiques au RDP du registre (via cmdline)
Utilisation possible d’outil de tunneling [Windows] (via cmdline)
Logiciel alternatif d’accès/gestion à distance (via process_creation)
Tentative possible de chargement indirect de Dxgi (via image_load)
Tentative possible de chargement indirect de VGAuth.dll (via image_load)
Fichiers suspects dans le profil utilisateur public (via file_event)
Domaine Azurewebsites contacté par processus inhabituel (via dns_query)
IOCs (SourceIP) pour détecter : Imperial Kitten (Tortoiseshell) APT : TTPs, logiciels malveillants et simulation d’attaque
IOCs (DestinationIP) pour détecter : Imperial Kitten (Tortoiseshell) APT : TTPs, logiciels malveillants et simulation d’attaque
Modifications de registre de furtivité et persistance d’Imperial Kitten [Événement de registre Windows]
Détecter le serveur C2 d’Imperial Kitten dans l’infrastructure Azure [Logs d’activité Azure]
Exécution de simulation
-
Narratif d’attaque et commandes : L’adversaire a réussi à obtenir l’accès initial. Pour s’assurer de rester sur le système après un redémarrage, il déploie un chargeur qui ajoute une entrée « MigAutoPlay » dans la clé de registre Run de l’utilisateur actuel. Ceci imite le profil de malware d’Imperial Kitten. Après avoir établi la persistance, l’adversaire effectue un mouvement latéral via RDP. Pour échapper à la détection et masquer ses traces aux enquêteurs forensic, il procède immédiatement à la suppression des clés de registre qui conservent l’historique des serveurs RDP récemment connectés.
-
Script de test de régression :
# --- PARTIE 1 : Simulation de persistance --- Write-Host "[+] Simulation de persistance via MigAutoPlay..." $PersistencePath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" New-ItemProperty -Path $PersistencePath -Name "MigAutoPlay" -Value "C:UsersPublicloader.dll" -PropertyType String -Force # --- PARTIE 2 : Simulation de nettoyage anti-forensics (RDP) --- Write-Host "[+] Simulation de nettoyage de l'historique RDP..." $RDPPath1 = "HKCU:SoftwareMicrosoftTerminal Server ClientDefault" $RDPPath2 = "HKCU:SoftwareMicrosoftTerminal Server ClientServers" # Suppression des clés pour simuler le nettoyage if (Test-Path $RDPPath1) { Remove-Item -Path $RDPPath1 -Recurse -Force } if (Test-Path $RDPPath2) { Remove-Item -Path $RDPPath2 -Recurse -Force } Write-Host "[!] Simulation complète." -
Commandes de nettoyage :
# Nettoyage de la clé de persistance créée lors de la simulation Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" -Name "MigAutoPlay" -ErrorAction SilentlyContinue # Note : Les clés RDP sont gérées par le système ; nous ne pouvons pas facilement restaurer l'historique 'supprimé' # via un script, mais nous pouvons recréer les structures vides si nécessaire. New-Item -Path "HKCU:SoftwareMicrosoftTerminal Server ClientDefault" -Force | Out-Null New-Item -Path "HKCU:SoftwareMicrosoftTerminal Server ClientServers" -Force | Out-Null