首页
社区
课程
招聘
[原创]一次样本分析
2021-2-5 17:45 6646

[原创]一次样本分析

2021-2-5 17:45
6646

老久没来发博客,主要是自己这点皮毛还得练练,找了个大佬云集的地方学习了一下技术。
这次分析了一个魔诃草APT 组织的样本,学习到了一些东西,记录一下,万一哪天脑袋不好使忘了,还可以过来翻翻记录。

 

样本描述:关于魔诃草组织的描述网上挺多的,这里就不说了。说回这个样本,本次出现的样本是魔诃草的一个比较新的样本,与以往攻击方式相比发生了一点变化。样本以描述中印两国军事力量为诱饵文件诱导受害者点击,当受害者点击后,携带的EPS 脚本执行并利用CVE 2017-0261漏洞执行shellcode 载荷。详细分析如下:

 

诱饵文档:
图片描述
MD5:6d63dc5cdb504f3365403c1296e696a0

 

对诱饵文件解压缩,找到携带的eps 脚本文件
图片描述

 

将样本移动到虚拟机内执行,并且开启进程监控,观察一下进程执行行为。观察执行过程中产生的进程树。
图片描述
可以发现当打开文档后,FLTLDR.EXE 执行,而FLTLDR.EXE被用于渲染包含该漏洞的嵌入式EPS文件,也就是说,此时恶意代码已经处于执行状态。那具体是怎样执行恶意代码呢?
上面通过解压文件得到EPS 文件,然后使用loadEps 工具对该文件进行加载,附加loadEps 通过断下特定的断点,跳转到shellcode 进行调试,详细操作
图片描述
之后F7 跟进,并且在堆栈窗口留意VirtualAlloc 函数的调用,Address 所指向地址就是shellcode 地址。
图片描述
之后就是对这段数据进行dump 放入IDA 进行静态分析,同时OD 进行动态调试,对比IDA 静态分析,分析shellcode 功能。
图片描述
之后就是刺(枯)激(燥)的调试时间。
通过紧(无)张(聊)刺(枯)激(燥)的分析,基本可以总结该段shellcode 的功能。
图片描述
首先在shellcode 执行时,会对所需要使用到的函数地址进行获取,并返回地址表的首地址。
图片描述
接着会尝试在%windir%\temp 下创建一个tmp 文件,并且马上删除。
图片描述
之后会遍历当前进程,检测WINWORD.EXE 进程是否存在,若不存在则退出。
图片描述
再之后就是在系统内创建恶意文件并开始执行。
图片描述
shellcode 本身携带有多个加密过的PE 结构数据,这些数据在使用前都会通过与0x16082019 异或进行解密。
图片描述
通过shellcode 还会在%ProgramData%\Microsoft\DeviceSync 释放一个和诱饵文件同名的文件迷惑受害者。
最后,通过向explorer 进程注入shellcode 启动生成的后门程序MSBuild.exe。
图片描述
图片描述
除上述的描述以外,该样本还会利用CVE-2019-0808、CVE-2016-7255 进行提权。
CVE-2016-7255
图片描述
CVE-2019-0808
如果当前进程不属于x64 进程,shellcode 会释放针对CVE-2019-0808 漏洞的pri.dll 到文件。pri.dll 使用UPX 进行加壳,对其进行脱壳后分析。以下时与github 开源项目的比对
图片描述
shellcode 中释放的MSBuild.exe 为该组织常用FakeJLI 后门。
MD5:8b498b56fd71467657104c301a558f06
在程序执行时,会使用一段时长接近一分半的循环并在循环内执行printf() 方法,延缓启动时间,干扰检测。
图片描述
进入恶意代码主体后,样本真正的执行其恶意操纵。首先样本创建互斥体,实现样本的单例运行。
图片描述
然后样本获取受害者计算机信息,信息包括但不限于受害者计算机用户名、计算机名称、当前计算机系统版本、计算机主机地址等,并且将这些数据拼接为字符串便于后续进行加密上传。
图片描述
而后通过使用CreateThread API 函数创建线程,用于对受害者键盘操作进行记录。
图片描述
在对用户操作进行记录的同时,还会创建一条线程用于实现与服务器的通信,包括向服务器发送数据包和接受服务器回传的指令。
该条线程所对应的回调函数在接受服务器回传数据前,会对收集的受害者信息进行加密并且生成请求数据,通过socket 向主机地址为:176.107.181.213 的地址发送数据包。
图片描述
在数据包发送成功宏,接受服务器回传指令,实现对受害者计算机远程操作。
图片描述
部分指令及功能如下:
图片描述
攻击者通过下发指令把一些执行命令后的缓存文件上传到C&C服务器上;下表为缓存的文件和记录的内容的对照表:
图片描述
通过对往先该组织同类型样本的比对,该样本在代码结构上做出了部分调整,功能上也做出了一些改动。
图片描述

 

差不多就上面这些,害,这图因为截完就复制到云笔记上,在拔下来糊的不要不要的。其实主要是记录一下对前面shellcode 的分析。

 

接着摸鱼了~


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞1
打赏
分享
最新回复 (5)
雪    币: 7174
活跃值: (3171)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
十年后 2021-2-5 18:43
2
0
谢谢分享!
雪    币: 1859
活跃值: (2215)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
奋进的小杨 2021-3-1 12:39
3
0
样本,从哪里下载的啊
雪    币: 951
活跃值: (6718)
能力值: (RANK:462 )
在线值:
发帖
回帖
粉丝
jux1a 8 2021-3-1 16:54
4
0
奋进的小杨 样本,从哪里下载的啊

楼主分析的原始样本在这里,解压密码:infected ,请勿真机点开。 

上传的附件:
雪    币: 1331
活跃值: (9456)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
erfze 12 2021-3-1 18:31
5
0

可以去https://app.any.run/下载

最后于 2021-3-1 18:31 被erfze编辑 ,原因:
雪    币: 1859
活跃值: (2215)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
奋进的小杨 2021-3-7 16:59
6
0
FLTLDR.EXE,没有执行啊
游客
登录 | 注册 方可回帖
返回