勒索病毒分析

​转载自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.19二、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文件,因此详细分析该文件就能够了。.net

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规则3d

 
 
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
rule vir { strings: $text_1="+recover+file.txt" $text_2="C:\Windows\SYSTEM32\CMD.EXE \C START" condition: $text_1 or $text_2 }

3.2 手工查杀步骤或是查杀思路

勒索病毒查杀思路:

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

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

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