深入分析OilRig的DNS隧道木马-ALMA Communicator

 

深入分析OilRig的DNS隧道木马-ALMA Communicator

 

 

 

写在前面的话

Unit 42自从2016年五月份开始就一直在密切跟踪黑客组织OilRig的一举一动。根据我们研究人员的观察与发现,从2016年五月份开始,这个名叫OilRig的黑客组织在其网络钓鱼攻击活动中开始使用Clayslide文档来作为钓鱼邮件的附件。

近期,我们观察到了一种新版本的Clayslide文档,它的开发人员将其称之为“ALMA Communicator”,而OilRig的攻击者可以使用Clayslide文档在目标用户的主机中安装一种新型的自定义木马。这种恶意文档还可以存储类似Mimikatz之类的后渗透凭证收集工具,而研究人员则认为攻击者引入这种功能的最终目的还包括从目标用户的主机中收集账号凭证信息。虽然我们现在还没有拿到详细的数据,但是我们有理由相信这种攻击活动针对的是中东地区一家公共事业公司的个人用户。

 

新型的Clayslide文档

近期出现的最新版本Clayslide文档其运行机制与之前的Clayslide文档非常相似,它一开始会给用户显示一个“不兼容”的Excel工作表,并声称这个Excel文件是使用一个更新版本的Excel创建的,因此用户需要点击“启用内容”来查看该文档的内容。如果用户点击了“启用内容”之后,文件会显示一个隐藏的工作表并触发恶意宏的运行,而这个隐藏的工作表中包含的是攻击者所设置的“诱饵”内容,隐藏工作表中的内容大致如下图所示:

深入分析OilRig的DNS隧道木马-ALMA Communicator

 

当“诱饵”内容显示给用户之后,恶意宏会从这个“不兼容”工作表中的某个特定单元格中开始访问数据,并创建一个.HTA文件,然后将其存储至路径%PUBLIC%\tmp.hta之中,最后再使用mshta.exe应用程序来打开这个文件。这个.HTA文件中包含HTML代码,而这些代码将运行一个VBScript脚本并在目标用户的主机中运行最终的恶意Payload。

恶意Payload过程描述如下:首先,.HTA会创建一个名叫%PUBLIC%\{5468973-4973-50726F6A656374-414C4D412E-2}的文件夹,然后再向这个文件夹中写入三个文件,这三个文件的文件名分别为:

 

SystemSyncs.exe
m6.e
cfg

.HTA文件中包含两个已编码的可执行文件,随后它会对这两个文件进行解码,并将其写入m6.e和SystemSyncs.exe中。.HTA文件还包含一个Base64编码的配置文件,解码之后便会被写入cfg文件之中,而恶意木马之后需要使用这些配置信息来获取C2域名,并使用它来与��击者进行通信。在该攻击活动之中,保存在cfg文件中的C2域名为prosalar[.]com。

SystemSyncs.exe文件(SHA256: 2fc7810a316863a5a5076bf3078ac6fad246bc8773a5fb835e0993609e5bb62e)是一个由OilRig黑客组织开发出来的自定义木马,这个木马就是“ALMA Communicator”,我们待会儿会在接下来的章节中对其进行详细介绍。

.HTA文件所释放出来的“m6.e”文件其实是Mimikatz工具的变种版本(SHA256: 2d6f06d8ee0da16d2335f26eb18cd1f620c4db3e880efa6a5999eff53b12415c)。在此之前,我们曾见到过OilRig黑客组织在其后渗透活动中使用Mimikatz工具来收集凭证信息。但是,这一次是我们第一次发现OilRig组织在攻击的感染阶段就使用Mimikatz工具。考虑到ALMA Communicator的C2通信功能以及性能限制,我们认为释放这一额外工具(Mimikatz变种)的就是该组织所使用的Clayslide文档,待会儿也会对这部分内容进行详细分析。

.HTA文件中的VBScript负责执行SystemSyncs.exe Payload,并且还会通过创建一个计划任务来实现攻击持久化。之前的Clayslide文档主要通过schtask应用程序(通过命令提示窗)来创建计划任务,而这个.HTA文件中的VBScript使用的是编程的方式(使用Schedule.service对象)来创建计划任务。请大家看下面这张截图,计划任务创建成功之后, ALMA Communicator Payload每两分钟就会执行一次(配合命令行参数“Lock”):

 

深入分析OilRig的DNS隧道木马-ALMA Communicator

 

 

ALMA Communicator木马

ALMA Communicator木马是一款后门木马,它使用了DNS隧道来从攻击者那里接收控制命令并从目标主机中提取数据。随后,这个木马会从Clayslide文档所创建的cfg文件中读取配置信息。ALMA中并不包含内部配置文件,所以如果没有这个cfg文件的话,该木马就无法正常运行了。

在读取完配置文件之后,该木马会创建两个文件夹,即Download和Upload。ALMA使用Download文件夹来保存C2服务器提供的批处理文件,这些文件之后会运行。ALMA使用Upload文件夹来存储批处理文件执行后的输出,最终这些数据会发送给C2服务器。

ALMA Communicator使用了DNS隧道来作为其C2通信信道,这种DNS隧道使用了一种特殊的协议,并且使用了专门的子域名来给C2服务器传输数据,而服务器使用了专门的IPv4地址来给木马发送数据。

在构建这种专门的子域名时,木马会生成一个随机的四位数字,并连接一个硬编码字符串,最后再在字符串末尾添加一个用于标识受感染系统的唯一标识符。为了生成这个唯一标识符,该木马会从目标系统的注册表中获取ProductId,该参数位于SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId。如果无法找到这个注册表键,它将会使用硬编码值00000-00000-00000-00000。接下来,它还会获取当前系统的用户名,后面跟上一个下划线并加上ProductId字符串。该木马会计算这个字符串的MD5哈希,然后将其作为受感染系统的唯一标识符。最后,它会添加硬编码的-0-2D-2D字符串来结束子域名(用于C2服务器通信)的构造。下图显示的是域名的结构:

 

深入分析OilRig的DNS隧道木马-ALMA Communicator

 

为了让大家更清楚地了解ALMA生成的唯一标识符,我们假设测试系统的用户名和ProductId创建的字符串为Administrator_00000-00000-00000-00000,其MD5哈希为35ead98470edf86a1c5a1c5fb2f14e02。接下来,该木马会选取MD5哈希中的第1、5、9、13、17、21、25和29个字符,并将其组合生成唯一标识符字符串3d7f11b4。具体如下图所示:

 

深
    <div style=


专题活动:

天下数据15年专注海外美国服务器|香港服务器|云主机|虚拟主机租用托管以及服务器解决方案-做天下最好的IDC服务商

关于天下数据 联系我们 诚聘英才 付款方式 帮助中心 网站备案 解决方案 域名注册 网站地图

《中华人民共和国增值电信业务经营许可证》 ISP证:粤ICP备07026347号-6

朗信天下发展有限公司(控股)深圳市朗玥科技有限公司(运营)联合版权

7×24小时服务热线:4006388808 7×24小时售后支持:0755-83460017

7×24小时销售热线:4006388808              香港服务电话:+852 67031102

深圳总部:中国.深圳市福田区车公庙苍松大厦北座13层 香港总部:香港上環蘇杭街49-51號建安商業大廈7樓