CryptoWall勒索病毒分析

栏目: 编程工具 · 发布时间: 5年前

内容简介:前几天给的样本,分析完之后,感觉还是比较经典的,且网上并没有相关分析,所以跟大家分析一下我的思路用PEID查看,并没有加壳,但是竟然有附加数据

前几天给的样本,分析完之后,感觉还是比较经典的,且网上并没有相关分析,所以跟大家分析一下我的思路

用PEID查看,并没有加壳,但是竟然有附加数据

CryptoWall勒索病毒分析

用LoadPe查看导入表信息,明显很奇怪

CryptoWall勒索病毒分析

用火绒剑分析进行行为分析,发现创建了一个跟自己同名的子进程

CryptoWall勒索病毒分析

载入Od,在这个call里程序就跑飞了

CryptoWall勒索病毒分析

跟踪进入,一脸懵*

CryptoWall勒索病毒分析

全都是这样的代码,既然创建了进程,于是直接下API断点

CreateProcessW  CreateProcessA

CryptoWall勒索病毒分析

栈回溯发现地址很小,明显是申请的堆空间,且这个进程是被挂起来的,经验告诉我,既然是挂起,肯定是要修改OEP,活者是写入一段shellcode等操作

继续下 WriteProcessMemory 断点

CryptoWall勒索病毒分析

和我想的不太一样,虽然写入了内存,但是发现是把所有的区段都给改了,包括PE头,多次写入,不用想这块内存肯定我们真实的病毒程序

经过分析这块内存是利用VirtualAlloc申请出来的,把内存中的数据复制过来并解密,然后写入挂起的线程

直接把这块内存dump出来

CryptoWall勒索病毒分析

CryptoWall勒索病毒分析

经过测试,dump出来的程序确实真正的病毒程序

下面开始分析病毒的行为

用火绒剑过滤的时候发现病毒会复制到

C:\Users\用户名\Documents\yfqgbh.exe

名字是六位数的随机字母

在CopyFileW上下断

CryptoWall勒索病毒分析

栈回溯发现下面有创建新的进程,这个进程就是我们复制过去的病毒,往上看的话肯定是判断

CryptoWall勒索病毒分析

往上走,发现有拼接字符串,下F2断,重新跑起来

CryptoWall勒索病毒分析

发现在获取目得的路径

CryptoWall勒索病毒分析

然后打开这个位置的病毒,很显然,这个位置并没有我们的程序,所以GetLastError会返回错误代码2

CryptoWall勒索病毒分析

CryptoWall勒索病毒分析

这样我们的跳转实现不了(实现不了则会复制文件到目标目录)为了分析方面我直接把这个jnz改成jmp分析

单步往下跟踪

发现先创建了一个互斥体,防止多开

CryptoWall勒索病毒分析

到这里我们可以先用IDA静态分析,配合OD动态验证我们的猜想

CryptoWall勒索病毒分析

CryptoWall勒索病毒分析

在IDA里我们可以看到,在获取系统版本之后,下面有几个call

第一个call跟进去之后,发现明显是在提权

CryptoWall勒索病毒分析

第二个call,发现看不到什么,回到OD,继续单步

CryptoWall勒索病毒分析

发现返回值是CreateThread

CryptoWall勒索病毒分析

继续单步,发现创建了一个线程,回调函数地址是我们传进来的参数a1

CryptoWall勒索病毒分析

IDA反编译查看该线程的源码,发现是在枚举进程

CryptoWall勒索病毒分析

经过动态分析这个线程

CryptoWall勒索病毒分析

0217FF40   0217FF48  UNICODE "<"

0217FF44   00000000

0217FF48   0000003C

0217FF4C   00000040

0217FF50   00000000

0217FF54   005A3038  UNICODE "runas"

0217FF58   005A33E8  UNICODE "vssadmin.exe"

0217FF5C   005A3410  UNICODE " Delete Shadows /All /Quiet "

静默删除 影子 ?不知道是下要干什么

分析完线程,回到主函数,继续单步发现创建了很多线程,因为文章篇幅,我们直接以找到感染函数和加密函数 为目的分析(毕竟是勒索病毒,分析重点)

单步跟踪发现,有个设置线程优先级的,想象一下,把这个线程设置成了空闲状态

CryptoWall勒索病毒分析

该线程回调函数地址地址为0x401710,IDA中跟随到该函数,发现里面在递归遍历磁盘,既然都遍历了,碰到合适的肯定要加密一下嘛,

进入递归函数,目录是肯定不会加密的,所以里面必不少的就是判断,目录,后缀名为我们需要加密的程序…等

CryptoWall勒索病毒分析

CryptoWall勒索病毒分析

CryptoWall勒索病毒分析

设置属性,读取到内存,又写入,很有可能是在加密,在该函数位置下断

00401C85    E8 46000000    CALL    ; 感染函数

CryptoWall勒索病毒分析

加密函数肯定是要加密我们的文本的,我在C:\backup放入一个txt文本

跑起来程序,发现这个位置确实放了我们的文件,F9运行

CryptoWall勒索病毒分析

断到读取我们放入的文本时,继续单步跟进

CryptoWall勒索病毒分析

发现要CreateFileW我们的文本了

CryptoWall勒索病毒分析

读取到内存

CryptoWall勒索病毒分析

先读取128个字节,并判断开头处是否为空,如果是则是已经加密过的,如果不是则会申请一段堆空间 

CryptoWall勒索病毒分析

把读取的内容放到这个空间

CryptoWall勒索病毒分析

往下单步跟踪发现又申请了一段堆空间,然后有两个可以函数,经过测试

CryptoWall勒索病毒分析

这个位置的call是加密函数

00401FAE   E8 FD1A0000    CALL

CryptoWall勒索病毒分析

最后就是设置文件指针,然后写入加密后的文本了

CryptoWall勒索病毒分析

IDA里面还是比较清晰的

CryptoWall勒索病毒分析

以下为加密函数

CryptoWall勒索病毒分析

如果这个加密是可逆的,那么我们就可以恢复原始文件了。弹出来的框框显示的是RSA-4096不可逆,有兴趣的可以研究

根据这个样本的特征我推测是CryptoWall勒索病毒,具体版本就不知道了

CryptoWall勒索病毒分析

加密前,加密后

CryptoWall勒索病毒分析

- End -

CryptoWall勒索病毒分析

看雪ID: 与时尽现。         

https://bbs.pediy.com/user-830989.htm

本文由看雪论坛  与时尽现。  原创

转载请注明来自看雪社区

热门图书推荐

CryptoWall勒索病毒分析   立即购买!

CryptoWall勒索病毒分析

公众号ID:ikanxue

官方微博:看雪安全

商务合作:wsc@kanxue.com

点击下方“阅读原文”,查看更多干货


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

项目管理艺术

项目管理艺术

Scott Berkun / 东南大学出版社 / 2006-4-1 / 58.00

《项目管理艺术(英文影印版)(2006年度Jolt获奖图书)》 “该书内容涵盖了项目管理的各个方面:保证项目按时按质交付的有效方法,如何激励项目成员全力以赴地工作,如何成为一名有影响力的领导者等等。通过阅读本书,您会详细地了解微软公司的最优秀的项目管理方法。衷心希望书中的经验能够被付诸于实践!” -Joe Belfiore,General Manager,E-home Divisi......一起来看看 《项目管理艺术》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具