Loading... ##### 基本信息 | FileName | 26c38d42cb6db73cbaa27217ba72c9fde19a2253ea37734ff6154a766cee4716.doc | | ---------- | ---------------------------------------------------------------------- | | Type | Microsoft Office Word (97-2003) Document | | Size | 2576KB | | MD5 | 3c3b2cc9ff5d7030fb01496510ac75f2 | | SHA1 | 1d35733c0dd7544c54164fea2725e1f63a590c9a | | SHA256 | 26c38d42cb6db73cbaa27217ba72c9fde19a2253ea37734ff6154a766cee4716 | ##### 样本介绍 **主要行为简述** * 获取系统环境变量:N92KG7KSpA21lGd2OPZA7QwZv; * 获取失败,设置环境变量,再次加载自身; * 成功获取环境变量,加载资源,创建一个正常的word文档,获取shellcode; * shellcode修改指令,解密自身; * 解密c2,通信,下载木马Denis。 ##### 动态行为 双击后打开的文件如下,含360图标进行伪装: ![image.png](http://47.117.131.13/usr/uploads/2021/08/263216406.png) 点击"启用宏"后,含360图标的文档关闭,打开了另一个word文档: ![image.png](http://47.117.131.13/usr/uploads/2021/08/2886298470.png) 进程链: ![image.png](http://47.117.131.13/usr/uploads/2021/08/2954558446.png) 写文件: ![image.png](http://47.117.131.13/usr/uploads/2021/08/3878765925.png) 注册表行为: ![image.png](http://47.117.131.13/usr/uploads/2021/08/3251271223.png) ##### 详细分析 ole复合格式: ![image.png](http://47.117.131.13/usr/uploads/2021/08/632112705.png) 使用工具olevba.exe提取宏,并查看分析报告: ![image.png](http://47.117.131.13/usr/uploads/2021/08/2957139868.png) 生成ole文件:"C:\Users\sam\AppData\Local\Temp\~$doc-ad9b812a-88b2-454c-989f-7bb5fe98717e.ole": ![image.png](http://47.117.131.13/usr/uploads/2021/08/594948150.png) 使用shell执行命令:"regsvr32.exe "C:\Users\sam\AppData\Local\Temp\~$doc-ad9b812a-88b2-454c-989f-7bb5fe98717e.ole"",注册生成的ole控件。 ![image.png](http://47.117.131.13/usr/uploads/2021/08/119679608.png) 该控件是一个dll: ![image.png](http://47.117.131.13/usr/uploads/2021/08/1010864680.png) ![image.png](http://47.117.131.13/usr/uploads/2021/08/1494159589.png) 修改~\$doc-ad9b812a-88b2-454c-989f-7bb5fe98717e.ole入口处代码,构成一个死循环: ![image.png](http://47.117.131.13/usr/uploads/2021/08/1417748051.png) cmd执行命令"regsvr32.exe "C:\Users\sam\AppData\Local\Temp\~$doc-ad9b812a-88b2-454c-989f-7bb5fe98717e.ole"",OD附加regsvr32.exe,便停留在刚才修改的jmp指令处,将其修改为原来的指令,即可正常调试。 主要的恶意功能代码如下,获取系统环境变量:N92KG7KSpA21lGd2OPZA7QwZv,如果没有获取成功,则进行设置,重新加载恶意ole文件;如果获取成功,进入核心函数sub_68121270。 ![image.png](http://47.117.131.13/usr/uploads/2021/08/816150635.png) 设置环境变量: VarName = "N92KG7KSpA21lGd2OPZA7QwZv",Value = "21lGd2OPZA7QwZv" ![image.png](http://47.117.131.13/usr/uploads/2021/08/2389464545.png) 当恶意的ole第二次被加载起来后,便能成功获取系统环境变量,进入函数sub_68121270。 获取资源: ![image.png](http://47.117.131.13/usr/uploads/2021/08/278297236.png) 将加载的资源移动到申请的内存空间,地址0x00280000,大小为0xE4284: ![image.png](http://47.117.131.13/usr/uploads/2021/08/383359271.png) ![image.png](http://47.117.131.13/usr/uploads/2021/08/3230922124.png) 在临时目录下写入文件并打开,以此来迷惑用户,这也是海莲花惯用的手法: ![image.png](http://47.117.131.13/usr/uploads/2021/08/2358199418.png) 执行shellcode。 ![image.png](http://47.117.131.13/usr/uploads/2021/08/1567940227.png) ![image.png](http://47.117.131.13/usr/uploads/2021/08/1628301363.png) shellcode解密自身: ![image.png](http://47.117.131.13/usr/uploads/2021/08/2945035140.png) 解密后的shellcode可读性不是很强,很明显的就是遍历导出表,获取导出函数。有了之前的分析经验,我们知道,重点关注CALL,在每一个call处下断: ![image.png](http://47.117.131.13/usr/uploads/2021/08/1053280096.png) 加载winhttp,大概率有网络行为: ![image.png](http://47.117.131.13/usr/uploads/2021/08/1017402882.png) 连接C&C域名“jcdn.jsoid.com”: ![image.png](http://47.117.131.13/usr/uploads/2021/08/1282670630.png) GET上传本机的ComputerName、Username、OS到jcdn.jsoid.com/script/word.png: ![image.png](http://47.117.131.13/usr/uploads/2021/08/761978725.png) 调试时该C&C已经失活了,使用FakeNet-NG模拟C&C连接无效,后续功能代码无法调试。 在网上找到了一篇分析报告,后续分析参考:https://www.yuque.com/p1ut0/qtmgyx/lou1xb 该报告分析,后续通过5次内存申请和填充,得到一个完整的PE文件,该文件是海莲花常用的远控木马Denis。 最后修改:2021 年 08 月 26 日 03 : 12 PM © 允许规范转载