title: Thallium病毒分析
date: 2021-05-11 15:13:56
tags: Pc样本分析
分析过程
样本类型: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
之后就是永真循环
应该是等待服务器返回后续操作命令,但是服务器连接不上,后续行为无法继续分析。