Maison > Article > Opération et maintenance > Qu'est-ce que l'organisation Turla ?
Turla est également connue sous les noms de Serpent, Uroburos, Waterbug et WhiteBear. Après avoir été divulguées par GData en 2014, Kaspersky, Symantec et ESET ont continué à suivre et à analyser l'organisation. L’heure de compilation des fichiers malveillants utilisés par le groupe peut être repoussée à 2011. Datant de 2006, le fichier malveillant Agent.BTZ est associé à cette organisation. Cette conclusion est basée sur une comparaison du code et des fonctions. On peut donc en déduire que l’organisation a commencé à attaquer dès 2006.
L'équipe Turla utilise la technologie rootkit pour surveiller les ordinateurs afin de réaliser le vol de données. Cette méthode est très pratique dans les premières versions de Windows et peut efficacement se cacher dans l'ordinateur et disposer d'autorisations plus élevées. À partir de Windows Vista, Microsoft a renforcé son contrôle sur le processus de chargement des pilotes tiers, exigeant un certificat et le consentement de l'utilisateur avant de pouvoir les installer normalement. Par conséquent, l’organisation Turla s’est tournée vers un processus d’intrusion plus complexe et a implanté un logiciel de contrôle à distance sans kits rootkit pour collecter des informations, mais cela a augmenté les chances de découverte.
Les cibles de l'attaque de Turla couvrent les agences gouvernementales, les ambassades, les institutions militaires, les instituts de recherche pédagogique et les sociétés pharmaceutiques. Initialement divulgué à la suite d’attaques contre les services de renseignement américains. Ces dernières années, l’organisation a ciblé les serveurs du ministère allemand des Affaires étrangères et des sociétés militaires françaises et a volé une grande quantité d’informations de renseignement.
Après avoir analysé le malware utilisé par l'organisation Turla, les informations suivantes ont été résumées :
1. Les informations de débogage fournies par l'attaquant lors de l'écriture du malware sont en anglais, mais pas de langue maternelle
2. L'infrastructure de l'attaquant vient de Russie
3. La langue par défaut utilisée par l'attaquant est le russe
4. Des traces similaires sont également apparues dans Agent.BTZ.
Par conséquent, elle est désignée comme une organisation d'attaque menaçante originaire de Russie.
La méthode de l'organisation Turla pour détruire les équipements de défense consiste à utiliser des attaques au harpon et des attaques par points d'eau en utilisant des méthodes d'ingénierie sociale.
Lors de l'attaque initialement découverte, l'attaquant a utilisé un fichier PDF vulnérable et l'a envoyé par e-mail. Utilisez des techniques d'ingénierie sociale pour inciter les utilisateurs à cliquer sur le fichier PDF et à le transmettre à des collègues ou à des supérieurs. Dans le même temps, il existe également un programme d'installation de logiciels malveillants avec l'extension « .SCR » dans la pièce jointe, qui libère le fichier RAR lors de l'installation et ouvre le fichier PDF normal intégré.
Image d'un fichier PDF normal
Une méthode d'attaque similaire à celle-ci a été utilisée par Fuying Labs dans Avril Les articles publiés sur les attaques épidémiques sont également analysés en détail.
De 2010 à 2016, l'organisation a toujours utilisé des navigateurs pour mener des attaques, y compris des attaques de point d'eau et des vulnérabilités 0day. L'attaquant implante le script JavaScript malveillant identifié dans la figure ci-dessous dans le site Web de l'attaque. Lorsque l'utilisateur visite le site Web compromis, le script JavaScript est exécuté.
Après tri, nous avons obtenu tous les sites internet qui ont été attaqués ainsi que leurs noms :
#🎜 🎜#
Les sites Web mentionnés ci-dessus ont été utilisés comme sites d'attaques de points d'eau entre 2014 et 2017. Ces sites étaient intégrés avec du code JavaScript et étaient exécutés lors de la visite des utilisateurs. La plupart de leurs fonctions consistaient à obtenir le plug-in du navigateur. liste. Résolution d’écran et autres informations. Dans le même temps, Turla sélectionnera activement les utilisateurs qui l'intéressent lorsqu'il mènera des attaques et fournira des fichiers malveillants. La forme la plus importante consiste à utiliser de faux packages d'installation Adobe Flash pour installer des portes dérobées.http://get.adobe.com/flashplayer/download/?installer=Flash_Player,这个地址与正常下载Adobe的域名相同,协议不同。分析认为,这里是为了绕过Adobe检测机制而插入的referer信息,以便于能够正常访问到admdownload.adobe.com。
Turla组织常用RAT简析
在侵入内部网络后,Turla组织会对目标进行筛选,挑选出感兴趣的,具有高价值信息的目标,并在感染设备上投放恶意软件。从2011年起至今,Turla被发现针对Windows、Linux、MacOS平台均开发了对应的恶意软件,持续窃取机密信息。
该后门会对环境进行检测和处理,通过识别一些网络监测工具来判断是否可以执行,包括:tcpdump.exe、windump.exe、ethereal.exe、wireshark.exe、dsniff.exe。在与C2进行通信则采用了HTTP协议,通过对
La porte dérobée utilise un identifiant pour marquer la victime. Lors de la première communication, un paquet de données contenant des informations informatiques sera envoyé au C2, et un algorithme de cryptage sera utilisé pour crypter le contenu envoyé, mais l'attaquant le fera également. utiliser la clé. Elle est transmise de cette manière afin que le trafic puisse être décrypté et analysé.
Lorsque l'organisation Turla détermine que la cible mérite de nouvelles attaques sur la base des informations renvoyées, l'attaquant déploiera la porte dérobée de deuxième étape sur l'appareil cible. La porte dérobée de première étape peut être comprise comme un test d'attaque par l'organisation Turla. Cette méthode peut efficacement éviter de télécharger Uroburos sur des appareils non liés et réduire le risque d'exposition.
Uroburos est la porte dérobée la plus célèbre lorsque Turla a été découverte pour la première fois, il s'agissait d'une porte dérobée de rootkit extraite de l'appareil compromis. Afin de garantir la furtivité et l’efficacité de l’attaque, l’attaquant a également utilisé un système de fichiers virtuel crypté tout en utilisant la porte dérobée.
Uroburos garantit qu'il peut continuer à résider dans le système en créant des services. Les informations de valeur de clé suivantes peuvent être trouvées dans le registre :
HKLMSystemCurrentControlSetServicesUltra3
Les principales fonctions d'Uroburos sont les suivantes :
l Crochet de fonction clé
l Décrypter le système de fichiers virtuel
l Injecter la couche Ring3
l Communication C&C
l Capture de paquets
Hook en ligne
Uroburos utilise le hook en ligne pour modifier les fonctions clés, telles que :
ZwQueryKey(), ZwEnumerateKey() , Les hooks de fonction ZwCreateKey() et ZwSaveKey() sont utilisés pour masquer les clés de persistance ajoutées dans le registre.
Le hook de fonction ZwReadFile() consiste à masquer son propre fichier.
Le hook de fonction ZwQuerySystemInformation() consiste à masquer l'objet pilote.
Le hook de fonction ZwTerminateProcess() sert à nettoyer l'environnement lorsqu'il cesse de fonctionner et à éviter des problèmes tels que les écrans bleus.
Accrochez la fonction ObOpenObjectByName() pour masquer le système de fichiers virtuel.
Liste partielle des fonctions de hook
Uroburos fournit deux systèmes de fichiers virtuels, NTFS et FAT32, pour s'adapter aux appareils dans différentes situations. Grâce à ce système de fichiers virtuel, les attaquants peuvent stocker des données volées dans le système. , des outils de piratage ou l'exécution d'informations de journal qui doivent être sorties, et en accrochant la fonction du noyau, cela évite également au logiciel antivirus de trouver le système de fichiers virtuel, améliorant ainsi la dissimulation en même temps, car il n'occupe pas. le disque système, il est du côté de l'utilisateur. La perception est presque 0.
Le système de fichiers virtuel est crypté à l'aide de CAST-128. La clé est codée en dur dans le fichier du pilote et déchiffrée lorsque le pilote est monté et exécuté. Après le décryptage, le script .bat est stocké dans le système de fichiers. exécuté à l'aide de la commande net de découverte de machines intranet, obtenant des informations de base sur les machines du réseau local pour une utilisation en mouvement latéral.
Il existe également un fichier de file d'attente dans le système de fichiers. Chaque fichier de file d'attente contient un uid, un type, un horodatage et une charge utile. La charge utile comprend également une clé pour le déchiffrement. L'analyse d'autres enregistrements de capture de fichiers révèle que des fichiers de configuration et d'autres types de fichiers peuvent également être inclus.
Uroburos prend en charge la capture du trafic, la modification et l'interception des paquets de données. Il peut gérer le trafic des protocoles HTTP, ICMP et SMTP et obtenir des informations de transmission de la couche application via des canaux nommés.
Dans le même temps, l'attaquant a réservé des interfaces pour ajouter de nouveaux protocoles et de nouvelles méthodes pour traiter le trafic. L'attaquant atteint l'objectif d'attaques continues en mettant à jour les fichiers contenus dans le système de fichiers virtuel.
Uroburos fournit des méthodes de communication TCP, enc, np, fiables, frag, udp, m2d, doms, t2m, domc. Vous pouvez voir dans le code que np, fiable, frag, enc, m2b et m2d communiquent via NamedPipe. TCP et UDP construisent tous deux des paquets de données au niveau de la couche pilote pour la communication.
Dans les premiers stades de l'intrusion, l'attaquant déterminera la valeur de la cible attaquée. Après avoir éveillé son intérêt, l'attaquant implantera la porte dérobée Carbon dans l'appareil. Carbon est un outil modulaire qui réalise les fonctions correspondantes en remplaçant différents plugins.
Dans le premier échantillon Carbon capturé, son module de plug-in a été placé dans la section des ressources. Le module le plus important est un module appelé carbon_system.dll, qui a deux fonctions exportées, ModuleStart et ModuleStop. Dans la fonction ModuleStart, plusieurs mutex sont créés pour distinguer les différentes unités de module, et un fichier journal est créé dans le répertoire System\ pour enregistrer les informations de débogage générées lors de l'exécution.
carbon_system.dll, en tant que module de fonction principal, créera une fenêtre nommée pipe pour la communication entre les autres modules, recevra les informations obtenues par d'autres modules fonctionnels et les écrira dans un fichier en attendant le téléchargement. carbon_system.dll obtient des informations sur le disque via GetDiskFreeSpaceExA pour surveiller l'utilisation du disque. Lorsque le disque est plein, il écrira des « informations d'aide » dans le fichier journal à télécharger pour informer l'attaquant.
carbon_system.dll appelle d'autres modules via LoadLibrary et appelle la fonction de démarrage pour démarrer, en enregistrant l'heure de démarrage, le nom du module et d'autres informations dans le journal.
Il collectera également des informations sur les processus exécutés sur l'appareil actuel, surveillera les modifications des processus et enregistrera les informations sur les processus dans des fichiers journaux. De même, les canaux sont toujours utilisés pour la transmission de données.
Carbon lira les informations de tâche spécifiques du fichier de configuration lors de l'exécution d'une tâche :
task_id | task_config_filepath | task_result_filepath | [execution_mode | username]
Chaque tâche a son propre numéro d'identification indépendant, spécifiez le nom d'utilisateur. mode et méthode via des paramètres supplémentaires.
carbon_system.dll est comme un terminal de contrôle. C'est un kit d'attaque développé systématiquement. Vous pouvez ajouter ou supprimer des modules à volonté. Il vous suffit de fournir la fonction d'exportation correspondante pour l'appeler. générées par différents modules. Les informations du journal sont utilisées pour déterminer si la commande a été exécutée avec succès, ce qui masque également dans une certaine mesure les activités de l'attaquant.
De plus, Turla fournit également une version 64 bits de carbon_system.dll pour une utilisation dans les environnements x64. Cobra est le nom du projet qui peut être vu dans les informations PDB que Turla n'a pas supprimé dans la version 64 bits.
f : WorkshopProjectscobracarbon_systemx64Releasecarbon_system.pdb
Cependant, les informations PDB n'ont pas été trouvées dans la version x86, une fois la compilation terminée, l'attaquant n'a pas opéré sur la version x64 et l'a directement empaquetée dans le fichier de chargement de carbon_system.
La différence entre carbon v3.51 et la version initiale mentionnée dans la section 4.3 réside dans la partie communication. Dans la v3.51, il interagit avec C2 via des requêtes http et les remplit de manière aléatoire. . Par exemple : www.yahoo.com, www.bbc.com, www.google.com et d'autres noms de domaine sont utilisés pour masquer leur propre trafic. Certaines des informations téléchargées et obtenues sont enregistrées dans le fichier \\.\IdeDrive1\. Milieu du fichier \Results\result.txt. Le répertoire \\.\IdeDrive1\\ mentionné ici est un répertoire du système de fichiers virtuel.
Dans cette version, l'attaquant a supprimé la fonction de surveillance des fichiers disque et ne signale plus l'état de stockage de l'appareil infecté afin de réduire la quantité de données lors de la transmission des informations. L'acquisition des processus en cours d'exécution est concentrée sur tcpdump.exe, windump.exe, windump.exe, wireshark.exe, wireshark.exe et snoop.exe. Lorsqu'un tel processus est découvert, un journal sera enregistré et renvoyé :
Certaines informations de débogage peuvent être trouvées dans la version v3.61 du module carbon. Différente de la version précédente, cette fois les informations de débogage sont. retenu Parmi les fichiers malveillants de l'architecture x86, ils n'ont pas été nettoyés :
La partie chargeur de la porte dérobée va d'abord s'auto-décrypter pour obtenir le code. Recherchez l'adresse de la fonction à appeler en calculant la valeur de hachage du nom de la fonction, en prenant le code déchiffré comme exemple. Ces deux fonctions ne sont pas stockées cryptées et leurs codes peuvent être directement vus via des outils tels que IDA. La fonction d'auto-décryptage est sub_5711E0 et la fonction de calcul de hachage est sub_570E10. Après avoir terminé l'importation de la fonction, lisez les données de son propre fichier et décryptez-les. La fonction de décryptage est sub_56D480. Après le décryptage, il y a deux fichiers PE et écrits sur le disque.
Le contenu du journal est écrit dans le fichier %APPDATA%Roamingkb6867.bin.
Le fichier publié contient le programme principal de porte dérobée, qui est chargé via le chargeur. Pendant l'exécution, la table EAT est modifiée pour ajouter des fonctions d'exportation, et la table d'exportation d'origine est modifiée.
La fonction remplacée déchiffre d'abord le nom du fichier de bibliothèque crypté et le nom de la fonction, et obtient l'adresse de la fonction par chargement dynamique, puis crée un canal nommé nommé \.pipems32loc, puis crée un thread et attend une autre connexion de processus. Cette porte dérobée écrit des informations de configuration de base en définissant des clés de registre. Lors de l'enregistrement des informations dans le registre, veuillez utiliser le chemin suivant : HKCUSoftwareMicrosoft[dllname] et remplissez les informations correspondantes
4.6 La porte dérobée de la deuxième étape - Porte dérobée Javascript
Le premier JavaScript est utilisé pour remplacer la porte dérobée Mosquito, en utilisant Faux package d'installation d'Adobe Flash Player à installer.
Récupérez les données renvoyées et décodez-les avec base64 pour exécution.
Le deuxième fichier JavaScript lit %programdata%1.txt et exécute son contenu à l'aide de la fonction eval. Ajoutez local_update_check dans HKLM LOGICIEL Microsoft Windows CurrentVersion Run pour démarrer au démarrage.
Cette porte dérobée se propage à travers les documents et utilise des macros pour attaquer. Dans le code de la macro, le débogage peut constater que le code initial exécute l'algorithme xor sur les données décryptées. , les données déchiffrées sont écrites dans le fichier mailform.js et le fichier publié est stocké dans le chemin %APPDATA%MicrosoftWindows :
Exécuter le formulaire de courrier .js, transmettez le paramètre NPEfpRZ4aqnh2YuGwQd0, qui est la clé R** et est responsable du déchiffrement des données intégrées. Après décodage, il s'agit toujours d'un fichier JavaScript, qui est la porte dérobée de KopiLuwak.
Déplacez vos propres fichiers vers différents dossiers en fonction des différentes versions du système :
c:Users
#🎜 🎜 #tasklist /v
gpresult /z
netstat -nao
ipconfig /all
arp -a#🎜🎜 ## 🎜🎜#net share
net use
net user
net user Administrator
net user /domain #🎜 🎜#
administrateur d'utilisateurs net /domainsetdir %systemdrive%Users*.*dir %userprofile% AppDataRoamingMicrosoftWindowsRecent* .*dir %userprofile%Desktop*.*tasklist /fi « modules eq wow64.dll »tasklist /fi « modules ne wow64.dll”dir “%programfiles(x86)%”dir “%programfiles%”dir %appdata%# 🎜🎜 #La porte dérobée a deux adresses intégrées : http://soligro.com/wp-includes/pomo/db.php, http://belcollegium.org/wp-admin/includes/class- wp-upload -plugins-list-table.php, utilisé pour la communication. On peut déduire du chemin que le deuxième site Web utilise WordPress et a été compromis par l'attaquant pour l'hébergement C2.
Utilisez la méthode POST pour envoyer les données cryptées susmentionnées à l'un de ces deux sites Web, dans lesquels le champ User-Agent envoyé est rempli avec "Mozilla/5.0 (Windows NT 6.1; Win64; x64); De plus, un UID généré par le nom de l'ordinateur actuel est ajouté à la fin. L'algorithme est le suivant, où zIRF représente la chaîne "KRMLT0G3PHdYjnEm" et Vxiu représente le nom d'utilisateur actuel de l'ordinateur :
#🎜. 🎜#C2 reçoit les données Après cela, quatre commandes seront répondues :
Lorsque la commande de travail est reçue, toutes les informations collectées seront renvoyées à C2 lorsque la commande d'échec est reçue. reçu, le registre HKEY_CURRENT_USERsoftwaremicrosoftwindowsccurrentversionrun sera effacé.Summary
L'organisation Turla est actuellement l'un des groupes APT qui utilise les outils d'attaque les plus sophistiqués. Les ministères et les armées des pays européens, d'Europe et des Amériques ainsi que les agences de renseignement d'autres pays ont utilisé leurs armes auto-développées pour lancer des attaques. Ces armes ont des caractéristiques évidentes. s'est tourné vers l'utilisation à grande échelle de plates-formes open source, telles que MSF, Backdoors, les attaques d'intrusion, les outils de mouvement latéral, etc. construits par Cobalt Strike, couvrent leurs actions dans un grand nombre d'activités d'attaque afin d'obtenir plus d'informations de renseignement et de retard le moment de la découverte et de la détection.
En même temps, cette organisation est douée pour utiliser les sites Web de flaques d'eau pour infiltrer les cibles. Il n'est donc pas facile d'être découvert pendant longtemps. concentrez-vous sur les enregistrements d'accès aux pages Web, vérifiez les sites Web gouvernementaux et de base avec des noms de domaine falsifiés, et cela réduira le risque d'être attaqué .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!