首页
论坛
课程
招聘
[原创]一个ThalliumAPT样本分析
2021-7-7 13:49 4950

[原创]一个ThalliumAPT样本分析

2021-7-7 13:49
4950

分析过程

样本类型:doc

 

样本利用方式:宏代码利用

 

 

原始病毒样本是通过 宏代码利用 然后远程连接c2服务器 进行下载.so文件

 

把通过c2 服务器下载的 payload 后缀名改为.exe

 

直接分析.exe 文件 后续的payload文件

 

下载的TEMP.so为exe文件,md5为: f160c057fded2c01bfdb65bb7aa9dfcc

 

行为分析:用process monitor 监测 payload的行为 ,设置过滤器 重命名为 tt.exe

 

可以看到一些对文件的操作 , 还有注册表之类的

 

主要行为:

 

在c:programdata \a7963 下 拷贝自身过去

 

 

 

无壳

 

分析过程:

 

1.查了资料后 知道这是 MFC的程序 ,看代码的特征,确实是MFC独有的

 

2.行为分析的时候(检测行为时)也可以感受到 在运行之后 有个明显的时间差 才有弹窗

 

 

大循环 造成延迟的主要原因

 

0x0BAADBEEF ----> 3131948783

 

VirtualProtect:

 

 

0x40 : 启用对已提交页区域的执行、读和写访问

 

循环结束之后,先用VirtualProtect函数更改0x422548到0x42A548的内存属性为0x40,也就是可读可写可执行,

 

之后调用401670 函数,函数不能反汇编出来,直接看汇编代码

 

 

 

 

 

加载有效地址(load effective address)指令就是lea,他的指令形式就是从内存读取数据到寄存器,但是实际上他没有引用内存,而是将有效地址写入到目的的操作数

 

 

在4012A2 处下断点,之后f8 查看407068处的汇编 发现内容已经改变

 

 

 

前:

 

 

后:

 

 

一步步跟一下 看看解密后的内容都干了什么

 

 

当执行 00427115 的指令时 发现很大的延迟 。回车跟进 004255c8 函数 看一下内容:

 

 

熟悉的大循环

 

返回上级函数,接着向下跟,观察寄存器的值的变化,

 

 

出现字符串

 

 

疑似解密 具体不清楚干啥 接着跟

 

 

运行到这的时候 弹出cmd窗口,速度太快 截不到图

 

跟进函数 004236A8内部 : 一步步简单跟一下

 

00423827处 重新创建自身进程

 

 

0042442A处 创建傀儡进程

 

 

424475

 

 

通过ZwResumeThread恢复目标进程执行

 

找解密的文件存在哪了:

出现字符串 之后单步跟 ,找到解密的文件

 

 

另一种找 解密的 注入的傀儡进程pe 的方法

 

调用ZwResumeThread、ZwSetContexThread这一系列的函数进行傀儡进程注入的时候,注意观察参数和右边的寄存器窗口,会有注入的目标PE的内存地址

 

 

( resumethread()将新的指令指针指向添加的代码并恢复线程执行:之后执行注入的部分)

 

从resumethread 中 一步步 单步跟 之后rent到 4271f3 处 看eax处 跟随到数据窗口 就是 注入的pe

 

 

压栈 eax值 pe的首地址

 

重新调试 先看解密后的地址 再跟resumethread后 的地址 发现pe存的地址相同

dump解密文件,分析:

使用od dump下来的格式不是pe文件格式使

 

使用x32dbg dump pe文件

 

选中pe文件,右键二进制编辑,复制

 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XpuRVhVt-1625548021171)(https://i.imgur.com/KuPAdii.png)]

 

使用winhex保存文件 okokook.exe (编辑,剪贴板数据,写入,ascii-hex)

 

IDA对后续okokook.exe进行分析

程序中的字符串均已加密,程序定义了一个字符串a7963b909152f8ebc3ec69b1dee2b255a9678a5用于动态解密其他字符串

 

 

 

 

分析401040函数

 

 

4014D0函数大量使用解密函数,动调看解密出什么

 

 

 

 

程序会调用这个解密函数解密出一系列杀软文件名并判断是否存在这些杀软文件名。。。。。同理 动调出剩下的杀软名

 

 

接着动调该函数401040

 

得到创建的文件目录

 

 

接下来 ,创建进程

 

ht

 

 

cmd指令执行注册表行为,添加自启动项

 

 

发现ip地址,访问不了。

 

 

 

后面是解密id 版本号 等信息

 

最终获得的请求信息

 

 

gethostbyname 获取目标主机地址

 

 

 

 

通过post的方式将数据send到目标ip

 

之后就是永真循环

 

 

应该是等待服务器返回后续操作命令,但是服务器连接不上,后续行为无法继续分析。


第五届安全开发者峰会(SDC 2021)10月23日上海召开!

最后于 2021-7-8 09:59 被pyikaaaa编辑 ,原因: 改个标题
收藏
点赞2
打赏
分享
最新回复 (3)
雪    币: 240
活跃值: 活跃值 (402)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
lracker 活跃值 2021-7-7 15:48
2
0
建议标题改一改,Thalllium是一个组织,不是病毒。
雪    币: 939
活跃值: 活跃值 (428)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
elianmeng 活跃值 1 2021-7-8 08:47
3
0

二点不成熟的建议:
1.分析样本十有八九服务器是无法连接的情况,如果这个样本很重要,那么我们一般处理这种样本采用自己写服务器进行触发分析
2.感觉你这个有点像分析笔记,如果是报告的话根本不需要od和ida的截图,只需要写样本的思路和流程,最后大家可以根据你的报告给样本写出来,


我的话,你就当玩笑看吧

最后于 2021-7-8 09:11 被elianmeng编辑 ,原因:
雪    币: 867
活跃值: 活跃值 (646)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
pyikaaaa 活跃值 2021-7-8 09:49
4
0
感谢建议!
游客
登录 | 注册 方可回帖
返回