首页 资讯 版块

Crysis勒索病毒样本分析报告

x-encounter
2019-11-19 16:23:38

样本信息

文件名

59ba0b8a9254d69100c442d985cddd092df8dda8f9e39f299b89638c4d8a6311

MD5

56c963dbac47e8faed28580877994331

SHA1

76d9b2be728820e72bd0165d12e11488912e4874

文件大小/Byte

777216

功能简介

勒索程序

样本特点


该样本经过复杂的混淆,通过一些无用的API干扰沙箱和分析人员的判断,外层loader释放shellcodeshellcode解密并执行第二层shellcode,第二层shellcode解密勒索程序并执行,

勒索程序对API和字符串进行了加密处理,在需要时进行解密

显示的勒索信息如下

加密磁盘上的指定类型的文件,被样本加密后的文件后缀为.arrow。样本加密文件所使用的密钥为随机生成,加密算法为AES,用样本内置的RSA公钥,通过RSA算法对随机生成的AES加密密钥进行加密处理。

被加密文件类型如下



样本执行细节

外层Loadershellcode分析

下断点VirtuallAlloc,找到分配可执行内存块的地址,会将加密的Shellcode拷贝到内存块中

shellcode进行解密

根据Pid创建互斥量

开始执行shellcode


shellcode解密另一段shellcode


调用解密后的shellcode解密代码

解密完成之后Call到解密后的代码段中,执行恶意代码

Crysis勒索样本分析


样本概述


样本对字符串和API进行加密处理,通过将自身拷贝到%appdata%System32Startup目录下实现备份,并通过修改注册表实现持久化,接着调用CMD命令删除卷影,遍历进程结束指定进程,解密需要加密的文件后缀,遍历磁盘和网络驱动,整体使用RSA+AES,对rdtsc的结果进行SHA1运算作为AESkeyIV,通过内置的RSA公钥对其进行加密和AES加密后的文件数据拼接生成勒索后的文件。


样本详情


通过特定函数解密字符串

间接调用API


通过调用CreateFileReadFileWriteFile将自身复制到%AppData%System32Startup目录下,并修改注册表实现持久化

调用CMD命令删除卷影

加密的文件后缀如下

  

遍历进程遇到如下进程则结束该进程

mysqld.exe

postgres.exe

mysqld-nt.exe

sqlservr.exe

1cv77.exe

1c8.exe

outlook.exe

services.exe

遍历磁盘,开始加密文件

加密算法分析

对系统中满足条件的文件,依照优先值顺序进行加密。具体的加密过程为:
1. RC4
解密内置的RSA公钥。

2. 调用rdtsc生成随机数,使用SHA1算法对其进行加密作为KeyIV,调用AES对文件内容进行加密

3. 将加密后的文件内容保存到加密后的文件首部。

4.使用内置的RSA公钥加密AESKeyIV保存到文件尾。 

详细流程:

加密算法采用RSA+AES

先通过RC4算法解密内置的黑客RSA公钥


通过调用rdtsc的值进行SHA1加密生产keyIV


使用RSAAESKeyIV进行加密

打开要加密的文件,判断文件大小

1、小于180000一种加密方式

2、大于180000一种加密方式

小于180000的文件,创建带勒索后缀的文件,将原文件的数据进行AES加密并拼接上已经被RSA加密后的Key,存储到新建的文件中,最后


大于180000的文件,不会创建新文件而是把加密后的内容与已经被RSA加密后的Key写入原文件,通过movefile更改文件后缀



样本小结


通过对文件加密过程的分析可以知道,在文档的加密中,同时使用了非对称加密算法RSA和对称加密算法AES,使用AES算法是为了加快加密过程,使用非对称RSA算法是为了保证只有勒索者本人可以通过RSA私钥解密样本中被RSA公钥加密的内容,且样本中RSA公钥加密的内容为随机生成的AES的密钥。


用户评论