APT追踪分析|Oceanlotus木马新版本发现及分析
2021-12-13 11:45:44 Author: www.4hou.com(查看原文) 阅读量:17 收藏

导语:知道创宇NDR流量监测系统产品组通过对流量监测分析发现了Oceanlotus APT组织的攻击,经过对恶意木马逆向分析和网络流量分析,确认其为海莲花Remy木马。

01 事件概述

前段时间知道创宇NDR流量监测系统产品组通过对流量监测分析发现了Oceanlotus APT组织的攻击,经过对恶意木马逆向分析和网络流量分析,确认其为海莲花Remy木马。

Oceanlotus(又称APT32、海莲花),是一个能够运用先进的工具、战术和程序(TTP)针对特定目标发动持续网络攻击的组织,擅长鱼叉水坑攻击,从以往捕获的海莲花攻击活动来看,该组织多次使用DLL侧加载技术,加上复杂的花指令,配合多种类型的Loader加载恶意程序,该组织常用的木马包括CoblatStrike,Denis及Remy等。

02 木马分析

分析人员在对捕获的流量进行溯源后,发现了可疑的木马文件,详情如下:

样本名称winspool.drv
MD5DA19EDEB39BE224D33FD70684D036B4D
文件类型Windows库文件
利用方式DLL侧加载

经过分析后,其攻击流程如下:

1.png

nginx.exe运行后加载winspool.drv时,修改自身的OEP内存属性和代码,当程序真正跳转到OEP执行时,跳转到恶意DLL代码段执行。

2.png

创建名为“Local\\{13C04F70-F8EC-4153-92CD-23DB2E5848C1}”的互斥,确保木马单实例运行:

3.png

分配内存,并将数据段中的shellcode写入后运行,

4.png

shellcode的作用是解压出恶意DLL到内存中加载运行:

5.png

恶意DLL名为PERFDISK.DLL,获取其“OpenDiskObject”导出函数地址后跳转执行:

6.png

在OpenDiskObject导出函数中,使用逐位ADD 0x27解密硬编码字符串:

7.png

并从资源中解密出配置信息(包含互斥体、创建文件名、C2地址):

8.png

与服务端进行通信,根据返回的指令可以实现多种功能,如下:

9.png

03 事件溯源

在利用方式上,本次捕获的样本采用白文件动态侧加载的方式,这与之前海莲花在对我国的多次攻击活动类似,例如针对我国发动的攻击活动中使用winword.exe加载wwlib.dll:

10.png

根据已经掌握的情报,海莲花使用过的白文件数量超过15个,下表是部分海莲花使用过的部分白文件列表,表中被利用的大多都是与我们生活息息相关的,具有极强的迷惑性,相信随着时间的推移,会有更多白利用文件浮出水面:

11.png

从代码层面来看,本次攻击使用的Loader与海莲花之前使用的Loader基本一致, 下图为2018年海莲花攻击所使用的shellcode加载入口:

12.png

本次shellcode加载入口:

13.png

本次攻击中创建的互斥名符合海莲花惯用的命名格式:

14.png

字符串解密算法上存在相同之处:

15.png

在功能上,此次捕获的木马与之前曝光的海莲花Remy木马一致:

16.png

04 总结

基于上述分析溯源,从利用方式、代码、加解密算法以及功能上可以认定此次攻击为海莲花组织所发起。并且,Remy木马极其轻量化,主要用作跳板访问敏感企业,攻击者可利用该木马转发流量、下载执行其他木马,后续知道创宇分析人员将对其进一步跟踪,保障我国关键信息基础设施的安全。

目前,知道创宇NDR流量威胁监测系统及知道创宇云防御创宇盾都已经支持对此类APT攻击的精准检测。

如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/2Drj
如有侵权请联系:admin#unsafe.sh