Analyse malware :
Agent Tesla
Qu’est ce qu’Agent Tesla ?
Agent Tesla est un cheval de Troie basé sur .NET et un voleur d’informations de connexion apparu pour la première fois en 2014. Cette famille a pris un énorme élan pendant la pandémie de 2020.
Ce logiciel est vendu pour quelques dizaines de dollars, avec un support assuré par les auteurs.
La plupart du temps, le vecteur d’attaque est un email malveillant ciblé, dans de nombreux cas envoyé depuis un compte compromis. Cet email contient soit une pièce jointe, soit un lien téléchargeant le malware sur l’ordinateur de la victime. Les documents Office ont été largement utilisés, en exploitant dans certains cas des vulnérabilités telles que CVE-2017-11882 et CVE-2017-8570.
Agent Tesla a évolué au fil des ans pour devenir un voleur d’informations d’identification à part entière. Il continue d’être largement utilisé et constitue une préoccupation majeure pour toute entreprise.
Nous présentons ici une analyse d’un échantillon de malware collecté par l’équipe de Threat Intelligence de Gatewatcher, LastInfoSec, le mercredi 01/12/2022 : un trojan Agent TESLA packé en .NET, obtenu à l’origine sur discord à l’adresse suivante :
Cet article présente un aperçu général de l’échantillon.
Analyse du packer
Le packer est composé de 3 fichiers imbriqués les uns dans les autres, en plus de la charge utile finale. Toutes les charges utiles successives du packer sont des DLL 32 bits .NET 4.0, stockées dans des ressources PE sous forme d’images PNG ou de texte base64.
Les deux premiers binaires (exe principal et PrivateBinPath.dll) contiennent une très petite quantité de code malveillant. La plupart du code provient de logiciels légitimes et de dépôts GitHub et a été fortement obscurci. 2 images PNG sont utilisées pour stocker la DLL, les deux sont chiffrés avec de simples boucles XOR. Le troisième fichier (UI.dll) gère certaines fonctionnalités malveillantes : persistance, détection de sandbox et de VM, et injection de la charge utile finale dans un processus légitime.
Analyse du payload
Nous avons ainsi analysé le flux d’exécution complet de la charge utile.
Ce payload est principalement un voleur d’informations d’identification. Il peut récupérer des informations d’identification à partir d’une longue liste de logiciels:
- Navigateurs Web (48 differents): Opera, Firefox, Chrome, Yandex, Iridium, Chromium, torch Browser, Chedot, Elements Browser, IceCat, waterfox, etc …
- Clients FTP : FTP navigator, Core FTP, WinSCP, IPswitch FTP, FileZilla, smartFTP, FTPGetter
- Clients VNC : RealVNC, TightVNC, cFTP
- Clients de messagerie : Opera mail, Thunderbirds, Claws mail, IncrediMail, Postbox, MailBird, Outlook, Foxmail, Pocomail
- Base de données : MySQLworkbench
- VPN : NordVPN, OpenVPN
- Coffres-forts d’identifiants Windows
Il peut également copier des fichiers depuis les navigateurs (bases de données de cookies SQLite), peut être configuré pour agir comme un keylogger et renvoyer des captures d’écran à son opérateur. Une fonction d’exécution de code à distance est également présente mais était désactivée dans tous les échantillons que nous avons rencontré.
4 méthodes peuvent être configurées pour exfiltrer les informations :
- SMTP: un compte de messagerie s’envoie un mail à lui-même
- FTP: les fichiers sont téléchargés sur un serveur distant
- HTTP: utilise une requête POST multipart pour envoyer un fichier (comme FTP)
- HTTP/TOR: cette méthode peut être configurée pour télécharger et utiliser TOR comme proxy local. La requête HTTP elle-même comporte une couche supplémentaire de chiffrement (TripleDES).
Auteur : Jérémy Beaume