Bandook恶意软件同时针对多个国家的不同行业发起了攻击
2021-04-15 12:00:00 Author: www.4hou.com(查看原文) 阅读量:143 收藏

code-malware.jpg

一个被怀疑与哈萨克斯坦和黎巴嫩政府有关联的网络间谍组织对多个行业发起了新一轮攻击,该组织使用了一个已有13年历史的后门木马的升级版本。

Check Point Research在26号发布的一份报告中,发现了一个名为Dark Caracal组织的黑客,他们在过去一年中部署了几十个数字签名变种的Bandook Windows木马。

攻击者选择的不同垂直行业包括位于智利、塞浦路斯、德国、印度尼西亚、意大利、新加坡、瑞士、土耳其和美国的政府、金融、能源、食品工业、医疗保健、教育、IT和法律机构。

目标市场和地点的种类异常多,进一步证明了研究人员的假设,即该恶意软件不是内部开发,没有由单个对象使用,而是属于第三方出售给全球政府和攻击者的攻击性基础设施的一部分。

Dark Caracal广泛使用Bandook RAT在全球范围内执行间谍活动是由电子前沿基金会(EFF)和Lookout于2018年初首次发现的,当时受害者覆盖了21个国家。

这个多产的组织至少从2012年开始运作,一直与黎巴嫩安全总局(GDGS)有联系,所以研究者认为该组织是国家至国家一级的持续威胁。

不同的组织同时使用相同的恶意软件基础设施进行看似不相关的活动,这让EFF和Lookout推测,APT的使用者正在使用或管理被视为承载许多广泛的全球网络间谍活动的基础设施。

研究人员为此比较了不同的Bandook变种,并分享了其创建者用来阻碍对攻击流程中所有组件进行分析和检测的各种技术。

攻击链的三个阶段

随着攻击链的不断发展,研究人员描述了攻击者从7月到现在所使用的攻击链。

整个攻击链的攻击可以分为三个主要阶段。与许多其他攻击链一样,第一阶段开始于一个ZIP文件中传递的恶意Microsoft Word文档。一旦文档被打开,恶意宏就会使用外部模板功能下载。宏的代码依次下降并执行第二阶段的攻击,这是在原始Word文档中加密的PowerShell脚本。最后,PowerShell脚本下载并执行攻击的最后阶段:Bandook后门。

下面描述的各种工件的名称可能因攻击场景的不同而有所不同。

1.png

完整的攻击链

第一阶段:诱饵文件

第一阶段从嵌入加密的恶意脚本数据的Microsoft Word文档和指向包含恶意VBA宏的文档的外部模板开始。

外部模板是通过缩短网址的Web服务(如TinyURL或Bitly)下载的,该服务重定向到攻击者控制的另一个域。

外部模板文档包含一个自动运行的VBA代码,它从原始lure文档中解密嵌入的数据,并将解码后的数据放入本地用户文件夹中的两个文件中:fmx.ps1(下一阶段PowerShell)和sdmc.jpg (base64编码的PowerShell代码)。

为了允许这种行为,攻击者使用了两种技术的组合:将加密的数据嵌入到原始文档的形状对象中(通过小字体大小和白色前景隐藏),并通过使用来从外部模板代码进行访问以下代码:

o4QQLW7zXjLbj = ActiveDocument.Shapes(1).TextFrame.TextRange.Text

为了进行适当的分析,必须同时找到原始文档和外部模板,这对于调查人员而言有些困难。

为此,研究人员观察并分析了多对文档和外部模板,使用了不同的诱饵图像以及不同的加密密钥。

诱饵文件示例:

2.png

用来说服用户启用宏的诱饵文档

带有宏的外部模板的示例:

3.png

包含恶意宏的外部模板

外部模板对受害者不可见,它们的唯一目的是提供恶意宏。

有趣的是,每一次攻击,经过一段时间后,攻击者都将恶意的外部模板转换为良性模板,这使研究人员对攻击链的分析更加困难。

同样,外部模板看起来像随机的良性文档:

4.png

良性的外部模板

这些文档的主题通常是基于云的服务,例如Office365,OneDrive和Azure,这些服务包含其他文件的图片,受害者只要点击“激活内容”就可以获得这些文件。

例如,其中一个特别引起研究人员注意的文档描述了Office365徽标和迪拜政府颁发的证书的预览。 JAFZA –文档顶部的Jebel Ali保税区是迪拜Jebel Ali港口周围的工业区,全球7000多家跨国公司都在此落户。

5.png

诱饵文件(左)和类似的公共证书示例(右)

Malaysia Shipment.docx

Jakarta Shipment.docx

malta containers.docx

Certified documents.docx

Notarized Documents.docx

bank statement.docx

passport and documents.docx

Case Draft.docx

documents scan.docx

第二阶段:PowerShell加载程序

VBA代码删除两个文件(fmx.ps1和sdmc.jpg)后,它将调用fmx.ps1。

fmx.ps1是一个简短的PowerShell脚本,可解码并执行存储在第二个拖放文件(sdmc.jpg)中的base64编码的PowerShell。

首先,已解码的PowerShell脚本从一个云服务(如Dropbox,Bitbucket或S3存储桶)下载一个包含四个文件的zip文件。压缩文件存储在用户的公共文件夹中,四个文件在本地提取。

6.png

存储在Dropbox.com上的恶意软件组件

7.png

