13 avril 2022

Qu'est-ce que le logiciel espion Agent Tesla et comment fonctionne-t-il ?

Par Ofir Yaakobi
Logiciels malveillantsAnalyse des menacesDatto MDR

Agent Tesla est un cheval de Troie espion extrêmement répandu, conçu pour le framework .NET et observé depuis 2014, avec de nombreuses versions mises à jour depuis. Il est utilisé pour dérober des informations sensibles sur l'appareil d'une victime, telles que les identifiants de connexion, les frappes au clavier, les données du presse-papiers, les identifiants de navigation et d'autres données. Ces informations peuvent ensuite être revendues, utilisées à des fins de renseignement commercial ou pour extorquer des rançons. Agent Tesla est généralement diffusé via des campagnes d'hameçonnage et est vendu et distribué sur de nombreux forums et plateformes de piratage, où il est accessible à tous. Ce logiciel espion est facile à obtenir et à personnaliser, ce qui explique sa grande popularité.

Infection

Les pièces jointes malveillantes dans les courriels d'hameçonnage constituent la méthode de déploiement la plus courante de l'agent Tesla. Il a été observé qu'il tombait de documents armés qui téléchargeaient le logiciel malveillant.

Dans notre échantillon, le courriel d'hameçonnage contenait un fichier RTF (Rich Text Format) fortement obscurci exploitant la vulnérabilité CVE-2017-11882 pour diffuser le logiciel espion. Cette vulnérabilité, vieille de 20 ans, exploite l'Éditeur d'équations de Microsoft, un ancien composant de Microsoft Office, qui présente une faille de dépassement de tampon de pile permettant l'exécution de code à distance sur un système vulnérable. Bien que Microsoft ait corrigé cette vulnérabilité en 2017, elle est restée très répandue, même 20 ans plus tard.

Pour tromper les solutions de sécurité, les attaquants exploitent le Microsoft Object Linking and Embedding ainsi que de nombreux mots de contrôle dans le corps du RTF, de sorte que les analyseurs syntaxiques ignorent tout ce qu'ils ne connaissent pas et que les outils de sécurité ne bloquent pas le document parce qu'il est malveillant. La capture d'écran ci-dessous montre que les pirates utilisent le mot de contrôle "\objupdate". Cela oblige l'objet intégré dans le fichier RTF à se mettre à jour avant d'être affiché. En d'autres termes, contrairement à ce qui se passe habituellement, l'utilisateur n'a pas besoin de cliquer sur l'objet avant qu'il ne soit chargé. En forçant la mise à jour du fichier, l'exploit démarre immédiatement, sans interaction ni connaissance de la part de l'utilisateur.

Lorsqu'une victime ouvre le fichier, elle envoie d'abord une requête HTTP pour télécharger la charge utile exécutable de l'agent Tesla et l'exécuter.

Analyse technique

L'agent Tesla, qui est un logiciel malveillant compilé en .NET, passe par plusieurs couches de décompactage pour déployer sa charge utile finale, en commençant par l'exécutable téléchargé et en passant par deux étapes de DLL. Il tire parti de la stéganographie pour cacher et décoder dynamiquement sa deuxième étape en dissimulant son exécutable dans une image, comme on peut le voir ci-dessous.

L'agent Tesla utilise de nombreuses techniques pour échapper à la détection et à l'analyse. L'examen des trois binaires dans un décompilateur .NET montre que les noms de fonctions et les chaînes de caractères du fichier sont fortement obscurcis.

Lors de l'exécution, le module de première étape décrypte dynamiquement les données de ressources collectées (PE stocké dans l'image) obtenues à partir d'un "ResourceManager" pour récupérer le module de deuxième étape appelé "UKRUSAIN" et le charger dans la mémoire.

Avant de continuer à récupérer le dernier module dll, le dropper effectue une vérification anti-VM, notamment pour savoir si le malware s'exécute sur une VM "Sandboxie". Si la vérification est positive, il quitte le processus et ne livre pas l'étape suivante.

Dans le cadre de l'approche par couches d'Agent Tesla, un fichier PE chiffré est présent dans les données de ressources du module DLL de la deuxième étape ; il s'agit de la charge utile finale à récupérer. Un gestionnaire de ressources est créé pour lire la ressource « RP2 ». Une opération XOR est ensuite effectuée sur les données de ressources collectées afin de déchiffrer le module DLL nommé « RunPe2-(dll) », qui est ensuite chargé en mémoire.
Lecture des données de ressources, transmission à l'opération XOR et chargement en mémoire

Après cette étape, le chargeur final lance un outil d'installation légitime des services Microsoft .NET (Installutil.exe) en mode suspendu. L'agent Tesla libère la mémoire d'Installutil.exe, la remplace par son code malveillant et reprend le processus suspendu. Cette technique, appelée « process hollowing » , permet au logiciel malveillant de masquer ses activités en se faisant passer pour un processus légitime.

Vol de données

Le nouveau processus commence par la recherche, sur l'hôte, d'informations telles que le nom de l'ordinateur actif, les clients de messagerie, les utilitaires FTP, les clients VNC et les navigateurs Web.
La plupart des échantillons d'Agent Tesla contiennent une longue liste prédéfinie de navigateurs Internet que le logiciel malveillant tente de détecter sur la machine de la victime. Si ces navigateurs sont trouvés, il vérifie ensuite la présence du répertoire « User Data » et du fichier « Login Data » qui contiennent les adresses électroniques et les identifiants des profils enregistrés.

L'agent Tesla recherchera également la présence de différents clients de messagerie. S'il en trouve, il tentera de voler leurs identifiants de connexion.
Les utilitaires FTP sont également ciblés dans le but de voler les identifiants de connexion.
Certains échantillons, y compris le nôtre, ont également la capacité de rechercher d'autres logiciels et utilitaires sur la machine d'une victime, principalement pour le vol d'identifiants – tels que la recherche de VPN, de clients VNC, etc.

Envoi de données volées à l'attaquant

Une fois que le logiciel malveillant a récupéré toutes les informations d'identification et autres données de la victime, il les envoie via le protocole SMTP :

Indicateurs de compromission (IOC) - SHA1 :

Fichier RTF initial : d0a83aaadb0b181679410760e328f21022a784ea

1ère charge utile exécutable : da3c7819a7ff635afcc0090613504a89d9c7195d

2e charge utile DLL : 999F1A288B323BD0E22CB6B3CAEB0DBE6E47A35C

3e charge utile DLL : 034EC11A18822A6315A988B129BA11632EE31EB0

Comment se protéger de l'agent Tesla ?

Comme indiqué, Agent Tesla est généralement diffusé par le biais d'e-mails d'hameçonnage. La solution la plus efficace pour se protéger contre ce logiciel malveillant est une protection avancée contre les menaces pour les e-mails. Datto SaaS Defense, la solution de protection avancée de Datto pour la suite Microsoft 365, protège contre l'hameçonnage et de nombreux types de logiciels malveillants. Sa technologie indépendante des données analyse les pièces jointes, les liens et le contenu des e-mails afin de détecter les menaces inconnues dès leur première rencontre, avant même qu'elles n'atteignent l'utilisateur final.

Pour découvrir comment SaaS Defense peut vous aider à protéger vos clients contre les cyberattaques les plus sophistiquées, demandez une démonstration à l'un de nos représentants.

Essayez gratuitement la solution de protection SaaS de Datto. Commencez votre essai gratuit de 14 jours dès aujourd'hui. 

Prochaines lectures suggérées