一款远控木马分析
最近一段时间在面试病毒相关岗位,有的公司会电话、远程面试询问相关知识,有的则会直接发送病毒样本要求分析,写出分析报告。下面要分析的就是面试过程中的某个样本,整理成文,发表出来,供大家参考学习,一起进步!如有不当之处,也希望大佬批评指正,晚辈一定虚心受教。
由于考虑到时间问题,不能让面试官等太久,所以我只将病毒关键功能模块进行分析说明,没有之前文章那么详细,也请大家见谅,不懂之处欢迎提出,我也尽量解答,加油!
注意!本文只限于学习用途。
样本信息
样本名称:
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动态调试观察。若以后接触了多的话,远控功能部分可以适当跳过,因为大同小异,没必要浪费时间!
病毒行为流程总结
技术思考总结
要熟悉病毒常见的注入方式,例如这次的傀儡进程注入,最好动手写一遍,熟悉常使用的函数。
在病毒与服务器交互的过程中,常常遇到某个函数卡死的情况,这时候要合理nop,不然程序分析不下去。
对于病毒常见的功能模块要熟悉,遇到时要合理选择步过,不要浪费时间。
对自己有信心,有耐心,程序飞了没关系,再来!
多动手,多分享,切勿眼高手低,自己独立分析,参考分析,光看不分析所收获的知识是完全不一样的。
手工杀毒及防护建议
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
本文由看雪论坛 沐阳 原创
转载请注明来自看雪社区
⚠️ 注意
2019 看雪安全开发者峰会门票正在热售中!
长按识别下方二维码,即可享受 2.5折 优惠!
戳
热门文章阅读
公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com
↙点击下方“阅读原文”,查看更多干货