伪装成游戏的Anatova勒索病毒

2019-02-14   

威胁等级:★★★★
Anatova勒索病毒使用对称加密算法加密受害者文件,使用非对称算法加密密钥,没有攻击者的密钥无法解密文件。此病毒主要通过伪装为游戏和应用软件诱导受害者下载,要求受害者使用达世币支付赎金。

背景介绍

Anatova勒索病毒于2019年1月份出现,此病毒运行之后使用对称加密算法加密受害者文件,使用非对称算法加密密钥,没有攻击者的密钥无法解密文件。病毒会在被加密文件同目录下释放ANATOVA.TXT文本文档,文档中要求受害者支付赎金才可以解密文件。此病毒主要通过伪装为游戏和应用软件诱导受害者下载。虽然目前没有发现此病毒通过漏洞和弱口令传播,但是病毒加密技术成熟,可以看出是有经验的攻击者开发,因此不排除未来此病毒的变种增加钓鱼邮件、漏洞、弱口令等方式进行攻击。此外Anatova勒索病毒要求受害者使用达世币支付赎金。2018年影响较大的GandCrab勒索病毒也曾通过达世币索要赎金。并且相似的是它们都使用 Salsa20+RSA算法加密,都会检测系统语言,排除独联体国家。目前不清楚这两个病毒作者之间的关系。

病毒MD5:2A0DA563F5B88C4D630AEFBCD212A35E

威胁等级:★★★★

病毒攻击视频

查杀病毒视频

拦截病毒视频

技术分析

根据病毒的执行流程,我们可以把病毒的行为划分为如下几个部分

预处理阶段、准备密钥阶段、加密文件阶段

(一)、预处理阶段

预处理阶段 病毒主要做的是 硬编码字符串解密、获取后面用到的系统API、运行环境的检测、反沙箱、结束指定进程等操作,为后面执行加密操作准备好环境。

1、动态解密字符串,动态获取api

病毒用到的字符串会在运行时动态解密,对抗静态扫描

图:加密的字符串
图:动态获取API
图:获取到的API

2、创建互斥体

病毒运行后创建互斥体,保证同一实例运行,防止互相干扰

图:创建互斥体

3、检测系统语言

病毒运行后会检测系统语言,如果发现系统是指定的语言则退出,不执行加密流程。作者这么做应该是为了逃避当地的法律的制裁。

图:检测系统语言

病毒内置的语言列表,包含如下

表:病毒内置的语言列表

4、通过检测用户名反沙箱

图:获取当前系统用户名

获取到的用户名和内置的字符串进行比较,用来反沙箱

图:判断是否与硬编码的用户名相同

包含

LaVirulera
tester
Tester
analyst
Analyst
lab
Lab
malware
Malware
病毒检测的用户名

5、检测数据库软件和办公软件的进程

遍历进程

图:遍历进程

判断是否存在数据库、办公软件的进程

图:遍历到的进程与硬编码的进程进行比较

检测到指定的进程后,结束进程,防止加密数据库和办公文档等文件时被占用。

图:结束指定进程

病毒会检测并结束以下进程

msftesql.exe
sqlagent.exe
sqlbrowser.exe
sqlwriter.exe
oracle.exe
ocssd.exe
dbsnmp.exe
synctime.exe
agntsvc.exeisqlplussvc.exe
xfssvccon.exe
sqlservr.exe
mydesktopservice.exe
ocautoupds.exe
agntsvc.exeagntsvc.exe
agntsvc.exeencsvc.exe
firefoxconfig.exe
tbirdconfig.exe
mydesktopqos.exe
ocomm.exe
mysqld.exe
mysqld-nt.exe
mysqld-opt.exe
dbeng50.exe
sqbcoreservice.exe
excel.exe
infopath.exe
msaccess.exe
mspub.exe
onenote.exe
outlook.exe
powerpnt.exe
steam.exe
thebat.exe
thebat64.exe
thunderbird.exe
visio.exe
winword.exe
wordpad.exe	
检测的进程列表

(二)、准备密钥阶段

病毒加密逻辑成熟,在加密文件之前会首先生成 一对RSA 交换密钥 然后生成 Salsa20 算法的Key和IV,使用Salsa20 算法的Key和IV 加密 RSA 交换密钥中的私钥。然后使用作者硬编码在病毒中的RSA公钥,分别加密 Salsa20 算法的Key和IV。最后将这三个密文拼凑在一起,使用base64编码,后面会写入到勒索信中。作者RSA公钥硬编码在病毒样本中,使用时需要两层解密,首先使用异或0x55解密,之后使用硬编码的密钥解密。

后面加密文件时,每个文件都会使用不同的 Salsa20 算法的Key和IV 加密,但是Key和IV会被RSA 交换密钥中的公钥加密,存储在文件中。因此想要解密文件,首先要解密,加密文件时用到的Salsa20 算法Key和IV,要想解密它,就要解密RSA 交换密钥中的私钥,要想解密RSA 交换密钥中的私钥,就要有作者RSA私钥。

准备密钥的流程如下图:

图:密钥生成流程

1、生成 RSA 交换密钥对,用来加密后面 加密文件时 生成的对称密钥

