攻击的方法

两种方法将KerrDown下载器传递给目标。一个是使用带有恶意宏的Microsoft Office文档,另一个是包含带有DLL side-loading合法程序的RAR存档 。对于RAR存档文件,用于欺骗目标的文件名都是越南语

* DLL Side-Loading 程序可以指定在运行时加载的DLL
https://attack.mitre.org/techniques/T1073/

恶意文件

两个不同的base64 blob插入到单独的表中,并且字体大小已更改为1。

图 1:诱饵文件

一旦增加了字体大小,base64 blob就会在两个不同的表中可见。解码后,可以在每个表的开头看到PE DLL的MZ头

图 2:作为文本嵌入文档的Base64 编码的 pe dll 文件。

根据iCheck变量检查应解码哪个base64 blob,如果受害者系统在64位系统上运行则设置为true,而在32-位系统。如果发现系统是64位,则左侧的base64编码blob将被解码,否则右侧的base64编码blob将被解码。

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

重用了Motobit发布的VBS解码功能 。图4显示了宏代码中使用的base64函数与Motobit发布的VBS base64解码器函数之间的比较。

图 4 :Base64 解码器比较

* motobit Base64
https://www.motobit.com/tips/detpg_Base64/

JACC相似性分析一个RD指数

使用KerrDown样本的imphash值和随附的C2域在我们的数据集中找到多个其他样本。鉴于发现的样本数量很多,我们再次使用了使用Jaccard Index的相似性分析算法 提取所有样本之间的相似性。

使用networkx绘制Jaccard索引结果。

图 5 :使用JACC相似性分析一个RD指数

*Jaccard index :
https://en.wikipedia.org/wiki/Jaccard_index

KerrDown到Cobalt Strike Beacon

DLL将作为“main_background.png”放在目录位置“Users \ Administrator \ AppData \ Roaming”中。DLL从URL检索有效Payload,使用DES算法对其进行解密并在内存中执行。

恶意软件的目的是在内存中下载并执行Cobalt Strike Beacon有效负载。

RAR使用KerrDown存档

通过合法程序改变了从Office宏执行恶意代码到DLL端加载技术的方式。

有越南文件名'Don khieu nai.rar',翻译成英文“投诉信”。该存档包含一个合法的旧版Microsoft Word(Microsoft Word 2007)可执行文件,名为“Noi dung chi tiet don khieu nai gui cong ty.exe”,其翻译为“了解有关如何使用贵公司的更多信息”。攻击者使用DLL端加载技术加载旧版Microsoft Word的恶意DLL。在存档中打开可执行文件时,它会将恶意DLL加载到同一目录中。DLL执行多阶段shellcode,每个shellcode使用各种技术来隐藏下一阶段。整体安装步骤如下:

1.Microsoft Word exe将wwlib.dll加载到同一目录中并执行DLL的“FMain”功能。

2.DLL解码体内的base64编码shellcode并执行它。

3.shellcode解压缩用开源压缩代码UCL压缩的第二个shellcode 并执行它。

4.第二个shellcode用AES解密第三个shellcode。

5.第三个shellcode从以下远程位置检索shellcode并执行它:https:// cortanasyn [。] com / Avcv

6.第四个shellcode将嵌入的Cobalt Strike Beacon DLL加载到内存中并执行它。

图 6 :恶意下载程序的执行流程

查看数据集中所有KerrDown样本的编译时间戳,能够辨别出几个观察结果:

OceanLotus自2018年3月以来一直在其广告系列中使用新的下载程序,并继续在其广告系列中积极使用它。图7显示了KerrDown示例的时间轴:

图 7 :下载器DLL编译时间线

文章中的分析人员试图从数据集中的样本中找到可能的工作时间模式。根据GMT +7绘制了编译时间,发现了该APT组织可能是工作时间的清晰模式。OceanLotus的典型工作时间为上午9点至下午6点,大部分样本均在当天的这段时间内编制。图8显示了在数据集中找到的每个唯一样本的GMT +7恶意软件编译时间戳。

图 8 :GMT +7中的恶意软件编译时间

所有样本都是在工作日期间编制的 - 周一至周五。因此,很明显OceanLotus小组在工作日工作,并在周末休息。图9显示了本周编译的样本。

图 9 :工作日期间的恶意软件编译

结论

辨别出可能的工作时间模式,这表明该团体可能有正式的工作时间,并且在一个像越南或附近国家这样的地区开展业务。虽然观察到的大部分目标都是针对讲越南语的受害者。

来源

https://unit42.paloaltonetworks.com/tracking-oceanlotus-new-downloader-kerrdown/?from=groupmessage&isappinstalled=0

