Rapid讹诈病毒剖析与检测

搜狐
2024-05-04 10:05
178
讹诈病毒不断是平安行业的一个热点,近期平安人员发现了一款名为rapid的讹诈病毒,该讹诈病毒运用了 RSA加AES对文件停止加密,它不只会感染计算机上已有的文件,还会对新创立的文件停止加密。本文对rapid病毒停止了详细剖析,分析其加密机制,解析其加密后的文件。 1. 概述 当rapid病毒运转时,它会创立多个线程不时扫描文件零碎,停止文件加密,它不只会感染计算机上的已有文件,还会对新创立的文

讹诈病毒不断是平安行业的一个热点,近期平安人员发现了一款名为rapid的讹诈病毒,该讹诈病毒运用了 RSA加AES对文件停止加密,它不只会感染计算机上已有的文件,还会对新创立的文件停止加密。本文对rapid病毒停止了详细剖析,分析其加密机制,解析其加密后的文件。

1. 概述

当rapid病毒运转时,它会创立多个线程不时扫描文件零碎,停止文件加密,它不只会感染计算机上的已有文件,还会对新创立的文件停止加密。被加密的文件,其文件名被添加“.rapid”扩展名,同时文件大小添加了0x4D0字节。

rapid病毒将在停止加密的文件夹中创立名为“How Recovery Files.txt”的讹诈提示文件,文件中包括一个电子邮件,让受益者联络如何完成付款。用户重启电脑,将自动弹知名为“recovery.txt”的讹诈提示文件,其内容和“How Recovery Files.txt”文件内容相反。

2. 详细剖析

运用兰眼(LanyEye)下一代要挟感知零碎对rapid顺序停止检测。在兰眼中,rapid顺序被标志为高危:

接上去对rapid顺序停止逆向剖析。

首先顺序调用ShellExecuteA执行如图所示命令:

次要作用包括肃清Windows卷影拷贝,避免受益者运用卷影拷贝恢复文件。禁用零碎修复和自动修正功用,讹诈顺序能够加密驱动文件招致零碎频繁解体,禁用修复功用,疏忽错误降低零碎解体概率。终止oracle.exe、sqlITe.exe、sql.exe进程,一方面,可以释放内存,另一方面,可以解除这些数据库进程对某些文件的占用。

接着顺序添加开机启动项,在注册表HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun下新建Encrypter和userinfo项,Encrypter项值为“%AppDataRomainginfo.exe”,userinfo的项值为“%AppDataRomaingrecovery.txt”。“info.exe”文件是讹诈病毒顺序本身的拷贝,“recovery.txt”文件是讹诈信息文件,文件内容和上文提到的“How Recovery Files.txt”文件内容相反。

本次为了保证零碎可以正常运转,顺序不会选取文件夹称号为“Windows”、“intel”、“nvidia”、“ProgramData”和“temp”下的文件:

此讹诈软件并没有经过后缀名过滤文件而是判别选取的文件是不是“How Recovery Files.txt”、“info.exe”、“recovery.txt”,假如是其中三个文件则跳过,剩下的全加密。

2.1. 加密进程

顺序首先创立了一个PROV_RSA_FULL类型的CSP容器,然后将经过base64的硬编码在顺序中的RSA的公钥(命名为RSA1)导入。

接着顺序会检查能否存在注册表项“local_public_key”。假如没有则会创立注册表项“local_public_key”

顺序创立了一个PROV_RSA_FULL类型的CSP容器,并且调用CryptGenKey()生成了随机RSA密钥对(命名为RSA2)。

之后调用CryptExportKey()导出刚刚生成的RSA2私钥数据,并调用RSA1公钥对RSA2私钥加密。加密完成后,将RSA私钥数据写入注册表项HKEY_CURRENT_USERSoftwareEncryptKeyslocal_enc_private_key,将数据长度写入注册表项HKEY_CURRENT_USERSoftwareEncryptKeyslocal_enc_private_key_len

再次调用CryptExportKey()导出刚刚生成的随机RSA2公钥数据,这次不需求加密,直接写入注册表HKEY_CURRENT_USERSoftwareEncryptKeyslocal_public_key和HKEY_CURRENT_USERSoftwareEncryptKeyslocal_public_key_len。

之后开端对文件停止加密,获取选取文件的大小,假如文件大小小于0x4D0字节,则直接进入加密流程;否则读取文件尾部0×20字节的数据,并判别这局部数据是不是加密标志“F5 D5 CD CD CD 7D CD CD 95 91 C1 C1 CD AD CD CD 41 CD 41 CD C1 99 FD 1D 59 95 81 FD 99 79 25 A5”,假如不是则进入加密流程,否则选取下一个文件。由于加密过的文件是大于0x4D0的,并且在其文件尾部添加了0×20个字节的加密标志

顺序进入加密流程后,会先调用CryptGenKey()生成随机AES密钥。

并调用CryptExportKey()导出AES密钥数据,BLOBTYPE=PLAINTEXTKEYBLOB:

如图所示前往数据长度0x2C,0x3A42A8-0x3A42AF是BLOBHEADER ,0x3A42B0-0x3A42B3是keysize,0x3A42B4-0x3A42D3是AES的密钥,0x3A42D4-0x3A4327则是运用0xCD填充的数据:

运用RSA2公钥加密AES密钥,加密的是上文中提到的“BLOB格式数据+AES密钥+填充数据”这整个0×80字节的数据:

读取文件数据,运用AES密钥对读取的文件数据停止加密 :

AES加密是依照128bit停止分组,当原文件字节数不是128bit的整数倍时,加密后的密文数据将会大于明文数据,所以顺序在加密前在明文尾部填充了0×10个字节的0×00(一个AES分组的字节数)。

向文件覆写加密后的数据,首先只写入原文件大小的密文数据,变多的0×10字节的数据接上去再写;

持续向文件中写数据,写入0x4D0字节的数据。这0x4D0字节的数据包括五局部:第一局部0×10字节,这局部就是变多的数据;第二局部0×20字节,包括源文件文件大小的字符串和0xCD的填充数据;第三局部0×80字节,是被加密的AES密钥数据;第四局部0×400字节,是被加密的RSA2私钥数据;第五局部0×20字节,是文件加密标志数据。

在文件名后添加“.rapid”扩展名:

显示讹诈信息

至此,我们曾经剖析完了rapid讹诈软件的文件加密流程,接上去我们来剖析被加密后的文件。

3. 加密文件解析

假定一个大小为0×9000字节的文件被rapid顺序加密,加密后的文件构造如下:

4. 小结

rapid讹诈病毒运用数字签名(RSA_AES-256)对文件停止加密,文件解密需求获取数字签名的私钥。但是,数组签名的私钥运用RSA加密,在没有RSA私钥的状况下,很难获取数字签名的私钥,文件恢复的难度极大。

2017年是讹诈病毒高发的一年,可以预见2018年这种形态仍将继续,我们每一团体都应该进步警觉,切勿翻开来自可疑邮箱的附件,防止运用第三方软件资源,装置防病毒软件,降低平安隐患。

*本文作者:兰云科技银河实验室,转载请注明来自FreeBuf.COM


评论区
登录 发表评论