OceanLotus下载器KerrDown分析

栏目: 编程工具 · 发布时间: 5年前

内容简介:OceanLotus (也叫做APT32),其主要攻击目标是东南亚。过去几年发生的多起攻击活动都与APT 32有关,虽然APT 32的攻击活动是全球性的,但其主要活动在APAC区域,主要攻击目标包括多个行业、外国政府、与越南相关的活动家和持不同政见者。本文介绍OceanLotus从2018年初开始使用的定制的下载器恶意软件KerrDown。研究人员在分析过程中还使用了Jaccard index(Jaccard相似系数)算法来找出KerrDown恶意软件家族与数据库中其他恶意软件家族的相似性。研究人员一共发现

OceanLotus (也叫做APT32),其主要攻击目标是东南亚。过去几年发生的多起攻击活动都与APT 32有关,虽然APT 32的攻击活动是全球性的,但其主要活动在APAC区域,主要攻击目标包括多个行业、外国政府、与越南相关的活动家和持不同政见者。

本文介绍OceanLotus从2018年初开始使用的定制的下载器恶意软件KerrDown。研究人员在分析过程中还使用了Jaccard index(Jaccard相似系数)算法来找出KerrDown恶意软件家族与数据库中其他恶意软件家族的相似性。

研究人员一共发现两种传播 KerrDown下载器的方法。第一个是使用含有恶意宏的office文档,第二个方法是使用含有DLL侧加载的合法程序的RAR文件。对RAR文件来说,用于诱骗目标的文件名都是越南语的,如图11所示。研究人员分析表明攻击活动的主要目标是越南或说越南语的人。

恶意文档

分析首先从word文档开始,研究人员发现文档中含有新的payload KerrDown。哈希值为(SHA256:89e19df797481ae2d2c895bcf030fe19e581976d2aef90c89bd6b3408579bfc3)。

下图1是诱饵文档的截图。受害者打开诱饵文档后,文档中含有一个包含越南语消息的图片,要求受害者启用宏来查看文件的内容。乍一看,文档除了要求启用宏外没有其他内容。但仔细查看发现页面中有两个base64的二进制大对象(blob)以单独表格的形式插入到页面中,而且字体大小被设置为1,以欺骗受害者忽视该内容。使用该技术的另一个原因是许多自动化的 工具 会检测含有流的嵌入的二进制文件的存在。

传播的文档分析

图1:诱饵文档

增大了字体后,base64的blob就可以看到了。解码后就可以在每个表格的开始看到PE DLL的MZ header,如图2所示:

图2: Base64编码的pedll文件,以文本的形式嵌入到文档中

图3是嵌入的宏代码,负责检查base64 blob是否应该根据iCheck变量来解码,iCheck是一个布尔值,如果受害者系统运行的是64位的系统,iCheck就被设置为true,如果受害者系统运行的是32位的系统,iCheck就被设置为false。如果系统是64位的,base64编码的blob就用左侧代码解码,如果是32位的,就用右侧代码解码。

图3: 基于系统检查的Base64 blob选择

研究人员发现攻击者重用了Motobit的VBS解码函数。图4是宏代码中使用的base64函数和Motobit的VBS base64解码函数的对比。

图4: Base64 decoder比较

KerrDown样本相似性分析

研究人员从文档中解码和提取出DLL文件后,使用Jaccard index相似性算法来分析该样本和其他OceanLotus使用的恶意软件样本的异同。

图5:使用Jaccard Index进行相似性分析

KerrDown与Cobalt Strike Beacon 

基于操作系统的架构,不同版本的嵌入的KerrDown DLL会释放到受害者机器中。DLL会被释放到Users\Administrator\AppData\Roaming\目录中,保存为文件main_background.png。该DLL会从URL中取回payload,用DES算法解密并在内存中执行。因此,只有KerrDown DLL下载器保存在系统中,payload会在不写入系统的情况下直接在内存中执行。表1表示下载器会根据受害者机器的操作系统架构来下载payload的URL。

