APT组织PLATINUM使用的两种新后门

2024-03-06 06:48

本文主要是介绍APT组织PLATINUM使用的两种新后门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2018年6月,卡巴斯基实验室曾在南亚和东南亚的一些国家发现过一组不同寻常的恶意软件样本,以外交、政府和军事实体为攻击目标。此次行动被称为EasternRoppels,最早可追溯到2012年,其幕后推手可能与臭名昭著的PLATINUM APT组织有关。恶意软件的特点是多阶段执行,以及用了一种前所未见的隐写技术来隐藏通信过程。

在感染的第一个阶段,攻击者通过WMI订阅功能来运行初始PowerShell下载器,以下载另一个小型的PowerShell后门。我们在收集了许多初始WMI PowerShell脚本后发现,它们的硬编码C2的IP地址、加密密钥、用于加密(以及用于初始加载器)的盐、每天活跃的时间往往都不甚相同。C2地址位于免费托管服务上,攻击者使用了大量Dropbox帐户来存储payload和泄露数据。PowerShell后门的目的是执行系统的初始指纹识别,支持的命令很有限:下载/上传文件,以及运行PowerShell脚本。

当时,我们正在调查另一个威胁,有一定的依据认为它是上述行动的第二阶段。该阶段有一个实现为DLL并作为WinSock NSP (Nameservice Provider)工作的后门,能在机器重启后驻留。该后门与上述的PowerShell后门有几个特征是相通的,例如具有硬编码的活动时间,以及使用免费域作为C2地址等。前者还有一些非常特殊的功能,比如它可以使用文本隐写术隐藏与C2服务器的所有通信。

经过深入分析,我们意识到这两种威胁是相关的,此外,两种攻击使用了相同的域来存储泄露数据。同时我们发现,有一些受害者会被两种类型的恶意软件感染。值得一提的是,在第二阶段,所有可执行文件都受到runtime加密器的保护,在打开后出现了另一个以前未发现的后门,而这个后门已知与PLATINUM有关。PHP大马

本文仅将描述之前未被发现的两种后门。

隐写术后门

核心二进制后门装有一个dropper,当dropper运行时,会解密嵌入其“.arch”部分的文件:

APT组织PLATINUM使用的两种新后门

接下来,它为后门操作创建目录,并将恶意软件相关文件保存在这些目录中,使用的路径通常是合法软件使用的。

接着,恶意软件会植入两个文件:后门本身及其配置文件。

在此之后,dropper运行后门,安装它以启用持久性机制并自行删除。配置文件都是.cfg或.dat的扩展名,使用AES-256 CBC加密并编码,并包含以下选项:

APT组织PLATINUM使用的两种新后门

· pr  – 即“轮询重试”(Poll Retries),并指定恶意软件向C&C服务器发送执行新命令请求的时间间隔(以分钟为单位);

· ht  – 未使用;

· sl  – 指定恶意软件开始运行的日期和时间。当日期到来时,恶意软件会清除此选项。

· opt  – 代表“办公时间”,指定了恶意软件的活动的小时和分钟数;

· die  – 代表“存活日期”,即恶意软件在计算机内的存活天数;

· “p”部分列出了恶意软件C&C地址;

· “t”部分列出了用于确保互联网连接可用的合法URL。

持久性

核心后门实现为一个动态链接库(DLL),包含一个名为“NSPStartup”的函数。后门植入后,安装程序在WSCInstallNameSpace API函数的帮助下将后门注册为winsock2的命名空间提供程序,并通过调用WSCEnableNSProvider运行。奇热影视

因此,在系统启动并初始化“svchost -k netsvcs”进程期间,已注册的命名空间提供程序将被加载到进程的地址空间中,并调用函数“NSPStartup”。

APT组织PLATINUM使用的两种新后门

C&C交互

启动并运行后,后门会将当前时间与“存活日期”、激活日期和“办公时间”值进行比较,并在“凭据存储”和“受保护存储”中查找有效的代理凭据。

当满足所有规则时,后门连接到恶意软件服务器并下载HTML页面。

从表面上看,HTML显示C&C服务器已关闭:

APT组织PLATINUM使用的两种新后门

实际上是用到了隐写技术。页面包含嵌入的加密命令,加密的密钥也嵌入在页面中。嵌入数据使用两种隐写技术进行编码,并放置在<——1234567890>标记中(见下面)。

APT组织PLATINUM使用的两种新后门

在第31行,属性“align”,“bgcolor”,“colspan”和“rowspan”按字母顺序列出,而在第32行,相同的属性却是以不同顺序列出的。第一种隐写技术基于HTML不关心标签属性顺序的原则,我们可以通过遍历属性来编码消息。上例中的第31行包含四个标签,四个标签中的排列数为4!= 24,因此该行编码有log2(24)= 4位信息。后门会逐行解码并收集数据的加密密钥,该密钥也位于编码状态的HTML标签之中,但使用的是第二种隐写技术。

APT组织PLATINUM使用的两种新后门

上图显示,数据被编码为以制表符分隔的空间组。每个组包含0到7个空格,空格的数量表示后面的3位数据。例如,第944行上的第一个组包含6个空格,因此它将被解码为610 = 1102。

接着使用解码后的AES-256 CBC密钥对解码后的数据进行解密。

APT组织PLATINUM使用的两种新后门

最后结果是一个要执行的命令列表,保护方式与后门配置文件相同:

APT组织PLATINUM使用的两种新后门

从HTML页面提取的原始命令数据

