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.
Interface DanderSprit
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 :
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.
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. exe
code>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
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
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,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 processuslsass.exe
et permet à Darkpulsar de contrôler le processus d'authentification selon le protocole suivant :
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. 🎜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-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中的实际应用示例:
下面是运行DisableSecurity之后的进程表实例,允许执行任何没有有效凭据的插件,并通过常规系统功能(远程注册表服务)进行操作:
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准备的有效路径。
DanderSpritz
文件系统插件
FuzzBunch和DanderSpritz框架提供了很大的灵活性,包含诸多专为不同任务设计的插件,比如说FuzzBunch插件负责监控和攻击设备,DanderSpritz框架中的插件则是为管理已感染的受害者而开发的。
DarkPulsar后门的发现有助于理解它作为两个泄露框架之间的桥梁作用,以及它们如何成为同一攻击平台的一部分。这些平台是为长期潜伏攻击而设计的,从DarkPulsar的持久性和潜伏能力(例如将其流量封装到合法协议中并绕过密码保护以通过身份验证)可以看出背后的开发者非常之专业。
在受感染的计算机中执行EDFStagedUpload时,会建立永久连接,这是出现端口445流量的原因。lsass.exe
Si 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 ;
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 : 🎜🎜🎜🎜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) : 🎜 🎜Clé RSA privée utilisée pour déchiffrer la clé AES de la session ;
🎜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. 🎜🎜🎜 🎜 DanderSpritz🎜🎜🎜🎜Fichier plug-in système 🎜
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.exe
deux sockets liés :
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!