图:生成RSA交换密钥

2、导出RSA交换密钥的公钥

图:导出RSA交换密钥的公钥

3、导出RSA交换密钥的私钥

图:导出RSA交换密钥的私钥

4、随机生成32字节随机数 作为Salsa20对称加密算法的 key

图:随机生成Salsa20的 key

5、随机生成8 字节的随机数 作为Salsa20对称加密算法的向量 IV

图:随机生成Salsa20的 IV

6、使用Salsa20 算法 加密 RSA交换密钥的私钥

7、解密作者硬编码在样本中的RSA公钥

第一层异或解密

图:第一层异或解密

第二层解密 使用硬编码的 Salsa20 key和IV 解密出最终的作者RSA公钥

图:第二层使用Salsa20算法,解密出作者RSA公钥

被病毒作者硬编码在样本中的RSA公钥解密后

图:最终解密出的病毒作者RSA公钥

8、使用作者RSA公钥 加密 Salsa20算法的 32位密钥Key 和 8位的向量IV

图:加密后的Salsa20算法的key
图:加密后的Salsa20算法的IV

9、base64编码加密后的密钥

此时的状态是,RSA交换密钥的私钥被 Salsa20算法加密,RSA交换密钥的公钥会在下一阶段加密文件时用到。而加密RSA交换密钥的Salsa20算法的key和IV 又被作者RSA公钥加密。这样就保证了没有作者RSA私钥无法解密RSA交换密钥的私钥,从而无法解密文件。最后将 加密RSA交换密钥的私钥Salsa20算法的key、 IV、被加密的RSA交换密钥的私钥 三部分拼凑起来,使用base64编码,后面会被写入到勒索信中。

图:base64编码加密后的密钥

(三)、加密文件阶段

在处理好密钥之后,开始遍历磁盘加密文件

1、获取本机磁盘信息

图:获取本机磁盘信息

2、遍历磁盘中的文件

图:遍历磁盘中的文件

3、加密时会排除以下文件,主要是系统文件和勒索文本

bootinit
desktop.ini
thumbs.db
hiberfil.sys
pagefile.sys
swapfile.sys
autorun.inf
boot.ini
Bootfont.bin
bootsect.bak
iconcache.db
NTDETECT.COM
ntldr
ntuser.dat
ntuser.dat.lo
ANATOVA.TXT
排除的文件

4、加密时会排除以下文件夹,防止系统无法正常运行

Program Files
Program Files (x86)
Windows
ProgramData
Tor Browser
Local Settings
IETldCache
Boot
All Users
排除的文件夹

5、除了判断文件和文件夹之外,如果文件大小 大于 10000字节 也不加密

图:判断文件大小

6、若不在排除列表中,符合加密条件,则开始加密

从待加密文件末尾读取4个字节

图:读取文件末尾4字节

和硬编码的4字节数据进行比较,判断是否已被加密

图:判断文件是否已经被加密

如果没有被加密则加密文件

加密每个文件都会随机生成32字节key和8字节IV

图:随机生成Salsa20算法的key和IV

传入Salsa20的key、 IV、 将要加密的文件内容 、文件大小,使用Salsa20算法加密

图:加密文件内容

文件内容加密后,使用RSA交换密钥的公钥加密Salsa20 算法的key和IV

key加密前

图:key加密前

key加密后

图:key加密后

IV加密前

图:IV加密前

IV加密后

图:IV加密后

将Salsa20算法加密后的文件内容、RSA算法加密后的Salsa20算法的key和IV依次写入到被加密文件中

图:将加密后的内容写入到被加密文件中

7、最终的被加密文件内容,从前往后依次为

被对称算法加密的数据(和原始文件相同大小)+ 被RSA加密的key(256字节)+被RSA加密的IV(256字节)+ 原始文件大小(4字节)+ 硬编码字符1(4字节)+ 硬编码字符2(4字节) 硬编码字符1也被写入到勒索信中,可能是用来判断勒索信和文件是否对应,因为勒索信中存储了被加密的RSA私钥。硬编码字符2 被用来检测文件是否已被加密,防止重复加密。

图:被加密文件结构

8、最后可以看到,文件后缀没有被修改,但文件内容已被加密

图:被加密文件内容

9、文件加密后 会在同目录下 释放勒索信,勒索信中的 ---key--- 后面的内容就是,生成密钥阶段,最后的base64编码的内容

图:勒索信

10、加密完成后病毒会删除系统自带的备份并删除自身

循环执行10次删除系统自带备份的操作

图:删除系统自带卷影备份

删除自身

图:删除自身

防范措施

此病毒目前主要通过伪装游戏和正常软件传播,因此不下载可疑文件可以很大程度防止中毒。除此之外提高防御措施,可疑防止更多类似病毒的攻击。

  1. 不打开可疑邮件附件
  2. 及时更新系统补丁
  3. 不使用弱口令账号密码
  4. 安装杀毒软件,保持防护开启,查杀病毒
  5. 安装勒索病毒防御软件,拦截勒索病毒加密文件

瑞星杀毒软件查杀病毒:

瑞星之剑勒索防御软件拦截病毒:

编辑:瑞瑞 阅读: