登陆 注册

一款远控木马分析

桑云信息Lzers 2019-05-25 远控木马分析

最近一段时间在面试病毒相关岗位,有的公司会电话、远程面试询问相关知识,有的则会直接发送病毒样本要求分析,写出分析报告。下面要分析的就是面试过程中的某个样本,整理成文,发表出来,供大家参考学习,一起进步!如有不当之处,也希望大佬批评指正,晚辈一定虚心受教。

由于考虑到时间问题,不能让面试官等太久,所以我只将病毒关键功能模块进行分析说明,没有之前文章那么详细,也请大家见谅,不懂之处欢迎提出,我也尽量解答,加油!

注意!本文只限于学习用途。


样本信息

  • 样本名称:

94251089D878B5C45A763B205062B60CC4D7D0A1CD4CAB3CAA38D8E6A43ECB11

  • 样本大小:893.13KB

  • MD5:ba46b18f05ab2b24df26e343dd32946b

  • SHA-256:

32db88982a0d0f92804c4c53ffd8555935871e23b35a9d362e037353cb6b44c5

  • SHA-1:

34f07e131d4f147af96d262eee761582c6f0b1a4

  • VirusTotal:

https://www.virustotal.com/#/file/32db88982a0d0f92804c4c53ffd8555935871e23b35a9d362e037353cb6b44c5/detection


病毒分析环境及工具

环境:Oracle VM VirtualBox、Windows 7 Service Pack 1(x64)

工具:PEID V0.95、OD、IDA、Resource Hack、火绒剑、010editor、Resource Explorer


基础病毒分析

1、基础静态分析

为了方便测试,更改病毒名称为1,拖入PEID发现为非PE文件,拖入010editor发现是个rar文件,更改文件名添加.rar后缀解压发现一个伪装成文件夹的exe程序。

对18xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.exe进行查壳,初步判断为无壳:

将18xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.exe拖入IDA简单发现安全程序字符串和进程遍历函数,判断病毒程序会对安全软件进行遍历:

2、基础动态分析:

为了节约时间,这里就不截图展示了,基本思路是拖入火绒剑监控程序运行,常见的操作和推测可参考之前的文章。


详细病毒分析

1、18xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.exe 分析

首先程序来到sub4057AE()函数,对自身PE程序进行检测,失败则会退出。

sub40624F()根据前面获得的启动信息结构体对主机型号进行检测。

获得命令行参数:

然后进入sub408D2C函数得到系统环境变量,宽字节转为单字节。

之后来到核心程序sub401A40()。获取自身路径以及当前目录:

程序进入sub402120()函数,发现主要是两个sub401450()函数:

第一个sub401450(),程序首先设置文件指针,阅读数据放到开辟的内存空间,然后在c:\windows\help下创建备份文件。

接着将备份文件字符串和同文件名目录作为参数传入sub4026B0()函数,进入sub4026B0()函数。创建文件目录,获得备份文件句柄:

拼接处新的图片目录路径和.liz后缀路径,创建新文件1.liz。

之后将1.liz数据写入1.jpg,删除1.liz文件。

下面对比[esp+0x10]的值开始新的循环。

最终写入了7张图片和Thumbs.db文件。

然后删除备份文件:

来到第二个sub4026B0()函数来到第二个sub4026B0()函数。程序获取临时目录文件路径,拼接出字符串c:\user\yxx\appdata\local\temp\rat.exe,如果存在直接打开,不存在就创建rat.exe。

之后创建进程运行rat.exe。

拼接出路径c:\user\yxx\appdata\local\temp\byeyou.tmp,遍历系统进程,查找是否存在sftlcom.exe与pavfnsur.exe杀毒软件。

之后移动原程序到新的文件名 c:\user\yxx\appdata\local\temp\byeyou.tmp里。

2、rat.exe分析

自启动相关:

注册表相关:

复制自身为ctfmon.exe:

寻找资源文件:

创建进程打开alg.exe程序。然后卸载进程模块,实现傀儡进程注入。


唤醒线程,开始运行核心程序。

提取rat.exe的资源文件命名为resource.exe。

3、resource.exe分析

sub405BD0() 函数,提升程序权限:

sub401720() 解密所需的字符串:

接着也是解密出需要使用的dll模块和相关函数地址:

最后进入核心函数 sub405960():

先进入sub405720() 函数。首先程序打开病毒服务器网址,保存返回数据(服务器地址已经挂了)。

直接静态分析,根据自己定义的字符串切割返回的数据。

至此,基本判断为这是个远控木马,进入远控函数sub403190()。程序首先解密出相关的dll,函数名称,并获得函数地址,方便接下来的函数使用。

远控功能。获取本机IP地址:

检测是否能ping通:

获取系统版本,CPU信息:

获取磁盘信息:

获取文件信息,可以远程创建、阅读、重命名、移动、复制、删除。

远程关机,重启。

卸载:

服务启动:

列出进程,杀死进程:

截屏:

然后传入其他两个域名参数,再次进入远控函数:

至此病毒简单的分析完毕,在远控功能部分中,病毒作者以熟悉、简单的英文甚至中文拼音来命名功能函数,帮助我们节省大量的时间,如果作者没有这样命名的话,我们也可以采用OD动态调试观察。若以后接触了多的话,远控功能部分可以适当跳过,因为大同小异,没必要浪费时间!


病毒行为流程总结

技术思考总结

  1. 要熟悉病毒常见的注入方式,例如这次的傀儡进程注入,最好动手写一遍,熟悉常使用的函数。

  2. 在病毒与服务器交互的过程中,常常遇到某个函数卡死的情况,这时候要合理nop,不然程序分析不下去。

  3. 对于病毒常见的功能模块要熟悉,遇到时要合理选择步过,不要浪费时间。

  4. 对自己有信心,有耐心,程序飞了没关系,再来!

  5. 多动手,多分享,切勿眼高手低,自己独立分析,参考分析,光看不分析所收获的知识是完全不一样的。


手工杀毒及防护建议

1、删除临时文件目录c:\user\yxx\appdata\local\temp下的rat.exe,byeyou.tmp,ctfmon.exe程序。

2、重启电脑,用专业杀毒软件全盘扫描清理。

3、文明上网,减少对不良网站的浏览,绝不下载不良网站上执行程序。


相关IOC

  • http[:]//softover.net/chendog/rat/gif

  • cn.fetftp.nu

  • rt.softseek.org

  • MD5:ba46b18f05ab2b24df26e343dd32946b

  • SHA-256:

    32db88982a0d0f92804c4c53ffd8555935871e23b35a9d362e037353cb6b44c5

  • SHA-1:34f07e131d4f147af96d262eee761582c6f0b1a4


- End -

本文章来自:看雪社区

看雪ID:沐阳    

https://bbs.pediy.com/user-774842.htm

生成海报
请发表您的评论
桑云信息Lzers

桑云信息Lzers

乐山桑云信息技术有限公司专注于企业安全与网站、小程序、APP架设,为企业客户提供一站式解决方案,帮助企业快速实现互联网+转型。
909文章数 31评论数
请关注微信公众号
微信二维码
不容错过
Powered By SangYun.Net