海莲花分析报告

概述

基本信息

样本名称 关于报送2019年度经营业绩考核目标建议材料的报告.doc
样本类型 远控木马
样本大小 2.51 MB (2,637,824 字节)
MD5 3c3b2cc9ff5d7030fb01496510ac75f2

简介

该样本通过宏,来调用regsvr32.exe加载并执行释放出来的恶意dll文件,执行该dll文件释放出docx并打开,来迷惑受害者。在该dll中还含有一段Shellcode,其作用是用来加载远控软件。比较有趣的是他首先会从指定域名jcdn.jsoid.com获取ShellCode来执行,当获取失败,便会加载原本自带的PE来执行。

流程图

海莲花

简单行为分析

该样本是一个Word文件,文件内容显示的是360的Logo,并提示该文档是需要选种启用内容的,来诱导用户启用宏,如图:

image-20200109192655742

然后也可以用oledump查看一下宏的内容,发现在第8、9段数据中含有宏,如图:

image-20200109122005200

运行宏之后,在临时目录下释放了两个值得关注的文件,一个是~$doc-ad9b812a-88b2-454c-989f-7bb5fe98717e.ole,另一个文件为File-aff94b08-6d9f-48c5-9900-5bee8ef5ab33.docx,如图:

image-20200109144400958

运行宏之后,宏首先调用了regsvr32.exe执行了释放出来的.ole文件,然后迅速结束自身,并重新以一样的参数再次启动一次regsvr32.exe,如图:

image-20200109144857199

在再次执行regsvr32.exe的同时,调用Word打开释放出的.docx文件,如图:

image-20200109145106519

运行宏样本之后,通过调用regsvr32.exe不断与多个黑IP,发送TCP请求,如图:

image-20200109145544881

样本详细分析

宏代码

Alt+F11编辑宏代码,查看主要执行逻辑函数Auto_Open(),其中有明显的执行指令Shell,直接下断点调试查看执行的参数,执行参数为:"regsvr32.exe "C:\Users\john\AppData\Local\Temp\~$doc-ad9b812a-88b2-454c-989f-7bb5fe98717e.ole"",如图:

image-20200109193459300

之前的宏代码,都是用来释放该要执行的.ole文件的。找到该文件查看文件属性,发现该文件是一个伪装成ole文件的dll文件。并通过regsvr32.exe默认执行该dll文件的导出函数DllRegisterServer ,如图:

image-20200109194227269

释放docx并执行shellcode

然后分析该释放出来的dll文件的导出函数DllRegisterServer

首先先检测环境变量==N92KG7KSpA21lGd2OPZA==(感染标记)是否存在。若不存在,便将该值设置为环境变量,并重新以相同参数运行自身进程(如:抓取行为时的迅速结束自身并重新启动)。然后当成功获取到该环境变量后,便会执行函数WriteDocx写入docx的操作,并返回从资源中解密出来的ShellCode的起始地址给V3,然后在执行该ShellCode,如图:

image-20200109195223580

释放docx

函数WriteDocx,往临时目录下写入docx文件并打开,来伪装通过宏打开了一个正常的docx文件,代码如图:

image-20200109195511638

分析ShellCode

该ShellCode内容还是比较多的,其中比较有趣的是,该ShellCode会先尝试与C2服务器==jcdn.jsoid.com==进行链接,来获取数据(ShellCode)来执行,如下两图:

image-20200109204314612

image-20200109204539863

当从C2服务器获取数据失败时,便会加载原先设定好的RAT,将其展开后解密执行,代码如图:

展开并解密PE:

image-20200109204833541

跳转到展开后的PE中去执行:

image-20200109204859782

image-20200109205437150

简单看了一下加载的PE文件,代码量也挺大的并且也比较的复杂,这里就没有继续跟下去了。

样本溯源

C&C服务器
jcdn.jsoid.com
clip.shangweidesign.com
77.245.76.66
77.245.76.66

总结

该样本通过Word内嵌宏来进行传播,并诱导用户打开宏文件来实施攻击。其调用白程序regsvr32.exe加载释放出的dll文件,在一定程度上的隐蔽自身,并最终通过执行shellcode来执行恶意行为。因此在查看未知来源并且带有宏的文件时,应该多加小心,在确认其来源之后,并十分确认没有问题时,再进行查看。