安全路透社
当前位置:安全路透社 > 网络转载 > 正文

XData勒索病毒加密方式剖析及解密工具

多年以来,一些不法分子看中了勒索用户所获取的巨大利益变化各种传播方式,改变加密手法,给电脑安全带来威胁最近,腾讯安全反病毒实验室监控到一类“XData”勒索病毒,此病毒目前已在乌克兰,俄罗斯德国等地传播,国内也出现了个别中毒用户上周病毒作者已公布出解密密钥。本文介绍“XData”勒索 病毒的加密方式,并给出我们的解密工具。

XData病毒背景

01.png 

通过分析收集到的信息,我们病毒勒索流程分为两个阶段。病毒作者首先利用社工的手法诱骗用户去运行此病毒。 病毒运行起来之后,如果电脑处于局域网环境,病毒会利用Mimikatz工具,获取电脑的管理员登录凭证,并借此密码尝试连接局域网其他电脑的139端口 ,试图访问共享资源文件夹。

02.jpg 

如果猜对密码或者远程用户没有设置共享目录密码,那么病毒便会加密共享目录下的所有文件,并释放勒索提示文件成功勒索局域网内其他用户。

03.jpg 

“XData”病毒在局域网中传播方式给我们一定的提示,要做好网络资源共享目录的安全检查,关闭不需要的共享目录,防止被局域网中其它染毒机器攻击

加密流程

04.jpg 

上图展示了XData勒索病毒加密的流程图,各步骤的详细解释如下:

加密过程

1, 病毒运行时随机生成RSA Session公私钥对,私钥命名为计算机-#-加密时间.key。

此文件会被随机生成的AES-256 key对称加密保存在计算机-#-加密时间.key.~xdata~ 文件的头部。

2, 病毒作者用事先准备好的RSA公钥,随机生成的AES-256 key加密后,保存在 *.key.~xdata~文件的尾部。

3, 普通文件,随机生成的AES-256 key进行加密后存在文件头部。(大于100M的文件,只加密前15M,小于等于100M,大于10M的,加密前10M,小于10M的文件,加密filesize & 0xFFFFFFF0的 全文)

4, RSA Session public key加密随机生成的AES-256 key,并保存在加密文件的尾部。

解密过程

5, 病毒作者手中的RSA private key可以用来解密*.key.~xdata~ 文件尾,获取到文件加密的AES-256 key。

6, 上一步解密出来的AES-256 key 解密*.key.~xdata~可以获取完整的RSA Session private key。

7, RSA Session private key解密用户电脑上所有的*.~xdata~ 文件尾部,获取每个文件的AES-256 key。

8, 上一步获取到的AES-256 key解密每个 加密文件。

下面结合逆向分析,详细解释“XData”加密的每一步实现过程。

Session key加密过程

上图中可以看到两对RSA公私钥对黄色对私钥由作者持有,公钥则通过加密的方式存储在了数据资源中,病毒在运行时通过解密释放在了内存,为后续加密数据做准备。

05.jpg 

之后病毒会随机生成一对公私钥对,对应上图中的绿色图片RSA Session key。

07.jpg 

将这个密钥保存在计算机-#-加密时间.key文件中,并密钥内存清空。

08.jpg 

然后病毒调用sub_4053f0函数对该文件进行加密处理

09.jpg 

加密之前会对取出文件末尾的0x108字节判断是否是已被加密文件然后文件大小进行判断文件大于100M的,只加密15M(F00000),小于等于100M,大于等于10M的,只加密10M(A00000)小于10M的, 对16取整后加密加密会随机生成一个0 x80字节长度的随机数,然后取其中的256bit作为AES对称加密的秘钥。

加密时会对CPU进行判断,如果支持AES-NI的,则调用相应的指令,加快加密速度。AES -NI是一个x86指令集架构的扩展,用于Intel和AMD微处理器,该指令集的目的是改进应用程序使用高级加密标准(AES)执行加密和解密的速度。

012.jpg 

013.jpg 

如果不支持,则调用软件自己的代码进行AES-256加密。

文件全文加密后,接下来一步是随机生成的AES key通过 RSA加密后,存在文件尾部首先写入8个字节的标志位0 x1FF22AA1,0x97DEFF97作为前面判断文件是否已经加密的依据 紧接着调用RSA算法,利用RSA public key把AES-256 key进行加密后存入文件尾部。

014.jpg 

至此,病毒就把随机生成的RSA Session key进行了加密。病毒调用MoveFileEx等函数把文件进行移动,重命名最终会保存在桌面,并命名为 计算机-#-加密时间.key.~xdata

015.png 

普通文件加密过程

对于用户电脑上的普通文件,整个加密过程与RSA Session  Key的加密过程基本一致,唯一的区别在于 把随机生成的AES-256 key加密保存在文件末尾 ,普通文件用的是RSA Session Public Key进行RSA加密,而不是病毒作者事先生成 后保存在数据资源的RSA Public Key要想解密用户的文件,必须得有RSA Session Private Key,而此文件 被RSA Public Key加密了。所以必须等待病毒作者释放手中的RSA Private Key才能成功解密。

解密与查杀

上周病毒作者将手中的私钥公布在了beepingcomputer论坛上 根据此密钥,卡巴斯基等安全厂商先后发布了解密工具。腾讯安全反病毒实验室哈勃分析系统根据上述样本的分析结果,也发布了自己的解密工具,用户可以登录网页进行下载 https://habo.qq.com/tool/detail/xdatacrack

016.jpg

*本文作者:腾讯电脑管家

未经允许不得转载:安全路透社 » XData勒索病毒加密方式剖析及解密工具

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册