内容:
分析病毒结构,写出病毒如何利用漏洞进行攻击,详细剖析勒索病毒的运行过程,使用了什么加密算法,调用了什么系统API。
进阶:
中了该勒索病毒,怎么恢复数据
样本分析
首先是看下病毒样本的哈希值
图片.png
查壳信息,win32程序无壳:
图片.png
载入IDA后,先查看字符串,看到有RSA和AES,猜测之后会使用这两种加密方式:
图片.png
用IDA的findcrypto插件,找到了AES算法的特征:
图片.png
第一部分
之后开始对病毒样本进行详细分析,首先是程序入口点:
图片.png
一开始病毒获取它的运行绝对路径,用OD动态调试时可得:
图片.png
在函数 sub_401225中,会根据当前的计算机名随机生成一组字符串,后面会用到
图片.png
OD动调结果:
图片.png
如果参数有/i,就把病毒自身复制到之前随机字符串的文件夹中,名称为tasksche.exe,之后去运行这个,但是我没用命令行去运行,所以直接就跳到下一步。之后将路径切换到了当前的文件夹下,在sub_4010FD里面会添加一条新的注册表项
图片.png
图片.png
但是在OD调试的时候发现在注册表中没有这一项,跟到函数里面,发现在执行完RegSetValueExA退出了,怀疑是权限问题导致注册表没能成功添加
图片.png
分析下在sub_401DAB里面进行的操作,主要对资源文件进行获取和释放到当前文件夹,用到了FindResourceA,LoadResource等对资源操作的函数,下图的Type是XIA,可以通过Resource Hacker来找到程序释放的资源
图片.png
找到名字叫做XIA的资源段,里面一看是PK头,意识到是一个zip压缩包,直接用foremost从程序中提取出zip压缩包,密码是压到栈里的参数WNcry@2ol7
图片.png
配合OD,执行完释放资源的函数后,文件夹中的内容多了一堆,应该都是之后病毒要使用的文件,十六进制编辑器打开后发现有PE文件,压缩包,被加密的文件等
图片.png
之后执行两条命令
attrib +h .
icacls . /grant Everyone:F /T /C /Q
图片.png
这两条命令搜了一下用法,
attrib为批处理文件命令 具体解释如下:- 清除属性。 R 只读文件属性。 A 存档文件属性。 S 系统文件属性。 H 隐藏文件属性。
这个地方命令用错了,对当前文件下文件隐藏不需要加点,直接attrib +h就可以,这里意思是想把这些病毒使用的文件全部隐藏,结果没什么用