查看原文
其他

WannaRen病毒逆向分析报告

菜鸟m号 看雪学院 2021-03-07

本文为看雪论坛优秀文章

看雪论坛作者ID:菜鸟m号


写在前面


这个病毒作者已经公开了私钥,解密工具也制作出来了,我就当是学习逆向对整个病毒进行分析一下。

虚拟机环境:win10x64    

网络状态:飞行模式(因为不知道会不会内网感染)

病毒样本放在百度网盘了,在后面有下载链接。


勒索复现


下载之后有三个文件,一开始我以为运行exe就会完蛋,但是想的太简单了。

根据火绒发的报告,程序传输途径可以是某西下载园,所以exe需要放在C:\ProgramData目录下,然后还是不行,调用的的dll也要放到C:\ProgramData下,因为调用的是硬编码,应该是编程的时候放在项目文件下调用的,然后运行还是没啥动静,那个you文件是虚拟保护过的,没啥变化,最后根据收集到的信息,才知道you文件需要放到C:\Users\Public,下才可以。

第一次运行exe会在C:\Users\Public生成一个fm文件:


里面记录了第一次运行的时间:

然后第二次运行,病毒就开始工作了,表现就是虚拟机的文件全部被加密了,包括文档和压缩包,后缀多一个.WannaRen:


用二进制编辑器打开,文件头尾都有特殊关键字:

桌面有勒索信和图:

打开欣赏一下:
(英文很有百度翻译的味道)

到这里整个复现就完成了,还是折腾了一点时间。


逆向分析


首先康康这个exe,很干净:

就一个导入结构,调用lib文件。

动态调试一下:

RVA1272检查路径是否在指定路径下:

然后调用这个DLL之后,就退出了程序,他用的是硬编码,编程的时候dll应该是和程序放在同一个目录下:

然后就退出程序了,连createfile都没调用,看来fm文件是在这个dll里面创建。

od载入这个病毒wwlib.dll:

如果第一次动态调试的话,应该停在下面位置:

单步几下看看,程序被vmp过,而且没找到中心调度(可能有我没看到),也没找到跳转表,估计是保护全开了,程序大小也着实很大:

run跟踪也没什么看的,可读性很低:

另辟其他路,之前运行的时候有创建fm这个文件,那就对CreateFileA,CreatFileW, readfile都下断点,调用这些win api是需要出虚拟机的:

然后运行,有点收获,create文件,读写权限:

之后又是读取此文件,不知道干什么。

继续f9肯定会在readfile断下:

数据窗口跟随buffer,运行到ret,说明之前的create函数就是写入时间的:

再f9 程序退出。

在之前提到,第一次运行是在public文件下创建fm文件,然后第二次才是加密,就是对这块逆向分析得到的结果,ctrl  f2一下,程序停在莫名其妙的地方:

不用管他,应该是哪个api函数的断点,两次f9到入口处。

然后第一个问题出现了,程序调用依旧读取两次fm就退出了,这块浪费了时间,不知道什么操作,在第一次createfile,这个fm文件的时候,跑到文件夹删除这个fm文件,就可以了。

此时删除:

然后开始读取这个you文件:

这个就是加密文件,读取之后,开始read:

然后buffer跟随,运行到ret,可以看到这个buffer就是you这个加密文件的数据:
再f9跑飞,重新来一遍对这个位置下硬件访问断点:

f9到一个位置:

简单分析一下这块代码,992位置读取加密的数据,下面开始调用解密函数,jmp这个不要去跟踪,因为也是一个解密操作,但是没有用函数封装,跟着容易跑没了。

解密之后保存到ebx指定的位置,数据窗口中跟到:

对9C0位置下断点,f9运行到,可以取消之前下的硬件断点,不然手抖一下就要重来,下面这张截图的地址和上面不一样就是因为手抖:

MZ,DOS stub 安逸,dum出来:

程序还不能直接改成exe,因偏移地址在028处,用二进制编辑器删掉前面的东西:

保存好,修改成exe后缀,就出现了一个真正病毒程序:


这是一个易语言写的程序:


现在没什么保护措施了,静态分析一下,框架不适合start开始分析,从加密位置找找:

Big_Number应该是RSA的p,q和e,xfer没看到调用的函数,crc32_table可以找到加密函数。

对这块分析,就是常规看exe程序,我放到我课程报告里面了。

对这个病毒的解密工具各家也都有了:
http://bbs.huorong.cn/thread-68373-1-1.html

链接:
https://pan.baidu.com/s/1xW88VoHPdw3nQutzG6utag
提取码:vzu3
复制这段内容后打开百度网盘手机App,操作更方便哦



- End -





看雪ID:菜鸟m号

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

*这里由看雪论坛 菜鸟m号 原创,转载请注明来自看雪社区。

推荐文章++++

*  记一次基于Soket通信的app的分析

*  TP-Link Archer路由器LAN RCE

*  深入理解静态变量

*  KERNEL PWN状态切换原理及KPTI绕过

*  暴力爆破靶场搭建及爆破实验


好书推荐






公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com



“阅读原文”一起来充电吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存