APT组织PLATINUM使用的两种新后门

解密后从HTML页面提取的原始命令的解释 

命令

后门支持上传、下载和执行文件,它可以处理进程列表和目录列表的请求,升级和卸载自身以及修改其配置文件。每个命令都有自己的参数,例如它请求的C&C服务器名,或者是否需要在上传时分割文件。

配置管理员

在进一步调查的过程中,我们发现另一个工具原来是一个配置管理器,也是一个可执行文件,其目的是为后门创建配置和命令文件。该实用程序可以配置150多个选项。

例如,下面是执行showcfg命令的结果。

APT组织PLATINUM使用的两种新后门

它支持的第二个命令是updatecfg,其作用是将操作人员指定的值放入配置文件中。

此外,配置管理器还支持上传、下载、执行、搜索、UpdateConfig、AddKeyword、ChangeKeywordFile、ChangeKey、升级和卸载命令。执行上述命令时,它会创建一个命令文件,其保护方式与配置文件相同,并将其存储在“CommandDir”目录中(路径在配置选项11中指定)。如“隐写后门”一节所述,此后门不处理命令文件,也不支持ChangeKeywordFile和ChangeKey等命令,因此我们认为还有另一个后门,它与我们找到的配置管理器配对。虽然看起来这样的实用程序应该在攻击者端运行,但我们在一个受害者中找到了相应的后门,并称之为P2P后门。

P2P后门

这个后门与前一个后门有许多相同的功能。例如,许多命令有相似的名称,两个后门的配置文件都有相同名称的选项,并且以相同的方式受到保护,后门文件的路径与合法文件相似。不过它们之间也有显著的差异:新的后门能使用配置中的更多选项,支持更多命令,与其他受感染的受害者交互并将他们连接到网络中(详细信息请参阅“命令”一节),并以不同的方式与C&C服务器一起工作。此外,这个后门还能使用日志记录——我们在某受害者的电脑上发现了一个可以追溯到2012年的日志文件。

C&C交互

这个后门具有嗅探网络流量的能力,运行后会启动一个嗅探器,检测每个网络接口是否有某一类数据包,该数据包结构特殊,用于发送到受害者配置中的ProbePort。当嗅探器找到类似的数据包时,会将其解释为建立连接的请求,并将TransferPort(在配置中指定)设置为侦听模式,请求者连接到受害者的TransferPort,双方执行额外的检查,交换加密密钥。然后请求者向受害者发送命令,受害者以交互方式处理这些命令。这种方法允许后门维持侦听模式而不将任何套接字保持在侦听模式——它只在知道某人正在尝试连接时才创建侦听套接字。

命令

此后门支持与隐写术后门相同的命令,并能实现另外一个命令——后门利用Windows索引服务,可以在文件中查找攻击者提供的关键字。此搜索行为既可以由攻击者请求,也可以计划发起,前提是计划搜索的关键字存储在专用文件中。

所有命令都通过命令文件提供给后门。 命令文件的保护方式与配置相同(见下文)。

APT组织PLATINUM使用的两种新后门

它由命令id(id),命令日期(dt),命令名(t)和参数(cmd)组成。

恶意软件还有将受感染的受害者组合到P2P网络中的功能。例如,当两个受感染的受害者共享同一个本地网络,但只有其中一个可以访问互联网时,攻击者可以通过可访问的受害者向不可访问的受害者发送命令文件,控制其他主机的命令在可访问受害者的命令文件中,受感染主机列表用h1、h2、h3等选项表示,而命令文件传输到目标主机的顺序则用p1、p2来表达。

例如,如果p1选项为' 2->3->1 ',而p2选项为' 2->3->4 ',则命令文件将通过主机2和3传递给索引为1和4的主机。每个主机的描述如下:% host IP%:% host ProbePort%:% host TransferPort%。

结论

PLATINUM组织仍在努力改进他们的恶意软件,通过新技术使其踪迹变得更隐蔽。几年前我们就曾预测过,会有越来越多的APT组织和恶意软件开发者将隐写术融入到攻击手段中,而近日的发现也似乎证明了我们的观点,在这场攻击行动中,攻击者使用了两种隐写技术,而另一个有趣的细节是将实用程序作为一个庞大的集合来实现,这也让我们想起,当前这种基于框架的体系架构正在威胁团伙中变得越来越受欢迎。最后,基于攻击者使用的自定义加密,我们已经能够将此归因于臭名昭着的PLATINUM组织,这也意味着该组织仍处于活跃状态。

IoC

隐写术后门安装程序:

· 26a83effbe14b63683f0c3e0a3f657a9

· 4b4c3b57416c03ca7f57ff7241797456

· 58b10ac25df04a318a19260110d43894

之前的隐写后门启动器:

· d95d939337d789046bbda2083f88a4a0

· b22499568d51759cf13bf8c05322dba2

隐写术后门:

· 5591704fd870919930e8ae1bd0447706

· 9179a84643bd6d1c1b8e6fe0d2330dab

· c7fda2be17735eeaeb6c56d30fc86215

· d1936dc97566625b2bfcab3103c048cb

· d1a5801abb9f0dc0a44f19b2208e2b9a

P2P后门:

· 0668df90c701cd75db2aa43a0481718d

· e764a1ff12e68badb6d54f16886a128f

配置管理器:

· 8dfabe7db613bcfc6d9afef4941cd769

· 37c76973a55134925c733f4f50108555

这篇关于APT组织PLATINUM使用的两种新后门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/779172

相关文章

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图