海莲花8月份样本分析( APT样本系列二 )

admin 2020年10月9日15:04:22评论331 views字数 1650阅读5分30秒阅读模式

海莲花8月份样本分析( APT样本系列二 )

01

概述

海莲花8月份样本分析( APT样本系列二 )

"海莲花"(又名APT32、OceanLotus),被认为是来自越南的APT攻击组织,自2012年活跃以来,一直针对中国的敏感目标进行攻击活动,是近几年来针对中国大陆进行攻击活动的最活跃的APT攻击组织之一。知道创宇NDR组在8月份的威胁追踪活动中发现了该组织的样本,其中也有一些有趣的发现。


目前知道创宇NDR流量监测产品已经支持对此次APT攻击活动的精准检测。

02

样本混淆特点分析

海莲花8月份样本分析( APT样本系列二 )
MD5:
84B982D4B5A80792BC8BCB584E26208B

文件名字:
wwwlib.dll

wwwlib.dll这个白加黑dll利用也是很老的套路了,BTW据说在HVV行动中也有红方用到。

文件加了各种混淆,通过观察发现这一批的样本存在如下的混淆特点。

1.将简单功能的汇编指令通过寄存器做复杂处理,感觉就是反着编译器优化的方式来做:

海莲花8月份样本分析( APT样本系列二 )
海莲花8月份样本分析( APT样本系列二 )
海莲花8月份样本分析( APT样本系列二 )
海莲花8月份样本分析( APT样本系列二 )

2.data节中存放加密字符串,并且仅在使用时进行解码,每次试用前将加密字符串做为call的参数传入。
海莲花8月份样本分析( APT样本系列二 )

可以看到解码函数被调用次数很多:

海莲花8月份样本分析( APT样本系列二 )

3.控制流混淆。在.data节中插入常量值,这些值用于条件跳转的比较中,data节中的常量与代码段中的常量进行比较,因此代码跳转始终会发生:

海莲花8月份样本分析( APT样本系列二 )
海莲花8月份样本分析( APT样本系列二 )


由于使用了上述的混淆干扰分析,因此代码打开后看起来很混乱。

4.样本分析:
样本结构接近2019年初曝光的样本基本结构:

海莲花8月份样本分析( APT样本系列二 )

跳过之前的各种混淆代码,在virtualAlloc下断点,

海莲花8月份样本分析( APT样本系列二 )

进入到一段shellcode:

海莲花8月份样本分析( APT样本系列二 )

继续下断内存申请:

海莲花8月份样本分析( APT样本系列二 )

进入第二段shellcode,可以看出第一第二段shellcode的起点是类似的,也是可以做为检测特征的,正常的代码里面不会用e8 接0x0000这样的地址。

海莲花8月份样本分析( APT样本系列二 )

在shellcode的结尾可以看到username,computername字符串,以及第三段要解密的shellcode:

海莲花8月份样本分析( APT样本系列二 )

同时通过读取PEB获取kerner32.dll等dll的导出函数:

海莲花8月份样本分析( APT样本系列二 )

再分配一段小的内存用于解密分段解密shellcode:

海莲花8月份样本分析( APT样本系列二 )
海莲花8月份样本分析( APT样本系列二 )

获取系统网卡的的信息:

海莲花8月份样本分析( APT样本系列二 )

通过advapi32的cryptcreatehash等系列函数,最终解密shellcode:

海莲花8月份样本分析( APT样本系列二 )
海莲花8月份样本分析( APT样本系列二 )
海莲花8月份样本分析( APT样本系列二 )

下图为第三段shellcode完成解密后,可以看到也是e8 0000000开头:

海莲花8月份样本分析( APT样本系列二 )

进入第三段shellcode后可以看到最终payload的域名:

海莲花8月份样本分析( APT样本系列二 )

读取文件后写入内存并跳入内存执行,但是目前该url已经无响应:

海莲花8月份样本分析( APT样本系列二 )


https://tothesky.merseine.com/hh2z
通过查询该域名的威胁情报发现还有其他样本与其通信:

海莲花8月份样本分析( APT样本系列二 )

对新样本进行调试发现shellcode入口点一致:

海莲花8月份样本分析( APT样本系列二 )

将第三段shellcode dump,与第一个样本对比,发现仅连接的url的地址略有不同:

海莲花8月份样本分析( APT样本系列二 )

海莲花8月份样本分析( APT样本系列二 )

03

样本聚类尝试

海莲花8月份样本分析( APT样本系列二 )
此批次恶意样本的shellcode及第一个混淆特点都特征明显,选择第一个混淆特点转换为Yara规则:
rule OceanLotus_aug{meta:description = “OceanLotus_aug”strings:$a = {50 8b c6 83 e8 01 58}$b={52 8b d1 23 d1 5a}$c={50 8b c1 23 c1 5“8}condition:($a or $b or $c)}


测试后找到相似样本50+个,粗略验证后发现全是海莲花在8-9月份攻击中用的:

海莲花8月份样本分析( APT样本系列二 )

海莲花8月份样本分析( APT样本系列二 )


04

关于NDR流量检测

海莲花8月份样本分析( APT样本系列二 )

NDR流量监测系统是一款下一代高级持续性威胁的解决方案。通过实时分析网络全流量,结合特种APT情报及异常网络行为模型分析技术,深度检测所有可疑活动。

特种情报检测嵌入知道创宇多年积累的独家ZoomEye测绘情报,并基于行业第一的创宇盾平台的政府情报,采用情报共享机制,构筑检测生态圈,准确、快速地掌握攻击链条,以便进一步采取相关措施,将APT(高级持续性威胁)攻击阻止在萌芽状态。

扫码立即下载
NDR流量检测产品白皮书

海莲花8月份样本分析( APT样本系列二 )


👇 相关阅读

疑似 KimsukyAPT 组织最新攻击活动样本分析(APT样本系列一)

海莲花8月份样本分析( APT样本系列二 )
👇 点击阅读原文,立刻下载NDR流量检测产品白皮书

本文始发于微信公众号(知道创宇):海莲花8月份样本分析( APT样本系列二 )

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年10月9日15:04:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   海莲花8月份样本分析( APT样本系列二 )https://cn-sec.com/archives/152893.html

发表评论

匿名网友 填写信息