表1 : 基于架构的Payload DLL选择

到KerrDown final payload的链接截止分析时还是活动的,因此研究人员下载了一个Cobalt Strike Beacon变种的副本。之前研究人员已经发布了关于OceanLotus在攻击活动中使用Cobalt Strike的分析。从中可以看出,恶意软件的目的是下载Cobalt Strike Beacon payload并在内存中执行。

含有KerrDown的RAR

研究人员在调查KerrDown时发现多个含有恶意软件变种的RAR文件。研究人员还没有找出传播的方法和变种的目标。攻击者通过加入多个攻击阶段,在每一阶段加入压缩和加密的方法来修改下载器代码。攻击者将恶意代码执行的方式从office宏变为通过合法程序实现DLL侧加载。

RAR文件

(SHA256:040abac56542a2e0f384adf37c8f95b2b6e6ce3a0ff969e3c1d572e6b4053ff3)的文件名为越南文件名Don khieu nai.rar,翻译过来就是投诉信。该文件中含有一个合法的老版本的office word可执行文件Noi dung chi tiet don khieu nai gui cong ty.exe,翻译过来就是学习如何使用你的公司。攻击者用DLL侧加载技术来加载恶意DLL。在打开RAR中的可执行文件时,会加载相同目录中的恶意DLL。DLL会执行多个阶段shellcode,每个shellcode会研用不同的技术来隐藏下一阶段。整个安装步骤如下:

· Word exe文件加载相同目录中的wwlib.dll,执行DLL的FMain函数。

· DLL解码body中base64编码的shellcode,并执行。

· Shellcode解压缩第2阶段shellcode并执行,第2阶段shellcode是用开源压缩代码URCL来压缩的。

· 第2阶段shellcode会用AES解密第3个shellcode。

· 第3阶段shellcode会从远程位置 https://cortanasyn[.]com/Avcv提取shellcode并执行;

·第4阶段shellcode会在内存中加载嵌入的Cobalt Strike Beacon DLL,并执行。

图6: 侧加载的恶意下载器执行流

根据数据集中所有的KerrDown样本的编译时间戳,研究人员发现:

OceanLotus从2018年3月开始使用该下载器,并在之后的攻击活动中持续使用该下载器。图7是KerrDown样本的时间线:

图7: 下载器DLL的编译次数

之前已经有分析报告显示OceanLotus组织来源于越南,因此研究人员分析数据集中的样本的工作时间。图8是恶意软件在GMT +7时间内的编译次数,发现了该组织的可能的工作时间。OceanLotus组织的大多数的样本编译时间为上午9点到下午6点之间。

图8: 恶意软件在GMT +7时区内的编译次数

研究人员发现所有样本的编译时间都是在工作日,即周一到周五。因此,说明OceanLotus组织在工作日工作,周末休息。图9是每周编译的样本。

图9: 恶意软件的编译量

结论

OceanLotus是一个活跃多年的APT组织,也是APAC区域比较复杂的攻击组织之一。本文分析了该组织近期活动中使用的新下载器KerrDown,这也说明该组织在整个攻击活动中持续构建和使用新的工具和技术。经过对样本的分析,研究人员发现该组织有固定的工作时间。主要目标是说越南语的受害者,这与OceanLotus的攻击范围和行业是符合的,该组织可能使用相同的工具来攻击其他的目标。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

疯狂Java讲义

疯狂Java讲义

李刚 / 电子工业出版社 / 2014-7-1 / 109.00元

《疯狂Java讲义(第3版)(含CD光盘1张)》是《疯狂Java讲义》的第3版,第3版保持了前两版系统、全面、讲解浅显、细致的特性,全面新增介绍了Java 8的新特性,《疯狂Java讲义(第3版)(含CD光盘1张)》大部分示例程序都采用Lambda表达式、流式API进行了改写,因此务必使用Java 8的JDK来编译、运行。 《疯狂Java讲义(第3版)(含CD光盘1张)》深入介绍了Java编......一起来看看 《疯狂Java讲义》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具