Maison  >  Article  >  Opération et maintenance  >  Comment utiliser le nouveau framework APT de la NSA, DarkPulsar

Comment utiliser le nouveau framework APT de la NSA, DarkPulsar

王林
王林avant
2023-05-18 20:14:581235parcourir

Avant-propos

En mars 2017, ShadowBrokers a publié un document confidentiel qui a choqué le monde, comprenant deux frameworks : DanderSpritz et FuzzBunch.

DanderSpritz est un pur plug-in conçu pour collecter des renseignements, exploiter les vulnérabilités et contrôler les appareils qui ont été pris en charge. Il est écrit en Java et fournit une interface graphique similaire au panneau de gestion du botnet et un panneau de contrôle similaire à l'outil Metasploit. Il intègre également des portes dérobées et des plugins pour les appareils non contrôlés par FuzzBunch.

Comment utiliser le nouveau framework APT de la NSA, DarkPulsar

Interface DanderSprit

Vue d'ensemble

Fuzzbunch fournit un cadre permettant à différents utilitaires d'interagir et de travailler ensemble, contenant différents types de plug-ins dans le but d'analyser des objets, d'exploiter des vulnérabilités, de planter des tâches, etc. Les fichiers du package du plugin du framework FuzzBunch sont divisés en trois types :

%pluginName%-version.fb

Il s'agit du fichier utilitaire du framework. Il copie l'en-tête du XML et contient l'ID du plugin.

%pluginName%-version.exe

Exécutez ce fichier exécutable lorsque FuZZbuNch reçoit la commande d'exécution.

%pluginName%-version.xml

Ce fichier de configuration décrit le nom, le type et la description des paramètres d'entrée et de sortie du plugin. Ces informations peuvent être affichées via l'interface FuzzBunch. Cette norme de classification des types de fichiers spécifie la définition des paramètres par défaut, améliorant ainsi l'opérabilité du framework.

ImplantConfig est une boîte à outils appelable Fuzzbunch qui contient un module de gestion nommé DarkPulsar, un plug-in pour gérer les appareils contrôlés et une porte dérobée de contrôle à distance nommée "sipauth42.tsp".

Il prend en charge les commandes suivantes :

BurnRawShellcodeEDFStagedUploadDisableSecurityEnableSecurityUpgradeImplantPingPong

Burn, RawShellcode, UpgradeImplant et PingPong prennent en charge la suppression/la mise à niveau des logiciels implantés, l'exécution de code arbitraire et la vérification si la porte dérobée a été installée sur la machine distante. Le but des autres commandes n'est pas encore clair. .

Kaspersky Lab a découvert plusieurs constantes utilisées pour chiffrer le trafic entre le C&C et le logiciel implanté lors de l'analyse de DarkPulsar :

Comment utiliser le nouveau framework APT de la NSA, DarkPulsar

Kaspersky estime que ces constantes peuvent être utilisées comme points de départ pour une enquête plus approfondie, c'est pourquoi un détecteur a été construit. Quelques mois plus tard, la mystérieuse porte dérobée DarkPulsar a fait surface, contenant à la fois des versions 32 bits et 64 bits. Les chercheurs ont découvert environ 50 cas, localisés en Russie, en Iran et en Égypte, infectant couramment des serveurs Windows 2003/2008, impliquant des domaines tels que énergie nucléaire, télécommunications, informatique, aérospatiale et recherche et développement.

Points forts de la technologie DarkPulsar

DarkPulsar est implanté avec un fichier de bibliothèque dynamique. À en juger par les fonctions exportées par sa charge de travail, il peut réaliser les fonctions suivantes :

Deux fonctions anonymes sont utilisées pour installer des portes dérobées dans le système.

Fonction dont le nom est lié au fonctionnement TSPI (Telephone Service Provider Interface), utilisée pour garantir que la porte dérobée est présente dans la liste d'exécution automatique et démarre automatiquement.

Fonctions dont les noms sont liés aux opérations SSPI (Security Support Provider Interface), principalement utilisées pour exécuter du code malveillant.

L'implémentation des interfaces SSPI et TSPI est très simple, de sorte que la fonction exportée par DarkPulsar porte le même nom que la fonction d'interface, mais le bon service téléphonique est remplacé par un code malveillant.

