勒索病毒分析

断了今生、忘了曾经 提交于 2019-11-29 19:11:26

​转载自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 手工查杀步骤或是查杀思路

勒索病毒查杀思路:

  1. 勒索病毒使用的文件加密算法以目前的技术手段是无法解密的。也就是说,中了勒索病毒,没有密钥很难去还原文件。
  2. 需要提前做好预防工作,提高系统安全级别。分析出勒索病毒提取特征,更新病毒库,杀毒软件就可以在电脑中勒索病毒之前之前将病毒截获清除。

如果不慎中了勒索病毒,可根据以下步骤先将电脑病毒清除,防止造成更大的损失。手工查杀步骤:

  1. 使用PCHunter结束病毒进程树
  2. 删除注册表启动项,服务启动项
  3. 删除病毒exe文件
  4. 删除我的文档目录下的病毒备份文件"+recover+file.txt"
  5. 遍历磁盘文件,删除勒索信息文件

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!