一个加密病毒的分析
2021-04-11 00:09:25 Author: xz.aliyun.com(查看原文) 阅读量:161 收藏

实验环境:win7 x64
样本信息:(微步获取)


分析工具:火绒,x64dbg,IDA
一:在虚拟机中运行一下,看一下病毒的运行效果
启动前:(笔者创建了一个txt文件进行测试)

启动后:(文件都被加密了)

病毒作者留下的联系信息:

二:分析一下病毒文件的行为(使用火绒来监控病毒行为)
一大堆事件信息,头皮发麻:

三:静态分析前置操作
查一下壳:没发现壳的信息,程序是用C++13编写的

字符串中发现了加密算法:发现在两个函数中引用,推测应该就是加密函数了

只有一个区块,推测应该是做了一些处理:

查看导入表发现调用了一些敏感函数如文件遍历的相关函数,及在注册表等操作的相关函数

四:分析
mian函数中只调用了一个函数


我们跟进去看一看(push一堆值,调用了这个函数,这是一个关键函数,从后面分析来看,这是个解密函数,本文以下简称为解密函数)


跟进408B19函数,里面有点乱,我们动态分析一下,调试分析了一下发现一大堆的数据


继续动态调试,来到409CE7处,该处调用了GetModuleFileName函数来获取文件:
本机文件的具体地址:0040CAB8:&L"C:\Users\test\Desktop\a.exe"
接着又调用了解密函数


解密的结果为.Snake4444,这是加密文件的后缀


我们还看见了HOW…..这是作者留下的解密信息文件,推测后续操作应该是解密相关信息并写入文件
接着向下看,来到了4088F4函数,这是一个获取相关硬件信息的函数,留着给后面加密函数使用


继续向下看,我们发现了这个函数,该函数的功能是获取系统环境变量,同时如果第一次获取不成功的话就在获取一次,两次都不成功就退出,主要是获取LOCALAPPDATA或APPDATA环境变量


获取成功的话就在字符串末尾添加反斜杠


接着获取到文件名,最后将自身拷贝到local目录下


接着进行注册表操作


接下来是文件的相关操作,我们进入函数分析一下


进入以后首先看到的是创建文件,写入了一个文件,文件推测为公钥


继续跟着流程走,走到了我们的加密函数了,生成RSA密钥对


接着走,发现了遍历磁盘的操作


同时根据遍历的结果来创建线程,推测接下来应该是进行加密操作了,动次动态调试后可以确定4099A3就是加密函数


接下来我们分析一下409449这个函数


这个函数的主要功能是创建一个BAT文件,推测这个.bat的文件应该是做一些清理工作


在X64中下断409449函数动态调试发现实在这个目录下创建文件


tmp85c2.tmp.bat的文件内容


调用CMD命令删除病毒文件


总结:以前总是喜欢静态分析,但这个病毒的一些函数只看静态的话有些看不懂,还是要多多练习一下动态调试的能力


文章来源: http://xz.aliyun.com/t/9388
如有侵权请联系:admin#unsafe.sh