iYouPort avatar

卡巴斯基检测到 DarkPulsar 感染,又是 NSA 恶意软件

iyouport

Published: 06 Nov 2018 › Updated: 06 Nov 2018卡巴斯基检测到 DarkPulsar 感染,又是 NSA 恶意软件

卡巴斯基检测到 DarkPulsar 感染,又是 NSA 恶意软件

DarkPulsar 是一种 FuzzBunch “植入物”,通常与 DanderSpritz 一起使用

2017年3月,ShadowBrokers 放出了一份震惊世界的机密文档,其中包括两个框架:DanderSpritz 和 FuzzBunch。

DanderSpritz 完全由插件组成,用于收集情报、利用漏洞和操控已接管的设备。它基于 Java 编写,提供类似于僵尸网络管理面板的图形界面以及类似 Metasploit 工具的控制面板。它还整合了用于非 FuzzBunch 受控设备的后门和插件。 

概述 

Fuzzbunch 为不同的实用程序提供了一个用于交互和协同工作的框架,包含各种类型的插件,其目的是分析对象、利用漏洞、植入任务等。FuzzBunch 框架插件包中的文件分为三种类型:

  • %pluginName%-version.fb

这是框架的实用程序文件。它从 XML 复制标头并包含插件的 ID。

  • %pluginName%-version.exe

当 FuZZbuNch 收到执行命令时,运行此可执行文件。

  • %pluginName%-version.xml

此配置文件描述了插件的输入和输出参数的名称、类型和描述。这些信息都可以通过 FuzzBunch 界面显示。这种文件类型划分规范了默认参数的设置,从而提升了框架的可用性。 

ImplantConfig 是一个 Fuzzbunch 可调用的工具包,包含一个名为 DarkPulsar 的管理模块,用于管理受控设备的插件,用于控制名为“sipauth32.tsp”的远程控制后门。 它支持以下命令:

  • Burn
  • RawShellcode
  • EDFStagedUpload
  • DisableSecurity
  • EnableSecurity
  • UpgradeImplant
  • PingPong

Burn、RawShellcode、UpgradeImplant 和 PingPong 支持移除/升级植入软件、运行任意代码和检查后门是否已安装在远程机器上,其他命令的目的暂不明确。 

卡巴斯基实验室在分析 DarkPulsar 时发现了几个用于加密 C&C 和植入软件之间流量的常量:

卡巴斯基认为这些常量可以作为进一步深入调查的抓手,所以构建了一个检测器。几个月后,神秘的 DarkPulsar 后门浮出水面,而且包含32位和64位版本。研究人员发现大约50个案例,分别位于俄罗斯、伊朗和埃及,常见感染 Windows 2003/2008 服务器,涉及核能、电信、IT、航空航天和研发等领域。 

DarkPulsar 技术亮点 

DarkPulsar 植入的是一个动态库文件,从其工作负载导出的函数来看可以实现以下几类功能:

  • 两个匿名函数用于在系统中安装后门。
  • 名称与 TSPI(电话服务提供程序接口)操作相关的函数,用于确保后门存在于自动运行列表中并自动启动。
  • 名称与SSPI(安全支持提供程序接口)操作相关的函数,主要用于运行恶意代码。

SSPI 和 TSPI 接口的实现很简单,使得 DarkPulsar 导出的函数与接口函数的名称相同即可,只不过用恶意代码替代了正确的电话服务。 

这个动态库通过匿名函数安装在系统中,调用具有管理员权限的 Secur32.AddSecurityPackage 以及参数中它自己库的路径来启动后门,使得 lsass.exe 将 DarkPulsar 加载为 SSP/AP 并调用其导出的函数 SpLsaModeInitialize,由 DarkPulsar 初始化后门。其中 AddSecurityPackage 用于将代码注入到 lsass.exe。它还在 HKLM\Software\Microsoft\Windows\CurrentVersion\Telephony\Providers 中添加了其库文件名。 

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

DarkPulsar 通过为 SpAcceptLsaModeContext(负责身份验证的函数)安装钩子来实现恶意功能。此类注入行为在进程lsass.exe中的多个系统身份验证数据包中进行,并允许 Darkpulsar 根据以下协议控制身份验证过程:

  1. Msv1_0.dll – 用于NTLM协议,
  2. Kerberos.dll – 用于Kerberos协议,
  3. Schannel.dll – 用于TLS / SSL协议,
  4. Wdigest.dll – 用于摘要协议,
  5. Lsasrv.dll-用于谈判协议。

在完成这个过程之后,Darkpulsar 能够将恶意软件流量嵌入到系统协议中。由于此类网络活动是根据系统标准进行的,因此它只会反映在系统进程中,也就是说它使用了为上述协议保留的系统端口,而不会妨碍其正常运行。 

成功连接到 DarkPulsar 植入软件的网络流量 

控制身份验证过程的第二个优势是可以绕过输入用户名和密码保护,以获取对需要身份验证的对象的访问权限,例如进程列表、远程注册表、SMB 文件系统。发送 Darkpulsar 的 DisableSecurity 命令后,受控设备的后门钩子将调用 SpAcceptLsaModeContext 函数,使得该函数传递的凭据有效,然后系统将提供对客户端的受保护对象的访问权限。 

使用 DarkPulsar 

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

  • 目标机器是使用32位还是64位系统;
  • 协议(支持 SMB、NBT、SSL、RDP 协议)以提供命令和端口号;
  • 用于解密会话AES密钥的私有 RSA 密钥。

Darkpulsar-1.1.0 是 Fuzzbunch 框架的插件,可以管理参数和协调不同的组件。 

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

DanderSpritz 

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

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

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

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

  1. 通过 FuZZbuNch,运行命令 EDFStagedUpload 以启动 DarkPulsar。
  2. 在 DanderSpritz 中,运行命令 pc_prep(PeedelCheap Preparation)以准备恶意代码和要启动的库文件。
  3. 在 DanderSpritz 中,运行命令 pc_old(这是命令 pc_listen -reuse -nolisten -key 默认的别名),这会将其设置为等待来自 Pcdlllauncher 的 socket。
  4. 通过 FuZZbuNch 启动 Pcdlllauncher 并指定使用 ImplantFilename 参数中的命令 pc_prep 准备的有效路径。

总结 

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

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

  • 在受感染的计算机中执行EDFStagedUpload时,会建立永久连接,这是出现端口445流量的原因。lsass.exe 中还出现了一对绑定的 socket
  • 当 DanderSpritz 通过 PcDllLauncher 插件部署 PeddleCheap 的恶意代码时,网络活动会急剧增加;
  • 当终止与受感染计算机的连接时,网络活动将停止,并且只保留 lsass.exe 中两个绑定 socket。

◾️

Leave 卡巴斯基检测到 DarkPulsar 感染,又是 NSA 恶意软件 to:

Written by

We open China

Read more #technology posts


Best Posts From iYouPort

We have not curated any of iyouport's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From iYouPort