
Analyse en rétro-ingénierie d'Agent Tesla, un infostealer basé sur .NET qui utilise l'injection APC, la manipulation de jetons et la persistance dans le registre. Inclut NtQueueApcThread, NtProtectVirtualMemory et l'extraction complète de la charge utile.
Le dump mémoire de x64dbg révèle qu'Agent Tesla utilise des appels Native API (NT API) pour les opérations de bas niveau, notamment l'injection APC (Asynchronous Procedure Call).
NtQueueApcThread – Injecte du code dans un thread cible via APC.NtReadVirtualMemory – Lit la mémoire d'autres processus.NtQuerySystemInformation – Collecte des informations système.NtCreateThreadEx (probablement présent) – Crée des threads pour l'exécution.
Dump hexadécimal x64dbg montrant NtQueueApcThread, NtReadVirtualMemory et NtQuerySystemInformation.
Le dump x64dbg révèle qu'Agent Tesla utilise des fonctions de manipulation de jetons et de protection mémoire pour obtenir des privilèges élevés et exécuter sa charge utile.
NtOpenThreadToken – Ouvre les jetons de thread pour l'élévation de privilèges.NtProtectVirtualMemory – Modifie la protection des pages mémoire pour l'exécution de la charge utile.NtOpenTimer – Ouvre des objets minuteur pour les tâches planifiées.NtPowerInformation – Interroge l'état d'alimentation (anti-sandbox).NtQueryBootEntry – Récupère les informations de démarrage.
Dump hexadécimal x64dbg montrant NtOpenThreadToken, NtProtectVirtualMemory et NtOpenTimer.
Le dump x64dbg révèle qu'Agent Tesla peut terminer des processus et des threads, ainsi que charger/décharger des pilotes noyau.
NtTerminateProcess – Termine des processus (par ex. EDR/AV).NtTerminateThread – Termine des threads.NtUnloadDriver – Décharge un pilote noyau.NtUnmapViewOfSection – Démappe des sections mémoire (nettoie les traces).NtWaitForSingleObject – Synchronise les opérations de threads/processus.
Dump hexadécimal x64dbg montrant NtTerminateProcess, NtUnloadDriver et NtUnmapViewOfSection.
La section .text du dump mémoire contient la charge utile complète d'Agent Tesla, confirmant ses capacités de voleur d'informations complet.
OpenClipboard, SetClipboardData, EmptyClipboardCreateWindowExW, ShowWindow, SetWindowTextWDeleteFileW, FindFirstFileW, ReadFileGlobalAlloc, LoadLibraryExW, GetModuleHandleWCreateFontIndirectW, CreateBrushIndirect, SelectObject
Vue Binary Ninja de la section .text montrant la liste complète des API Windows utilisées par Agent Tesla.
La liste étendue de la charge utile révèle la capacité d'Agent Tesla à manipuler le registre Windows, à gérer les jetons et à interagir avec les objets COM.
RegOpenKeyExW, RegSetValueExW, RegDeleteKeyW – Persistance et configuration.OpenProcessToken, AdjustTokenPrivileges – Élévation de privilèges.CoCreateInstance, OleInitialize – Interaction avec le système Windows.SHFileOperationW, ShellExecuteExW, SHBrowseForFolderW – Opérations sur les fichiers et dossiers.
Vue Binary Ninja montrant les API liées au registre, aux jetons et à COM.
Cette analyse a mis en évidence Agent Tesla, un voleur d'informations basé sur .NET qui combine des techniques d'injection avancées, la manipulation de jetons et la persistance via le registre.
NtQueueApcThread pour une injection de processus furtive.NtOpenThreadToken et AdjustTokenPrivileges pour l'élévation de privilèges.RegSetValueExW pour la persistance au démarrage..text contenait une liste complète d'API, confirmant sa nature de voleur d'informations.NtQueueApcThread et NtReadVirtualMemory.NtOpenThreadToken et AdjustTokenPrivileges pour les tentatives d'élévation de privilèges.RegSetValueExW et RegOpenKeyExW provenant de processus inhabituels..text pour de grandes listes d'API (par ex. USER32.dll, KERNEL32.dll, ADVAPI32.dll).L'échantillon Agent Tesla analysé est disponible sur MalwareBazaar pour ceux qui souhaitent mener leur propre analyse :
🔗 Échantillon Agent Tesla sur MalwareBazaar
Outils utilisés : x64dbg, Binary Ninja, Process Hacker