一款远控木马分析

说明:

  萌新一枚,最近一段时间在面试病毒相关岗位,有的公司会电话、远程面试询问相关知识,有的则会直接发送病毒样本要求分析,写出分析报告。下面要分析的就是面试过程中的某个样本,整理成文,发表出来,供大家参考学习,一起进步!如有不当之处,也希望大佬批评指正,晚辈一定虚心受教。由于考虑到时间问题,不能让面试官等太久,所以我只将病毒关键功能模块进行分析说明,没有之前文章那么详细,也请大家见谅,不懂之处欢迎提出,我也尽量解答,加油!

注意:

  此样本存在成人图片内容,未成年同学请勿下载!只限于学习用途!互联网并非法外之地!求生欲强的我不承担相关法律责任的哈!


一、样本信息:


二、分析环境及工具:

环境:Oracle VM VirtualBox、Windows 7 Service Pack 1(x64)
工具:PEID V0.95、OD、IDA、Resource Hack、火绒剑、010editor、Resource Explorer

三、基础病毒分析:

基础静态分析:

为了方便测试,更改病毒名称为1,拖入PEID发现为非PE文件,拖入010editor发现是个rar文件,更改文件名添加.rar后缀解压发现一个伪装成文件夹的exe程序
一款远控木马分析
一款远控木马分析
对18xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.exe进行查壳,初步判断为无壳:
一款远控木马分析
将18xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.exe拖入IDA简单发现安全程序字符串和进程遍历函数,判断病毒程序会对安全软件进行遍历:
一款远控木马分析
一款远控木马分析

基础动态分析:

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

四、详细病毒分析:

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()函数
程序获取临时目录文件路径,拼接出字符串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里
一款远控木马分析

rat.exe分析:

自启动相关
一款远控木马分析
注册表相关
一款远控木马分析
复制自身为ctfmon.exe
一款远控木马分析
寻找资源文件
一款远控木马分析
创建进程打开alg.exe程序
然后卸载进程模块,实现傀儡进程注入
一款远控木马分析
一款远控木马分析
唤醒线程,开始运行核心程序
一款远控木马分析
提取rat.exe的资源文件命名为resource.exe
一款远控木马分析

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


PS:天色已经太晚,还有一篇面试要求写的病毒分析报告近期也会整理发布,供大家参考学习,一同交流进步,谢谢阅读!
由于相关文件有点大,放在微云上供大家下载:https://share.weiyun.com/54wPdwh
(密码52pojie)