Analyse du Malware Agent Tesla : au cœur des capacités de vol de données du RAT .NET
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Agent Tesla est un cheval de Troie d’accès distant basé sur .NET proposé via un modèle de malware en tant que service et visant les systèmes Windows. Il est conçu pour voler des identifiants, des informations stockées dans le navigateur et des communications utilisateur grâce à des capacités telles que la capture de frappe et de capture d’écran. Le malware prend en charge plusieurs canaux d’exfiltration, notamment le trafic SMTP, FTP et HTTP routé via le réseau Tor.
Enquête
L’article explique comment Agent Tesla fonctionne, depuis la livraison initiale par hameçonnage jusqu’à la persistance et le vol de données éventuels. Il met en évidence l’utilisation de l’API SetWindowsHookEx pour la capture de frappe et décrit l’accent mis par le malware sur les données du navigateur et les emplacements de stockage des clients de messagerie. L’analyse montre également comment le malware utilise le navigateur Tor pour aider à masquer le trafic d’exfiltration.
Atténuation
Les organisations doivent déployer des contrôles de sécurité de messagerie solides pour bloquer les pièces jointes malveillantes telles que les fichiers .chm et les documents avec macros activées. La surveillance des changements de registre non autorisés dans les clés Run et les valeurs WinlogonShell est également importante. De plus, bloquer les méthodes connues d’exfiltration et surveiller toute activité réseau inhabituelle liée à Tor peut aider à réduire l’impact d’un compromis.
Réponse
Si Agent Tesla est détecté, isolez immédiatement le hôte Windows affecté pour arrêter toute exfiltration supplémentaire. Réalisez une analyse médico-légale pour identifier la source d’infection originale, telle qu’un e-mail de phishing ou une pièce jointe armée. Examinez les emplacements du registre et les dossiers de démarrage pour les mécanismes de persistance, et supprimez les fichiers temporaires ou artefacts associés au malware.
graph TB %% Class Definitions Section classDef technique fill:#99ccff %% Blue color for MITRE Techniques classDef malware fill:#ff9999 %% Red color for Malware classDef file fill:#cccccc %% Grey color for Files and Artifacts classDef action fill:#ccffcc %% Green color for Actions/Processes %% Initial Access Phase action_phishing[« <b>Technique</b> – <b class=’technique’>T1566.001 Phishing: Spearphishing Attachment</b><br/><b>Description</b>: Emails containing malicious attachments<br/>such as .gz, .chm, or macro-enabled Word docs. »] class action_phishing action file_payloads[« <b class=’file’>Malicious Attachments</b><br/><b>Types</b>: .gz archives, .chm files, or Word documents<br/>containing macros. »] class file_payloads file action_phishing –>|delivers| file_payloads %% Execution and Loading Phase technique_obfuscation[« <b class=’technique’>T1027.009 Obfuscated Files or Information: Embedded Payloads</b><br/><b>Description</b>: Obfuscated scripts used to download<br/>additional payloads. »] class technique_obfuscation technique malware_agent_tesla[« <b class=’malware’>Malware</b> – <b class=’malware’>Agent Tesla</b><br/><b>Description</b>: .NET-based information stealer<br/>loaded directly into system memory. »] class malware_agent_tesla malware technique_reflective[« <b class=’technique’>T1620 Reflective Code Loading</b><br/><b>Description</b>: Loading the final payload<br/>directly into system memory to avoid disk detection. »] class technique_reflective technique file_payloads –>|triggers| technique_obfuscation technique_obfuscation –>|loads_via| technique_reflective technique_reflective –>|instantiates| malware_agent_tesla %% Reconnaissance Phase technique_sysinfo[« <b class=’technique’>T1082 System Information Discovery</b><br/><b>Description</b>: Collecting username, computer name,<br/>and OS version. »] class technique_sysinfo technique technique_hostinfo[« <b class=’technique’>T1592 Gather Victim Host Information</b><br/><b>Description</b>: Collecting specific data regarding<br/>the victim host. »] class technique_hostinfo technique malware_agent_tesla –>|performs| technique_sysinfo malware_agent_tesla –>|performs| technique_hostinfo %% Persistence Phase technique_registry[« <b class=’technique’>T1547.001 Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder</b><br/><b>Description</b>: Modifying Windows Run registry keys,<br/>Winlogon Shell, and dropping binaries in Startup folder. »] class technique_registry technique file_startup_bin[« <b class=’file’>Persistence Binary</b><br/><b>Location</b>: Dropped into the Startup folder. »] class file_startup_bin file malware_agent_tesla –>|establishes| technique_registry technique_registry –>|drops| file_startup_bin %% Collection and Credential Access Phase technique_keylogging[« <b class=’technique’>T1056.001 Input Capture: Keylogging</b><br/><b>Description</b>: Using SetWindowsHookEx API to log keystrokes. »] class technique_keylogging technique file_log[« <b class=’file’>Log File</b><br/><b>Path</b>: %temp%log.tmp »] class file_log file technique_cookies[« <b class=’technique’>T1539 Steal Web Session Cookie</b><br/><b>Description</b>: Parsing SQLite databases in browsers<br/>(Chrome, Firefox, Edge) to extract cookies. »] class technique_cookies technique technique_forge[« <b class=’technique’>T1606.001 Forge Web Credentials: Web Cookies</b><br/><b>Description</b>: Extracting passwords and session data. »] class technique_forge technique technique_account_disc[« <b class=’technique’>T1087 Account Discovery</b><br/><b>Description</b>: Extracting details from email clients<br/>(Outlook, Thunderbird) and FTP tools (FileZilla). »] class technique_account_disc technique malware_agent_tesla –>|executes| technique_keylogging technique_keylogging –>|writes_to| file_log malware_agent_tesla –>|targets| technique_cookies malware_agent_tesla –>|targets| technique_forge malware_agent_tesla –>|performs| technique_account_disc %% Exfiltration Phase technique_exfil_alt[« <b class=’technique’>T1048 Exfiltration Over Alternative Protocol</b><br/><b>Description</b>: Sending stolen data via SMTP, FTP, or HTTP. »] class technique_exfil_alt technique technique_auto_exfil[« <b class=’technique’>T1020 Automated Exfiltration</b><br/><b>Description</b>: Using Tor to anonymize network traffic. »] class technique_auto_exfil technique file_tor[« <b class=’file’>Tor Browser</b><br/><b>Location</b>: %appdata%tor.zip »] class file_tor file malware_agent_tesla –>|exfiltrates_via| technique_exfil_alt malware_agent_tesla –>|utilizes| technique_auto_exfil technique_auto_exfil –>|downloads| file_tor
Flux d’attaque
Détections
Binaire / Scripts suspects dans l’emplacement Autostart (via file_event)
Voir
Points de Persistance Possibles [ASEPs – Logiciel/NTUSER Hive] (via registry_event)
Voir
Détection de Keylogging et de Persistance d’Agent Tesla [Création de processus Windows]
Voir
Persistance d’Agent Tesla via la modification de la clé de démarrage et du Shell de Winlogon [Événement de registre Windows]
Voir
Exécution de simulation
Pré-requis : La vérification de télémétrie et de ligne de base doit avoir été réussie.
Raisonnement : 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 TTPs identifiés et viser à générer exactement la télémétrie attendue par la logique de détection. Des exemples abstraits ou non liés entraîneront un mauvais diagnostic.
-
Narratif & Commandes d’attaque : L’adversaire a acquis un accès initial et cherche à établir une persistance pour maintenir l’accès à la machine de la victime. Pour simuler Agent Tesla, l’attaquant effectue deux actions distinctes :
- Ils modifient la clé
HKCUSoftwareMicrosoftWindowsCurrentVersionRunpour exécuter une charge utile malveillante chaque fois que l’utilisateur se connecte. - Ils tentent une technique plus agressive en modifiant la valeur du registre
WinlogonShell, remplaçant leexplorer.exestandard par un exécutable malveillant pour détourner l’environnement entier de shell utilisateur. Ces actions sont choisies pour tester la capacité de détection à attraper à la fois la persistance du registre standard et à fort impact.
- Ils modifient la clé
-
Script de test de régression :
# Script de simulation pour les TTPs de persistance d'Agent Tesla $maliciousPath = "C:WindowsTempagent_tesla_sim.exe" Write-Host "[*] Création d'une charge utile factice à $maliciousPath" New-Item -Path $maliciousPath -ItemType File -Force Write-Host "[*] Simulation de T1547.001 : Modification de la clé de démarrage" $runKey = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" New-ItemProperty -Path $runKey -Name "AgentTeslaPersistence" -Value $maliciousPath -PropertyType String -Force Write-Host "[*] Simulation de T1547.014 : Modification du Shell de Winlogon" $winlogonKey = "HKCU:SoftwareMicrosoftWindows NTCurrentVersionWinlogon" New-ItemProperty -Path $winlogonKey -Name "Shell" -Value "explorer.exe, $maliciousPath" -PropertyType String -Force Write-Host "[+] Simulation terminée. Vérifiez les alertes dans SIEM." -
Commandes de nettoyage :
# Script de nettoyage pour retirer la persistance et les fichiers factices Write-Host "[*] Nettoyage des clés de registre..." Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" -Name "AgentTeslaPersistence" -ErrorAction SilentlyContinue Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftWindows NTCurrentVersionWinlogon" -Name "Shell" -ErrorAction SilentlyContinue Write-Host "[*] Suppression de la charge utile factice..." Remove-Item -Path "C:WindowsTempagent_tesla_sim.exe" -Force -ErrorAction SilentlyContinue Write-Host "[+] Nettoyage terminé."