Analyse APT Prince de Perse : Malwares Infy, Foudre, et Tonnerre
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Prince of Persia (également suivi sous le nom APT-C-07) est un acteur d’espionnage cybernétique aligné sur l’Iran, évalué comme actif depuis 2007. Le groupe a utilisé plusieurs familles de malwares propriétaires — Infy, Foudre, Tonnerre et MaxPinner — pour surveiller les organisations médiatiques, les entités politiques et les cibles de la société civile. Les opérations combinent souvent l’hameçonnage ciblé avec des chemins d’infection au hasard et reposent sur des méthodes de commande et de contrôle sur mesure, y compris des canaux basés sur des bots Telegram, pour maintenir l’accès et déplacer les données des systèmes compromis.
Enquête
Unit 42 et d’autres équipes de recherche ont retracé la progression des outils de l’acteur depuis l’infrastructure Infy observée en 2016 jusqu’au retour de l’activité Foudre en 2017 et une itération 2025 de Tonnerre qui utilise Telegram pour la commande et le contrôle. Les rapports techniques soulignent la livraison par des téléchargeurs de macros Visual Basic, la persistance via l’installation de services Windows, et l’utilisation de la logique de génération de domaine pour soutenir une infrastructure résiliente. Les analystes ont également documenté la fonctionnalité au niveau des API Windows natives utilisée pour l’accès aux identifiants et les comportements de surveillance tels que la frappe de clavier, ainsi que les schémas d’exécution qui indiquent un raffinement continu des techniques post-compromission.
Atténuation
Appliquez des contrôles stricts pour les macros Office et imposez la purification des pièces jointes d’email pour réduire les opportunités d’exécution initiale. Mettez en œuvre des contrôles réseau pour restreindre ou surveiller de près le trafic Telegram dans les environnements où il n’est pas nécessaire pour les opérations commerciales. Sur les points d’extrémité, alertez sur les créations de services suspects, suivez l’utilisation de rundll32 en cohérence avec les chaînes d’exécution DLL, et bloquez les noms de fichiers malveillants connus ainsi que les schémas de persistance basés sur le registre. Maintenez un contenu de détection à jour pour les modèles de domaine changeant dynamiquement associés à un comportement de type DGA et validez régulièrement les contrôles par rapport à la télémétrie actuelle.
Réponse
Si des indicateurs sont détectés, isolez le système affecté, capturez les artefacts volatils, et recherchez les noms de service spécifiques et les entrées de registre utilisées pour la persistance. Étendez le triage à la création de tâches planifiées, à l’activité de chargement DLL anormale, et à toute preuve de communications C2 basées sur Telegram. Supprimez les services malveillants et les fichiers mis en scène en utilisant des plans de remédiation validés, puis remplacez les identifiants potentiellement exposés et surveillez de près les tentatives de retour ou de réinfection sur les hôtes adjacents.
Flux d’attaque
Détections
Exécution de Taskkill suspecte (via cmdline)
Voir
Ligne de commande suspecte contenant le nom du navigateur en tant qu’argument (via cmdline)
Voir
Opération possible à la main ou via un script réalisée dans des dossiers inhabituels (via cmdline)
Voir
Utilisation potentielle de Lame pour enregistrer le son (via cmdline)
Voir
Abus potentiel de Telegram en tant que canal de commande et contrôle (via dns_query)
Voir
Appel de fonctions API Windows suspectes depuis Powershell (via powershell)
Voir
Un archive auto-extractible a potentiellement été créée (via file_event)
Voir
IOC (emails) à détecter : Analyse APT Prince of Persia : Malwares Infy, Foudre et Tonnerre
Voir
Exécution et évitement du malware Foudre Prince of Persia [Création de processus Windows]
Voir
Détection du malware Tonnerre utilisant un bot Telegram et une génération dynamique de domaine [Connexion réseau Windows]
Voir
Détection d’appels API du malware Infy [Windows Sysmon]
Voir
Exécution de simulation
Prérequis : Le contrôle préalable de télémétrie et de base doit avoir réussi.
Justification : 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 la narration doivent directement refléter les TTP identifiés et visent à générer la télémétrie exacte attendue par la logique de détection.
-
Narrative et commandes d’attaque :
L’adversaire simulé imite le comportement du malware Infy en créant trois exécutables fictifs dont les noms de fichiers correspondent aux appels d’API observés par la règle. En utilisantCopy-Item, nous dupliquonsnotepad.exe(un binaire bénin, déjà présent) dans le répertoire temporaire et le renommons pour qu’il corresponde à chaque appel API. L’attaquant exécute ensuite chaque exécutable fictif, produisant des événements de création de processus Sysmon avecImagevaleurs se terminant parGetFileAttributesA.exe,GetMessageA.exe, etDispatchMessageA.exe. Parce que la condition de la règle estselection1 ou selection2sur leImagechamp, chaque lancement satisfait la règle et génère une alerte. -
Script de test de régression :
# ------------------------------------------------- # Script de simulation - Test de détection des appels API Infy # ------------------------------------------------- $tempDir = "$env:TEMPInfySim" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null # Helper: copier notepad.exe vers un nouveau nom function Copy-And-Run { param ( [string]$newName ) $src = "$env:SystemRootSystem32notepad.exe" $dst = Join-Path $tempDir $newName Copy-Item -Path $src -Destination $dst -Force Write-Host "Créé $dst" Start-Process -FilePath $dst -WindowStyle Hidden } # Créer et exécuter des binaires fictifs correspondant aux noms d'API Copy-And-Run -newName "GetFileAttributesA.exe" Copy-And-Run -newName "GetMessageA.exe" Copy-And-Run -newName "DispatchMessageA.exe" Write-Host "Simulation complète. Vérifiez SIEM pour les alertes." -
Commandes de nettoyage :
# ------------------------------------------------- # Script de nettoyage - Supprimer les binaires simulés # ------------------------------------------------- $tempDir = "$env:TEMPInfySim" # Arrêter tous les processus fictifs restants Get-Process -Name "GetFileAttributesA","GetMessageA","DispatchMessageA" -ErrorAction SilentlyContinue | Stop-Process -Force # Supprimer le répertoire temporaire et son contenu Remove-Item -Path $tempDir -Recurse -Force -ErrorAction SilentlyContinue Write-Host "Nettoyage complet."