Cette bibliothèque dynamique est installée dans le système via une fonction anonyme, appelant Secur32.AddSecurityPackage avec les droits d'administrateur et le chemin de sa propre bibliothèque dans les paramètres pour démarrer la porte dérobée, créant lsass. execode>Chargez DarkPulsar en tant que SSP/AP et appelez sa fonction exportée SpLsaModeInitialize pour initialiser la porte dérobée par DarkPulsar. Parmi eux, AddSecurityPackage est utilisé pour injecter du code dans lsass.exe. Il ajoute également son nom de fichier de bibliothèque dans HKLMSoftwareMicrosoftWindowsCurrentVersionTelephonyProviders. Secur32.AddSecurityPackage以及参数中它自己库的路径来启动后门,使得lsass.exe将DarkPulsar加载为SSP/AP并调用其导出的函数SpLsaModeInitialize,由DarkPulsar初始化后门。其中AddSecurityPackage用于将代码注入到lsass.exe。它还在HKLMSoftwareMicrosoftWindowsCurrentVersionTelephonyProviders中添加了其库文件名。

这样一来Telephony API(TapiSrv)开始加载随着远程访问连接管理器(RasMan)服务启动开始加载,将该启动类型设置为“自动”。加载电话服务提供商的库时,TapiSrv调用TSPI_lineNegotiateTSPIVersion,其中包含AddSecurityPackage调用以将恶意代码注入到lsass.exe中。

DarkPulsar通过为SpAcceptLsaModeContext(负责身份验证的函数)安装钩子来实现恶意功能。此类注入行为在进程lsass.exe

Cela entraînera le chargement de l'API de téléphonie (TapiSrv) au démarrage du service Remote Access Connection Manager (RasMan), définissez le type de démarrage sur "Automatique". Lors du chargement de la bibliothèque du fournisseur de téléphonie, TapiSrv appelle TSPI_lineNegotiateTSPIVersion, qui contient un appel AddSecurityPackage pour injecter du code malveillant dans lsass.exe.

