La participation a échoué: nous amenons AgentTesla à l'eau potable. Partie 1
Récemment, un fabricant européen d'équipements d'installation électrique a contacté Group-IB - son employé a reçu par courrier une lettre suspecte avec une pièce jointe malveillante. Ilya Pomerantsev, spécialiste de l'analyse des logiciels malveillants chez CERT Group-IB, a effectué une analyse détaillée de ce fichier, y a découvert le logiciel espion AgentTesla et a expliqué à quoi s'attendre d'un tel logiciel malveillant et en quoi il est dangereux.
Avec cet article, nous ouvrons une série d'articles sur la façon d'analyser de tels fichiers potentiellement dangereux, et nous attendons les plus curieux le 5 décembre pour un webinaire interactif gratuit sur le sujet. « Analyse des logiciels malveillants : analyse de cas réels ». Tous les détails sont sous la coupe.
Mécanisme de distribution
Nous savons que le malware a atteint la machine de la victime via des e-mails de phishing. Le destinataire de la lettre était probablement en BCC.
L'analyse des en-têtes montre que l'expéditeur de la lettre a été usurpé. En fait, la lettre laissée avec vps56[.]oneworldhosting[.]com.
La pièce jointe de l'e-mail contient une archive WinRar qoute_jpeg56a.r15 avec un fichier exécutable malveillant QOUTE_JPEG56A.exe à l'intérieur.
Écosystème de logiciels malveillants
Voyons maintenant à quoi ressemble l'écosystème du malware étudié. Le schéma ci-dessous montre sa structure et les directions d'interaction des composants.
Examinons maintenant chacun des composants du malware plus en détail.
Chargeur
Fichier original QOUTE_JPEG56A.exe est un compilé AutoIt v3 scénario.
Pour obscurcir le script original, un obfuscateur avec un Obfuscateur PELock AutoIT caractéristiques
La désobscurcissement s'effectue en trois étapes :
Supprimer l'obscurcissement Pour-si
La première étape consiste à restaurer le flux de contrôle du script. L’aplatissement du flux de contrôle est l’un des moyens les plus courants de protéger le code binaire d’une application contre l’analyse. Les transformations confuses augmentent considérablement la complexité de l’extraction et de la reconnaissance des algorithmes et des structures de données.
Récupération de ligne
Deux fonctions sont utilisées pour chiffrer les chaînes :
gdorizabegkvfca - Effectue un décodage de type Base64
xgacyukcyzxz - XOR simple octet-octet de la première chaîne avec la longueur de la seconde
Supprimer l'obscurcissement BinaireVersChaîne и Exécution
La charge principale est stockée sous une forme divisée dans le répertoire Polices sections de ressources du fichier.
L'ordre de collage est le suivant : TIEQHCXWFG, IME, SPDGUHIMPV, KQJMWQQAQTKTFXTUOSW, AOCHKRWWSKWO, JSHMSJPS, NHHWXJBMTTSPXVN, BFUTIFWWXVE, HWJHO, AVZOUMVFRDWFLWU.
La fonction WinAPI est utilisée pour décrypter les données extraites CryptDéchiffrer, et la clé de session générée en fonction de la valeur est utilisée comme clé fZgFiZlJDxvuWatFRgRXZqmNCIyQgMYc.
Le fichier exécutable déchiffré est envoyé à l'entrée de la fonction RunPEqui réalise ProcessusInjecter в RegAsm.exe en utilisant intégré Code Shell (aussi connu sous le nom Exécuter le code shell). La paternité appartient à l'utilisateur du forum espagnol indétectables[.]net sous le surnom de Wardow.
Il convient également de noter que dans l'un des fils de discussion de ce forum, un obfuscateur pour AutoIt avec des propriétés similaires identifiées lors de l’analyse des échantillons.
Lui-même Code Shell assez simple et attire l'attention uniquement emprunté au groupe de hackers AnunakCarbanak. Fonction de hachage des appels API.
Nous connaissons également des cas d'utilisation Shellcode Frenchy différentes versions.
En plus des fonctionnalités décrites, nous avons également identifié des fonctions inactives :
Blocage de l'arrêt manuel du processus dans le gestionnaire de tâches
Redémarrer un processus enfant lorsqu'il se termine
Contourner l'UAC
Enregistrer la charge utile dans un fichier
Démonstration de fenêtres modales
En attendant que la position du curseur de la souris change
AntiVM et AntiSandbox
Auto destruction
Pompage de la charge utile du réseau
Nous savons qu'une telle fonctionnalité est typique du protecteur ChiffrementIT, qui est apparemment le chargeur de démarrage en question.
Module principal du logiciel
Ensuite, nous décrirons brièvement le module principal du malware et l'examinerons plus en détail dans le deuxième article. Dans ce cas, il s'agit d'une application sur .NET.
Au cours de l'analyse, nous avons découvert qu'un obfuscateur était utilisé ConfuseurEX.
IELibrary.dll
La bibliothèque est stockée en tant que ressource principale du module et est un plugin bien connu pour agent de Tesla, qui fournit des fonctionnalités permettant d'extraire diverses informations des navigateurs Internet Explorer et Edge.
Agent Tesla est un logiciel d'espionnage modulaire distribué à l'aide d'un modèle de malware en tant que service sous le couvert d'un produit d'enregistrement de frappe légitime. L'agent Tesla est capable d'extraire et de transmettre les informations d'identification des utilisateurs des navigateurs, des clients de messagerie et des clients FTP au serveur aux attaquants, d'enregistrer les données du presse-papiers et de capturer l'écran de l'appareil. Au moment de l'analyse, le site officiel des développeurs n'était pas disponible.
Le point d'entrée est la fonction Obtenir les mots de passe enregistrés classe InternetExplorer.
En général, l'exécution du code est linéaire et ne contient aucune protection contre l'analyse. Seule la fonction non réalisée mérite attention GetSavedCookies. Apparemment, les fonctionnalités du plugin étaient censées être étendues, mais cela n'a jamais été fait.
Attacher le chargeur de démarrage au système
Étudions comment le chargeur de démarrage est connecté au système. Le spécimen étudié n'effectue pas d'ancrage, mais dans des événements similaires, cela se produit selon le schéma suivant :
Dans le dossier C:UtilisateursPublic le script est créé Visual Basic
Exemple de scénario :
Le contenu du fichier de chargement est complété par un caractère nul et enregistré dans le dossier %Temp%<Nom du dossier personnalisé><Nom du fichier>
Une clé d'exécution automatique est créée dans le registre pour le fichier de script HKCUSoftwareMicrosoftWindowsCurrentVersionRun<Nom du script>
Ainsi, sur la base des résultats de la première partie de l'analyse, nous avons pu établir les noms des familles de tous les composants du malware étudié, analyser le schéma d'infection, mais également obtenir des objets pour écrire des signatures. Nous continuerons notre analyse de cet objet dans le prochain article, où nous examinerons plus en détail le module principal agent de Tesla. Ne manquez pas!
D'ailleurs, le 5 décembre, nous invitons tous les lecteurs à un webinaire interactif gratuit sur le thème « Analyse des malwares : analyse de cas réels », où l'auteur de cet article, spécialiste du CERT-GIB, montrera en ligne la première étape de analyse des logiciels malveillants - déballage semi-automatique des échantillons en utilisant l'exemple de trois mini-cas réels tirés de la pratique, et vous pouvez participer à l'analyse. Le webinaire s'adresse aux spécialistes ayant déjà de l'expérience dans l'analyse de fichiers malveillants. L'inscription se fait uniquement à partir du courrier électronique de l'entreprise : зарегистрируйтесь. Dans votre attente!