记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

Rovnix Bootkit 恶意软件相关活动分析

2020-06-24 16:06

原文链接:Oh, what a boot-iful mornin’
译者:知道创宇404实验室翻译组

今年4月中旬,相关威胁监控系统检测到借助“世界银行与冠状病毒大流行有关的新倡议”的恶意软件,扩展名为 EXE 或 RAR, 在这些文件中有著名的 Rovnix bootkit。虽然利用冠状病毒这一话题进行传播的事情已屡见不鲜,但其使用UAC旁路工具进行更新且被用来提供一个与众不同的装载程序的实例却很少见。

输入SFX进行存档

这份名为《关于世界银行与冠状病毒pandemic.exe有关的新举措》的文件,是一份自解压的报告,其中列出了easymule.exe和1211.doc。

SFX脚本

该文件确实包含有关世界银行一项新计划的信息,并且在元数据中引用了与该组织有关的真实个人作为作者。

1211.doc的内容

至于easymule.exe,它的资源包含一个位图图像,实际上是一个可执行文件,会进行解压并加载到内存中。

加载“图像”

进入UAC

加载到内存中的PE代码包含许多部分,这些部分与Rovnix引导程序及其模块非常相似,其源代码早在2013年就已经泄漏。

但是,根据原始Rovnix源代码,可以看到近期行动的创新之处,其中之一是使用“模拟受信任目录”技术的UAC绕过机制。

借助Windows API,该恶意软件将创建目录C:\Windows\System32\(Windows之后为空格)。然后,它将在那里C:\Windows\System32\复制一个合法的已签名可执行文件,该文件有自动提升且不显示UA的C请求(在本例中为wusa.exe)。

另外还使用DLL劫持:将恶意库放置在假目录中,其中包含由合法文件(在本例中为wtsapi32.dll)导入的库。当从假目录进行运行时,由于GetLongPathNameW API的存在,合法文件wusa.exe会通过授权检查,而且API从路径中的空格字符也会被删除。同时,在没有UAC请求的情况下从假目录运行合法文件,并加载名为wtsapi.dll的恶意库。

除了将合法的系统文件复制到假目录并在其中创建恶意库外,删除程序还会创建另一个名为uninstall.pdg的文件。接着,该恶意软件会创建并运行一系列BAT文件,这些文件从伪目录中启动wusa.exe,然后通过删除创建的目录和easymule.exe程序来清理跟踪。

进入Rovnix

文件uninstall.pdg包含一个打包的可执行文件。它旨在解压以前使用wusa.exe和DLL劫持下载的相同恶意库。

卸载.pdg

恶意库的代码最少,导出的函数WTSQueryUserToken显然没有导入原始wusa.exe所需的功能。相反,该函数读取uninstall.pdg进行解压并从中运行可执行文件。

导出恶意库功能代码

解压后的uninstall.pdg最终是一个带有导出功能BkInstall的DLL,这是恶意软件基于泄漏的Rovnix代码的另一种表现,文件的进一步分析证实了这一点。

粘贴在uninstall.pdg中的是与aPLib一起打包的可执行文件。使用FJ实用程序(也来自Rovnix引导程序)进行粘合,可以由文件解压算法和FJ签名进行证明。

FJ实用程序签名

粘贴的文件是泄漏的Rovnix引导程序包和引导加载程序中的KLoader驱动程序。Uninstall.pdg将它们解压,用引导加载程序覆盖VBR,并将打包的原始VBR放在旁边。另外,将KLoader写入磁盘,其目的是将有效负载注入正在运行的进程中。

从图中可以看出,该恶意软件的源代码与原始代码没有太大区别。原始代码看似经过编译,可以在没有VFS和协议栈的情况下使用,以便驱动程序与网络一起运行。

在这种情况下,驱动程序将DLL注入到进程中,这与我们一开始就谈到的非Rovnix加载程序相同。

因此,一般执行方案如下。

执行方案

进入装载机

首先要注意的是文件中的PDB路径。

运行时,恶意软件首先用功能指针填充结构。分配的内存中填充了指向函数的指针,这些指针随后将通过其在分配的内存区域中的偏移量进行调用。

接下来,该进程为对Winsta0和Default桌面对象进行访问,并创建一个具有C&C通信周期的线程。

创建C&C通信线程

与C&C的沟通

创建线程后,恶意软件使用OpenMutexA检查其是否存在于系统中。然后开始C&C通信周期,在此周期内生成有关受感染设备的数据包。该数据包用单字节密钥0xF7进行XOR加密,然后发送到C&C。

发送数据的结构

作为响应,恶意软件会接收一个可执行文件,该可执行文件已加载到内存中,控制权转移到该PE文件的入口点。

显示加载到内存中的PE文件

进行测试

加载程序并非唯一的示例,示例间都具有相似的功能,但在细节上有些许差别。如通过尝试注册NetService处理程序来检查其是否正常运行,如果失败(即该服务未在系统中运行),该恶意软件将停止运行。

不同版本的加载器示例

加载程序的其他实例不使用bootkit,但会应用相同的UAC旁路方法。所有迹象表明装载机目前正在积极测试中,并配备了各种工具来绕过保护。

我们还发现了可用作加载程序的有效负载的实例。它们包含与加载程序相似的PDB路径和相同的C&C。有趣的是,所需的API的地址是从函数名获得的,函数名是从配置行中的索引获得的。

获取API地址

在C&C的命令下,此恶意软件可以运行具有指定参数的EXE文件。

模块名称(E:\LtdProducts\Project\newproject\64bits\64AllSolutions\Release\PcConnect.pdb)建议开发人员将其定位为后门,根据某些配置行的判断,它可能还具有Trojan-Spy元素。

结语

我们对伪装成世界银行“新计划”的恶意软件的分析表明,即使像Rovnix这样的著名威胁软件在源代码公开时也会出现很多意外。网络罪犯无需从头开始开发自己的绕过保护工具,可以更加关注自己恶意软件的相关功能,并在源代码中添加额外的“好东西”,例如UAC绕过。卡巴斯基检测到此威胁及其相关模块,如Trojan.Win32.Cidox、Trojan.Win32.Generic、Trojan.Win32.Hesv和Trojan.Win32.Inject。

IOC

7CFC801458D64EF92E210A41B97993B0
E2A88836459088A1D5293EF9CB4B31B7
bamo.ocry[.]com:8433
45.77.244[.]191:8090 (ZoomEye搜索结果)
45.77.244[.]191:9090
45.77.244[.]191:5050
45.76.145[.]22:8080 (ZoomEye搜索结果
149.28.30[.]158:443 (ZoomEye搜索结果)


Paper本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:http://www.hackdig.com/06/hack-98439.htm


知识来源: https://paper.seebug.org/1253/

阅读:16515 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“Rovnix Bootkit 恶意软件相关活动分析”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

ADS

标签云