DarkPulsar implémente une fonctionnalité malveillante en installant un hook pour SpAcceptLsaModeContext (la fonction responsable de l'authentification). Ce type d'injection se produit au sein de plusieurs paquets d'authentification système au sein du processus lsass.exe et permet à Darkpulsar de contrôler le processus d'authentification selon le protocole suivant :

1, Msv1_0.dll - pour le protocole NTLM,

2, Kerberos.dll - utilisé pour le protocole Kerberos,

3, Schannel.dll - utilisé pour le protocole TLS/SSL,

4, Wdigest.dll - utilisé pour le protocole digest,

5, Lsasrv dll - utilisé. pour négocier des accords.

🎜🎜Après avoir terminé ce processus, Darkpulsar est capable d'injecter du trafic de logiciels malveillants dans les protocoles système. Étant donné que ce type d'activité réseau est effectué selon les normes du système, il se reflète uniquement dans les processus du système, ce qui signifie qu'il utilise les ports système réservés aux protocoles ci-dessus sans entraver leur fonctionnement normal. 🎜

Comment utiliser le nouveau framework APT de la NSA, DarkPulsar

Connexion réussie au trafic réseau de l'implant DarkPulsar

Le deuxième avantage du contrôle du processus d'authentification est que la saisie du nom d'utilisateur et de la protection par mot de passe peut être contournée pour accéder aux objets qui nécessitent une authentification, tels que les listes de processus, le registre à distance, SMB système de fichiers. Après avoir envoyé la commande DisableSecurity de Darkpulsar, le hook de porte dérobée de l'appareil contrôlé appellera la fonction SpAcceptLsaModeContext, rendant valides les informations d'identification transmises dans la fonction, et le système fournira alors l'accès aux objets protégés du client. SpAcceptLsaModeContext函数,使得该函数传递的凭据有效,然后系统将提供对客户端的受保护对象的访问权限。

使用DarkPulsar

Darkpulsar-1.1.0.exe的管理界面是基于“一条指令和一次启动”原则构建的。要执行的命令必须在配置文件Darkpulsar-1.1.0.9.xml中指定,或者作为命令行参数指定,至少详细说明:

目标机器是使用32位还是64位系统;

协议(支持SMB、NBT、SSL、RDP协议)以提供命令和端口号;

用于解密会话AES密钥的私有RSA密钥。

Fuzzbunch框架的插件Darkpulsar-1.1.0可以协调不同的组件并管理参数。以下是DisableSecurity命令在Fuzzbunch中的实际应用示例:

Comment utiliser le nouveau framework APT de la NSA, DarkPulsar

下面是运行DisableSecurity之后的进程表实例,允许执行任何没有有效凭据的插件,并通过常规系统功能(远程注册表服务)进行操作:

Comment utiliser le nouveau framework APT de la NSA, DarkPulsar    

DanderSpritz

DanderSpritz是用于控制受感染机器的框架,与FuZZbuNch不同,因为后者为具有特定功能的后期开发阶段提供了部分工具包,例如DisableSecurity和DarkSeuls的EnableSecurity。

DanderSpritz适用于更大范围的后门,在受控设备中使用PeedleCheap来启动攻击者的恶意软件。DanderSpritz的插件PeddleCheap可用于配置嵌入式软件并连接到被感染的计算机。建立连接后,所有DanderSpritz后期开发功能均可用。

这就是EDFStagedUpload模式中的DarkPulsar通过植入恶意软件感染设备的渠道:PCDllLauncher(Fuzzbunch的插件)在受控设备一侧部署PeddleCheap植入软件,DanderSpritz提供用户友好的开发界面。所以,PCDllLauncher的全名是'PeddleCheap DLL Launcher'。

整合DanderSpritz方案、PeddleCheap插件、DarkPulsar插件和PCDllLauncher到一起实现恶意功能共包含四个步骤:

通过FuZZbuNch,运行命令EDFStagedUpload以启动DarkPulsar。

在DanderSpritz中,运行命令pc_prep(PeedelCheap Preparation)以准备恶意代码和要启动的库文件。

在DanderSpritz中,运行命令pc_old(这是命令pc_listen -reuse -nolisten -key默认的别名),这会将其设置为等待来自Pcdlllauncher的socket。

通过FuZZbuNch启动Pcdlllauncher并指定使用ImplantFilename参数中的命令pc_prep准备的有效路径。

Comment utiliser le nouveau framework APT de la NSA, DarkPulsar

DanderSpritz

Comment utiliser le nouveau framework APT de la NSA, DarkPulsar

文件系统插件

总结

FuzzBunch和DanderSpritz框架提供了很大的灵活性,包含诸多专为不同任务设计的插件,比如说FuzzBunch插件负责监控和攻击设备,DanderSpritz框架中的插件则是为管理已感染的受害者而开发的。

DarkPulsar后门的发现有助于理解它作为两个泄露框架之间的桥梁作用,以及它们如何成为同一攻击平台的一部分。这些平台是为长期潜伏攻击而设计的,从DarkPulsar的持久性和潜伏能力(例如将其流量封装到合法协议中并绕过密码保护以通过身份验证)可以看出背后的开发者非常之专业。

检测恶意网络活动

在受感染的计算机中执行EDFStagedUpload时,会建立永久连接,这是出现端口445流量的原因。lsass.exe

Utilisation de DarkPulsar

L'interface de gestion de Darkpulsar-1.1.0.exe est construite sur la base du principe « une commande et un démarrage ». La commande à exécuter doit être spécifiée dans le fichier de configuration Darkpulsar-1.1.0.9.xml, ou en paramètre de ligne de commande, préciser au minimum :

Comment utiliser le nouveau framework APT de la NSA, DarkPulsarSi la machine cible utilise un système 32 bits ou 64 bits ;

Protocoles (protocoles SMB, NBT, SSL, RDP pris en charge) pour fournir la commande et le numéro de port ;

Clé RSA privée utilisée pour déchiffrer la clé AES de la session ; Comment utiliser le nouveau framework APT de la NSA, DarkPulsar

Darkpulsar-1.1.0, un plug-in pour le framework Fuzzbunch, peut coordonner différents composants et gérer les paramètres. Ce qui suit est un exemple de l'application réelle de la commande DisableSecurity dans Fuzzbunch : 🎜🎜 NSA New APT Framework Comment utiliser DarkPulsar🎜🎜Ce qui suit est un exemple de table de processus après l'exécution de DisableSecurity, permettant l'exécution de n'importe quel plug-in sans informations d'identification valides et fonctionnant via les fonctions système normales (service de registre à distance) : 🎜 🎜Comment utiliser le nouveau framework APT DarkPulsar de la NSA
🎜DanderSpritz🎜DanderSpritz est un framework de contrôle des machines infectées, différent de FuZZbuNch en ce que ce dernier fournit une partie de la boîte à outils pour les étapes de développement ultérieures avec des fonctionnalités spécifiques, telles que DisableSecurity et EnableSecurity de DarkSeuls. 🎜🎜DanderSpritz se prête à un plus large éventail de portes dérobées, en utilisant PeedleCheap dans un appareil contrôlé pour lancer le malware de l'attaquant. Le plug-in PeddleCheap de DanderSpritz peut être utilisé pour configurer des logiciels embarqués et se connecter à des ordinateurs infectés. Une fois connecté, toutes les fonctionnalités post-développement de DanderSpritz sont disponibles. 🎜🎜C'est le canal par lequel DarkPulsar en mode EDFStagedUpload infecte les appareils en implantant des logiciels malveillants : PCDllLauncher (un plug-in pour Fuzzbunch) déploie le logiciel d'implantation PeddleCheap sur le côté de l'appareil contrôlé, et DanderSpritz fournit une interface de développement conviviale. Par conséquent, le nom complet de PCDllLauncher est « PeddleCheap DLL Launcher ». 🎜🎜L'intégration de la solution DanderSpritz, du plug-in PeddleCheap, du plug-in DarkPulsar et de PCDllLauncher pour implémenter des fonctions malveillantes comprend quatre étapes : 🎜
🎜Grâce à FuZZbuNch, exécutez la commande EDFStagedUpload pour démarrer DarkPulsar. 🎜
🎜Dans DanderSpritz, exécutez la commande pc_prep (PeedelCheap Preparation) pour préparer le code malveillant et les fichiers de bibliothèque à lancer. 🎜
🎜Dans DanderSpritz, exécutez la commande pc_old (c'est l'alias par défaut de la commande pc_listen -reuse -nolisten -key). Cela le configurera pour attendre le socket de Pcdlllauncher. 🎜
🎜Lancez Pcdlllauncher via FuZZbuNch et spécifiez un chemin valide préparé à l'aide de la commande pc_prep dans le paramètre ImplantFilename. 🎜
🎜Comment utiliser le nouveau framework APT de la NSA DarkPulsar🎜 🎜 DanderSpritz🎜🎜Comment utiliser le nouveau framework APT de la NSA DarkPulsar🎜🎜Fichier plug-in système 🎜

Résumé

🎜Les frameworks FuzzBunch et DanderSpritz offrent une grande flexibilité et contiennent de nombreux plug-ins conçus pour différentes tâches. Par exemple, le plug-in FuzzBunch est responsable de la surveillance et de l'attaque des appareils, et. les plug-ins du framework DanderSpritz sont destinés à être développés pour gérer les victimes infectées. 🎜🎜La découverte de la porte dérobée DarkPulsar permet de comprendre son rôle de pont entre les deux frameworks divulgués et comment ils peuvent faire partie de la même plateforme d'attaque. Ces plates-formes sont conçues pour des attaques latentes à long terme, et les développeurs derrière DarkPulsar sont très professionnels, comme en témoignent la persistance et les capacités latentes de DarkPulsar (telles que l'encapsulation de son trafic dans des protocoles légitimes et le contournement de la protection par mot de passe pour passer l'authentification). 🎜

Détecter l'activité réseau malveillante

🎜Lorsque EDFStagedUpload est exécuté sur un ordinateur infecté, une connexion permanente est établie, ce qui est à l'origine du trafic sur le port 445. Une paire de sockets liées est également apparue dans lsass.exe : 🎜🎜🎜🎜🎜Lorsque DanderSpritz déploie le code malveillant de PeddleCheap via le plug-in PcDllLauncher, l'activité du réseau augmentera considérablement : 🎜🎜🎜🎜

Lorsque la connexion à l'ordinateur infecté est interrompue, l'activité réseau s'arrête et il ne reste que lsass.exedeux sockets liés :

Comment utiliser le nouveau framework APT de la NSA, DarkPulsar

IOC

Injection - 96f10cfa6ba24c9ecd08aa6d37993fe4

Chemin du fichier - %SystemRoot% System32 sipauth42.

Registre - HKLM LogicielMicrosoftWindowsCurrentVersionTelephonyProviders

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer