九维团队-暗队(情报)| “海莲花”APT 历史样本分析报告

APT 2个月前 admin
320 0 0

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告

一、背景






关于“海莲花”(OceanLotus)的相关背景介绍在先前的文章:九维团队-暗队(情报)| “海莲花”APT近期攻击样本分析报告中已有提及,在此不再赘述,感兴趣的小伙伴可自行点击蓝字阅读。


二、概述






近日,安恒信息分子实验室反APT小组(九维团队-暗队)在研究过程中分析了“海莲花”的历史攻击活动样本。样本被加载后会加载多阶段Shellcode逃避反病毒软件,当执行到最后阶段时,会加载CobaltStrike Bind Beacon并等待主动连接。


小组通过对样本进行逆向分析,根据样本行为特征、C2以及结合开源情报,确定此次攻击活动背后的组织为“海莲花”APT。


三、样本分析







3.1 样本基础信息


文件名:HPScanUI.dll

MD5:53dcd2d08e115b907c95fcfeccb9d23f

SHA-1:1dad1b833a769ebf0a3b7b2b626f871fe626b087

SHA-256:9fb87b5d86639702329056bcffc740342477ff595d52adf1d6323d696d26b694

创建时间:2018-02-12 04:53:00 UTC



3.2 分析过程


3.2.1 第一阶段分析



创建互斥体,防止重复加载(eeba19f3-5f1d-4172-a776-3d5ccc5ebbd7):

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


初始化Shellcode数组:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告



接着调用sub_100015B0,挂起除当前主线程之外其余线程。

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


随后会调用sub_10001660方法,该方法将宿主进程的.text代码段添加可修改属性,并使用随机的单字节指令进行填充。

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


将主程序text节的可执行权限设置为读写执行(加入可写权限)。


运行前:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


text节不具备可写:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


运行后:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


使用随机单字节指令镂空进程:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


镂空后:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


在已被镂空的宿主进程末尾写一段shellcode,随后结束DLL线程,跳转到宿主进程执行,执行完所有的单字节垃圾代码后,会跳转回DLL继续执行下一阶段。

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


3.2.2 第二阶段分析



从资源中检索并释放shellcode:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


3.2.3 第三阶段分析



执行后跳转到加密Shellcode,随后在执行时动态替换解密。

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告



获取 %windir% 环境变量:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


解密Shellcode:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


调用CreateThread执行Shellcode:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


Shellcode头部经过混淆加密,执行时自解密:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


解密后为 CobaltStrike Bind TCP beacon:

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告


九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告



四、关联分析






根据样本行为特征、C2以及结合开源情报,确定此次攻击活动背后的组织为“海莲花”APT。



4.1 代码混淆


海莲花经常使用Shikata Ga Nai混淆器进行shellcode代码混淆,通过对比,该样本中多阶段shellcode均使用了代码混淆。



4.2 相似代码


在海莲花历史样本中,发现了多个与本次相同的执行片段与函数。


IOC:

MD5:53dcd2d08e115b907c95fcfeccb9d23f

SHA-1:1dad1b833a769ebf0a3b7b2b626f871fe626b087

SHA-256:9fb87b5d86639702329056bcffc740342477ff595d52adf1d6323d696d26b694




—  往期回顾  —


九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告



关于安恒信息安全服务团队
安恒信息安全服务团队由九维安全能力专家构成,其职责分别为:红队持续突破、橙队擅于赋能、黄队致力建设、绿队跟踪改进、青队快速处置、蓝队实时防御,紫队不断优化、暗队专注情报和研究、白队运营管理,以体系化的安全人才及技术为客户赋能。

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告

九维团队-暗队(情报)|  “海莲花”APT 历史样本分析报告

原文始发于微信公众号(安恒信息安全服务):九维团队-暗队(情报)| “海莲花”APT 历史样本分析报告

版权声明:admin 发表于 2022年12月12日 下午4:28。
转载请注明:九维团队-暗队(情报)| “海莲花”APT 历史样本分析报告 | CTF导航

相关文章

暂无评论

暂无评论...