在受害者的设备上被提取的恶意软件组件

PowerShell脚本使用a.png,b.png和untitled.png这三个文件在同一文件夹中生成恶意软件载荷。与其他两个文件不同,untitled.png采用有效的图像格式。它包含一个隐藏的RC4函数,编码在像素的RGB值中,是使用一个已知的名为invoke-PSImage的工具创建的。

最终的可执行文件有效载荷是从以下文件连接而成的:

a.png ——使用RC4解密并存储为aps.png之后;

b.png——如上所述;

最后,PowerShell脚本执行恶意软件,打开draft.docx,并从“公共”文件夹中删除所有以前的工件。

draft.docx是一个良性文档,其唯一目的是使受害者确信该文档不再可用,并且总体执行成功。

8.png

攻击后向用户显示的最终文档

第三阶段:Bandook装载机

该攻击链中的最终有效载荷是名为Bandook的老版的全功能RAT的变种。 Bandook由Delphi和C ++编写,历史悠久,始于2007年,是一种商业化的RAT,由一个绰号为PrinceAli的黎巴嫩人开发。随着时间的推移,该恶意软件构建器的几个变种被泄漏到网络上,并且该恶意软件被也可被公开下载。

9.png

黑客论坛上描述的Bandook的历史

Bandook的执行流程始于用Delphi编写的加载程序,该加载程序使用Process Hollowing技术创建Internet Explorer进程的新实例并将恶意载荷注入其中。有效载荷联系C&C服务器,发送有关受攻击设备的基本信息,并等待来自服务器的其他命令。

因为该变种支持超过100条命令,所以研究人员在这次攻击中观察到的Bandook恶意软件的变种不是之前被泄漏到网络上的变种。

在此攻击中,攻击者仅通过11个受支持的命令利用了恶意软件的自定义测试版本,其中包括:

文件操作

采取截图

文件下载

文件上传

文件执行

有关命令及其相应请求代码的完整列表,请参见附件。

在这个版本中,与C&C服务器的通信协议也被升级为使用AES加密。

野外Bandook变种的分析

研究人员将在攻击中观察到的Bandook变种与由不同的泄漏构建者创建的变种进行比较之后,研究人员开始寻找与他们观察到的更相似的变种。

搜索结果显示,MalwareHunterTeam (MHT)在2019-2020年发布的推文中提到了各种Bandook样本,所有样本都用Certum颁发的证书进行了数字签名。

10.png

MHT发现的带签名的Bandook示例

在研究人员观察到的较新的攻击流程中,研究人员再次发现有效的Certum证书被用来对Bandook恶意软件可执行文件进行签名。

11.png

新发现的Bandook示例的有效签名信息

通过分析MHT记录的所有Bandook示例,研究人员发现第一个示例于2019年3月进行了编译,并支持约120条命令。紧紧几天后就编译了另一个示例,一个不同的带签名的Bandook变种(仅11个命令)使用了完全相同的C&C服务器。从那时起,所有签名的示例仅使用11个基本命令。共享的C&C提供了明确的证据,表明恶意软件的测试版和完整版都是由单个攻击者操作的。

除了MHT报告的Bandook示例外,研究人员还确定了同一时期(2019-2020年)的其他示例,这些示例未进行数字签名并包含约120条命令。这些是研究人员在这段时间内能够找到的唯一ITW Bandook示例。

结合以上证据研究人员相信,这些有签名和无签名变种是特制的Bandook变种,由同一对象使用和开发。

两者都为其C&C域使用相同的域名注册服务:Porkbun或NameSilo。

它们共享一种类似的通信方法,即使用CFB模式下的AES加密算法,使用硬编码IV: 0123456789123456,此函数在恶意软件的公开泄漏中是不可用的。

它们合并了研究人员在其他任何公开泄漏或报告中未发现的命令,最值得注意的是执行Python和Java有效载荷的命令。

12.png

从名为“dpx.pyc”的文件执行预编译Python的Bandook子例程

目前,研究人员总共发现了三种不同的恶意软件变种,研究人员相信它们会按照其出现的时间顺序由单个对象操作和出售:

拥有120个命令(未签名)的成熟版本;

包含120个命令(签名)的成熟版本(单个示例);

有11条命令(签名)的测试版本;

迁移到测试版版本,仅对签名的可执行文件使用11个命令,这可能表明运营商希望减少恶意软件的占用空间,并最大程度地提高他们针对高价值目标进行无法检测的活动的机会。

此外,这种最小化的后门可能表明Bandook的变种变型仅被用作加载器,用于接下来要下载的其他功能更全的恶意软件。

与Dark Caracal的联系

这并不是Bandook恶意软件第一次进行有针对性的攻击,这次活动的一些特点和与之前活动的相似之处使研究人员相信,在本文中描述的活动确实是Dark Caracal行动中使用的基础设施的延续和发展:

1.在各种活动中使用相同的证书提供者(Certum);

2.Bandook木马的使用,它似乎是来自同一源代码的一个独特的不断发展的分支(尚不公开)。与目前分析的120个命令版本相比,来自Dark Caracal 活动(2017)的示例使用了大约100个命令。

3.所选目标的行业和地理分布都存在极大差异。

Bandook命令

以下是Bandook测试版支持的命令列表。

13.png

本文翻译自:https://research.checkpoint.com/2020/bandook-signed-delivered/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/3O7R
如有侵权请联系:admin#unsafe.sh