您的位置 首页 > 数码极客

如何样本结构分析—样本结构分析spss

"海莲花"(OceanLotus),被认为是来自越南的APT攻击组织,自2012年活跃以来,一直针对中国的敏感目标进行攻击活动,是近几年来针对中国大陆进行攻击活动的最活跃的APT攻击组织之一。最近的分析中也有一些有趣的发现。

样本混淆特点分析

MD5:84B982D4B5A80792BC8BCB584E26208B

文件名字:wwwlib.dll

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

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

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

2).data节中存放加密字符串,并且仅在使用时进行解码,每次试用前将加密字符串做为call的参数传入

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

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

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

3)样本分析:

样本结构接近2019年初曝光的样本基本结构:

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

进入到一段shellcode:

继续下断内存申请:

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

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

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

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

获取系统网卡的的信息:

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

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

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

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

通过查询该域名的威胁情报发现还有其他样本与其通信:

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

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

样本聚类尝试

此批次恶意样本的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月份攻击中用的:

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何样本结构分析,样本结构分析spss,样本结构分析怎么分析,样本结构分析怎么写”边界阅读