转载自CSDN-初识逆向大神
本文链接:https://blog.csdn.net/w_g3366/article/details/100590112
文章目录
勒索病毒分析报告
1.样本概况
1.1 样本信息
病毒名称:DBD5BEDE15DE51F6E5718B2CA470FC3F
所属家族:勒索病毒
大小: 327680 bytes
修改时间: 2017年4月13日, 15:30:22
MD5值: DBD5BEDE15DE51F6E5718B2CA470FC3F
SHA1值: 863F5956863D793298D92610377B705F85FA42B5
CRC32:1386DD7A
1.2 测试环境及工具
测试环境:虚拟机Windows 7 32位
测试工具:火绒剑、PCHunter、PEiD、OllyDbg、IDA、LoadPE
1.3 分析目标
分析病毒具体行为,找到病毒行为的具体实现代码,了解病毒实现原理,评估病毒的威胁程度。
1.4 样本行为概述
是一个勒索软件,样本运行后的行为:
①将系统内的文本、文档等文件加密
②每个文件夹都会生成文字版和图片版的勒索信息
③程序会自我复制,自我删除,遍历进程
④程序会修改注册表,添加启动项,开机弹出勒索信息
⑤向87.238.192、85.128.216.188和85.13.137.133的80端口发送数据
2.具体行为分析
2.1 主要行为
①自我复制,自我删除,启动新进程
②加密文件,生成文字版和图片版的勒索信息
③设置自启动项,启动项伪装成CMD
定位到注册表可以查看启动项cmd的参数
④遍历进程
⑤网络连接,泄漏用户信息
2.2 提取恶意代码
原样本存在大量的混淆代码。根据样本行为可以发现程序会释放新的进程,然后自我删除。可以猜测是在新进程中执行恶意代码。VirtualAlloc申请内存API,CreateProcessW创建进程API下断点,过程中从申请的内存中Dump出来两份PE文件,第一个PE文件和原文件完全相同,第二个PE文件比原程序要小并且没有混淆代码。
CreateProcessW创建进程函数执行时,可能会执行恶意代码。重点分析,根据参数可以发现进程创建后是挂起的,这是病毒创建傀儡进程的常用操作。在恢复进程ResumeThread API函数下断点。程序运行到这时,通过修改参数禁止恢复进程。
恢复进程ResumeThread执行后,样本进程就退出了。可以发现电脑文件并没有被病毒加密。至此,可以确定创建进程函数要执行的就是第二个PE文件。恶意代码就是该PE文件,所以详细分析该文件就可以了。
2.3 恶意代码分析
2.3.1 样本中Dump的恶意代码基本信息
在分析样本时,样本会在内存中释放出来一个PE文件,负责执行恶意攻击行为。Dump内存得到的是一个.exe
文件,使用PEID查看基本信息,可以确定是VS2010编写的。
2.3.2 样本中Dump的恶意代码分析
①程序流程和关键函数样本的主要流程和关键恶意代码函数见下图
关键代码执行流程:
②检测代码分析
样本开始有一系列的检测代码,如果触发就会退出进程。
样本的流程先拷贝自身,执行新进程,退出本进程。OD动态调试,实时修改验证函数返回值,使进程不退出。
样本中很多函数都调用了sub_4013B0,用OD动态分析,确定该函数功能是获取函数地址。
③解密字符串函数分析
Sub_402170函数的解密流程:申请内存->解密字符串->释放内存。解密关键函数是Sub_403EB0,一共解密五组字符串。
解密得到各种扩展名字符串
解密得到生成勒索信息文件名用到的字符串
解密得到代码中常用用到的各种字符串,如cmd命令、系统环境变量等
解密得到各种网址
解密得到勒索文本内容
④获取权限信息和提高进程权限
获取进程权限信息
提高进程权限
⑤自我复制和删除
⑥修改注册表,设置启动项
⑦创建病毒备份文件
⑧线程回调1:枚举进程
判断进程中如果存在任务管理器、注册表、进程工具、组策略、cmd,将其结束掉。
⑨线程回调2:执行Shell脚本
⑩线程回调3:通过HTTP协议连接网络,发送数据
⑪线程回调4:遍历文件
获取用户设备信息,遍历指定磁盘文件
遍历磁盘,若当前对象是文件夹,则在每个文件夹目录下创建勒索文本和图片
若当前对象是文件,执行加密指定类型的文件行为
3.解决方案
3.1 提取病毒的特征,利用杀毒软件查杀
①病毒特征
UNICODE:"+recover+file.txt"
UNICODE:“C:\Windows\SYSTEM32\CMD.EXE \C START”
②Yara规则
rule vir { strings: $text_1="+recover+file.txt" $text_2="C:\Windows\SYSTEM32\CMD.EXE \C START" condition: $text_1 or $text_2 } 12345678
3.2 手工查杀步骤或是查杀思路
勒索病毒查杀思路:
- 勒索病毒使用的文件加密算法以目前的技术手段是无法解密的。也就是说,中了勒索病毒,没有密钥很难去还原文件。
- 需要提前做好预防工作,提高系统安全级别。分析出勒索病毒提取特征,更新病毒库,杀毒软件就可以在电脑中勒索病毒之前之前将病毒截获清除。
如果不慎中了勒索病毒,可根据以下步骤先将电脑病毒清除,防止造成更大的损失。手工查杀步骤:
- 使用PCHunter结束病毒进程树
- 删除注册表启动项,服务启动项
- 删除病毒exe文件
- 删除我的文档目录下的病毒备份文件"+recover+file.txt"
- 遍历磁盘文件,删除勒索信息文件