攻击的方法

两种方法将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. MT【66]寻找对称中心

    设函数$f(x)=2x-cosx,{a_n}$是公差为$\frac{\pi}{8}$的等差数列,$f(a_1)+f(a_2)+f(a_3)+f(a_4)+f(a_5)=5\pi$,则 $[f(a_3) ...

  2. python操作oracle实战

    import cx_Oracle conn = cx_Oracle.connect('ua_test/ua_test@192.32.98.15/oracledb') cur1 = conn.curso ...

  3. .net Forms身份验证不能用在应用的分布式部署中吗?

    参照网上的一些方法,使用Forms身份验证对应用进行分布式部署,发现没有成功. 应用部署的两台内网服务器:192.168.1.19,192.168.1.87,使用Nginx做负载分配,配置完全相同:每 ...

  4. 通过url传递参数如果汉字乱码采用的方法

    urlCodeDeal 方法把汉字编码, 在Jsp界面通过Escape.unescape方法,将编码反编译成汉字. 下面是urlCodeDeal方法: //UrlCode 处理代码 function ...

  5. caffe 错误

    一些caffe错误 训练时很快梯度爆炸,loss猛增至nan 如果找不到数据上的原因的话,可以怀疑caffe框架有问题,换用其它版本试试.比如我遇到的问题是在训练时使用了Accuracy层,而该层的实 ...

  6. zTree重命名节点时,操作的那个dom(类似input框那个)怎么写

    <script type="text/javascript"> //tree的编辑节点的方法 ztree.editName(nodeNew[0]); /// $(&qu ...

  7. hinton教授的本科生课程CSC321-机器学习中的神经网的笔记

    最近一直在看仙守博友所记录的笔记 Hinton的CSC321课程(完结,待文字润色): 1.lecture1-NN的简介 2.lecture2-NN结构的主要类型的概述和感知机 3.lecture3- ...

  8. 编译RocketMQ

    目前最新版本为 官方没有提供可执行的安装包,只提供了maven项目,去GitHub下载 点击Download ZIP 就可以了,如果你安装了版本控制工具 SVN 或者 GIT 就可以使用它上边的 UR ...

  9. PHP iconv 解决utf-8和gb2312编码转换问题

    就一个很简单的函数iconv();但是就是这个函数在网上找了很多例子,都无法成功转换,这是为什么呢?     终于皇天不负有心人,答案还是让我找到了. 网上的都是这样用的   <?php $co ...

  10. 64位Ubuntu系统下ROP攻击

    64位Ubuntu系统下ROP攻击 基础知识 ROP攻击 ROP全称为Retrun-oriented Programmming(面向返回的编程)是一种新型的基于代码复用技术的攻击,攻击者从已有的库或可 ...