跟踪OceanLotus的新下载程序KerrDown的更多相关文章

  1. 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性

    [源码下载] 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性 作者:webabcd 介 ...

  2. 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装

    在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...

  3. STM32无法使用IAR下载程序问题

    一开始建立了工程,然后程序下载都很正常.不知道什么情况自己下载代码之后,再重新下载代码无法成功. 我按照提示找了一下FlashStm32f30x8.flash这个文件,却发现IAR的目录下没并没有.又 ...

  4. 在U-Boot中添加自定义命令以实现自动下载程序【转】

    本文转载自:https://gaomf.cn/2016/06/26/%E5%9C%A8U-Boot%E4%B8%AD%E6%B7%BB%E5%8A%A0%E8%87%AA%E5%AE%9A%E4%B9 ...

  5. 【tomcat ecplise】新下载一个tomcat,无法成功启动,或者启动了无法访问localhost:8080页面/ecplise无法添加新的tomcat/ecplise启动tomcat启动不起来

    今天转头使用ecplise,于是新下载一个tomcat7来作为服务器使用 但是问题来了: [问题1:全新的tomcat启动即消耗了不可思议的时间,并且启动了之前其他tomcat中的很多项目] [注意: ...

  6. php实现在线下载程序安装包功能

    在线下载程序安装包可以很方便在服务器端下载各种程序安装包(Discuz!.phpwind.Dedecms.WordPress....等一些常用程序)并存储在服务器,大大减少站长上传程序安装包时间.默认 ...

  7. C#一个简单下载程序实例(可用于更新)

    运行时的界面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Dat ...

  8. LPC2378-Jlink 能下载程序,但是调试出现各种奇怪问题

    LPC2378-Jlink调试经验 1.Jlink(d版的没有关系)不能下载程序?     把下载速率设置到500Khz及以下的速率. 2.Jlink能在500Khz的速率下载程序,但是不能调试?添加 ...

  9. 同花顺核新下单程序的"界面不操作超时时间"的设定

    "界面不操作超时时间"的设定 同花顺核新下单程序的'界面不操作超时时间'的设定 系统> 系统设置> 界面设置> 界面不操作超时时间(分): 在这个输入框里填上个3 ...

随机推荐

  1. 自学Aruba5.1.2-带宽限制

    点击返回:自学Aruba之路 自学Aruba5.1.2-带宽限制 1 针对role --可以限制所有数据     注:带宽限制需要PEFNG许可证 单位可以是kbits或是mbits 可以是上传(up ...

  2. Linux安装aMule下载eDonkey200网络共享文件

    安装aMule 如果你的发行版本包管理器中包含amule和amule-daemon可以直接安装. 如果不包含需要在编译的Configure过程添加参数以包含amulecmd和amuled:./conf ...

  3. A1081. Rational Sum

    Given N rational numbers in the form "numerator/denominator", you are supposed to calculat ...

  4. chrome 显示图片遇到的问题,与 淘宝图片服务器 缓存 有关系

    最近发现使用淘宝的jae环境,一个 abc.jsp 地址,随机跳转到淘宝图片空间里任意的一张图片. 但在chrome浏览器发现一个奇怪的问题: 用户第一次访问 abc.jsp  -> 302 f ...

  5. 使用React.cloneElement()给子组件传值

    React提供了一个克隆组件的API: React.cloneElement( element, [props], [...child] ) 可以利用该方法,给子组件传值,使用如下: class Pa ...

  6. idea 普通 web项目配置启动【我】

    首先说这是一个普通的java web项目,没有用到maven.  检出项目: 项目是先用 乌龟svn 在 编辑器外部检出到一个目录下,然后再用 idea的 open 打开这个目录生成的.[因为直接用i ...

  7. opencv 霍夫变换 实现图片旋转角度计算

    在OCR实际开发中,证件照采集角度有很大的偏差,需要将图片进行旋转校正, 效果图: 在应用中发现应该加入高斯模糊,可以极大减少误差线条. 知道线条后 通过求斜率 得旋转角度 .(x1-x2)/(y1- ...

  8. C++中hpp的适用

    本文第一部分转载百度百科,在此感谢百度.第二部分示例为独立编写. hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即 ...

  9. ElasticSearch 索引整体迁移方案

    以下都是经过实战验证过的!!! [前提]使用相同的版本 ElasticSearch-5.5.1,只不过是在不同的服务器之间且重跑数据相对来说代价比较高,这种情况下就可以使用一下这种方式对索引整体迁移 ...

  10. Kafka工作原理解析以及主要配置详解

    Kafka工作原理解析以及主要配置详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 无论是是Kafka集群,还是producer和consumer都依赖于Zookeeper集群保 ...