主页 > imtoken钱包怎么登录 > “WannaCry”勒索病毒工作机制分析

“WannaCry”勒索病毒工作机制分析

imtoken钱包怎么登录 2023-10-07 05:13:51

比特币的释放机制_比特币的信任机制_比特币分叉影响比特币总量

比特币分叉影响比特币总量_比特币的信任机制_比特币的释放机制

介绍

比特币分叉影响比特币总量_比特币的释放机制_比特币的信任机制

“WannaCry”勒索病毒自5月12日爆发以来,引发全球关注。 各方针对该勒索软件进行了详细分析、预警并提出了应急解决方案。 启明星辰通过《“WannaCry”事件分析与启示:谨防下一个“永恒之蓝”》一文对该勒索病毒进行了详细分析,并对可能造成类似严重影响的NSA漏洞进行了分析和预警。 并通过《NSA的“Esteemaudit”深入分析验证:谨防下一个“蓝色”》一文,对“Esteemaudit”进行了详细的深入分析验证。 随后,我们继续对“WannaCry”勒索病毒进行跟踪分析。 本文分析了“WannaCry”勒索蠕虫的感染和释放机制、黑客的比特币收入、勒索蠕虫的加解密机制、文件删除处理等。

WannaCry感染与释放原理介绍

比特币分叉影响比特币总量_比特币的释放机制_比特币的信任机制

如果当前机器因为MS17-010漏洞感染了勒索蠕虫“WannaCry”,那么这台机器就会被植入一个mssecsvc.exe文件。 此文件是“WannaCry”的父文件,它将尝试连接到开关 URL。 如果连接成功,将终止执行,否则将释放tasksche.exe文件,并将自己注册为一个服务,服务名称为mssecsvc2.0。 同时扫描局域网和外网进行漏洞检测,存在漏洞则感染。 需要注意的是比特币的释放机制,局域网扫描会尝试网段内的所有IP进行检测,外网扫描会通过随机算法生成随机IP进​​行检测。 文件tasksche.exe是该勒索病毒的主文件,主要用于释放解密程序、压缩TOR程序、加密程序等。

比特币的释放机制_比特币的信任机制_比特币分叉影响比特币总量

受害者赎金支付分析

比特币分叉影响比特币总量_比特币的释放机制_比特币的信任机制

比特币分叉影响比特币总量_比特币的释放机制_比特币的信任机制

截至5月19日,勒索作者通过代码中写入的比特币地址获得了47枚比特币。 据我们统计,截至15日,黑客仅通过三个固定比特币地址就收到了约26个比特币。 19日至今,共有308人支付了比特币,共计47.44929012枚,按照当前比特币人民币价值计算的金额为56.7万元。 下面是三个比特币地址的支付人数和支付比特币金额的折线图。

比特币的信任机制_比特币的释放机制_比特币分叉影响比特币总量

比特币的释放机制_比特币的信任机制_比特币分叉影响比特币总量

比特币的信任机制_比特币分叉影响比特币总量_比特币的释放机制

从上述三个比特币地址接收到的比特币数量和接收人数来看,自5月12日爆发以来,5月13日和15日黑客接收到的比特币数量和接收人数最高,随后迅速下降。 得益于安防行业的积极响应和抢修。

比特币的释放机制_比特币分叉影响比特币总量_比特币的信任机制

根据上面的汇总图,我们也可以看出,“WannaCry”勒索病毒的影响力正在逐渐减弱。 另外需要注意的是,如果勒索病毒能够成功连接到勒索病毒作者的服务器(通过Tor网络),服务器会根据被感染主机上的00000000.res文件生成一个唯一的比特币地址,并返回给勒索病毒作者的服务器。受害者。

比特币分叉影响比特币总量_比特币的信任机制_比特币的释放机制

该勒索软件的作者申请了Tor网络.onion的5个顶级域名,并将这5个服务器地址硬编码到代码中。 如下所示:

比特币分叉影响比特币总量_比特币的释放机制_比特币的信任机制

gx7ekbenv2riucmf.onion

57g7spgrzlojinas.onion

xxlvbrloxvriy2c5.onion

76jdd2ir2embyv47.洋葱

cwwnhwhlz52maqm7.洋葱

比特币分叉影响比特币总量_比特币的释放机制_比特币的信任机制

如果当前被感染的机器能够成功连接到这些服务器,它就可以动态获取一个唯一的BTC地址。 此外,由于 Tor 的 P2P 网络工作方式,即使拥有 Tor 服务器地址也很难追踪到黑客。

加密原理分析

比特币分叉影响比特币总量_比特币的释放机制_比特币的信任机制

比特币的释放机制_比特币的信任机制_比特币分叉影响比特币总量

该勒索软件与以往大多数勒索软件的不同之处在于,它在加密过程中使用了双RSA加密密钥,以确保每次文件加密都使用不同的密钥。 为了防止暴力破解,加密过程如下:

比特币的释放机制_比特币的信任机制_比特币分叉影响比特币总量

两对公钥中的一对RSA私钥Privatekey0存放在勒索软件作者手中比特币的释放机制,公钥Publickey0则存放在勒索软件中。 另一对RSA密钥由样本本地生成,分别为Privatekey1和Publickey1。 首先,样本会使用公钥Publickey0加密私钥Privatekey1,保存为00000000.eky文件; 而Publickey1会保存为00000000.pky文件,用于后续的aes密钥加密。

生成pky和eky文件代码如下图:

比特币的信任机制_比特币的释放机制_比特币分叉影响比特币总量

接下来进入加密用户文件的过程:勒索病毒会为每个文件生成单独的aes128key,使用公钥Publickey1进行加密,然后生成密文头; 然后用aes128key对每个文件进行加密,生成加密密钥文本,将加密后的密文拼接到密文头的后面,生成最终的加密文件。

这里可以看到AES秘钥是通过文件00000000.pky进行加密的,加密前的秘钥是伪随机函数生成的128位密钥,也就是说秘钥只有16字节。 伪随机算法的算法特点是可以被暴力破解,所以笔者选择用不同的密钥对每个文件进行加密,以防止被暴力破解。

此外,该勒索程序主要负责通过函数sub_10003AC0创建公私钥对,并保存到相应的文件中。 首先通过调用CryptGenKey生成公私钥对,然后调用CryptExportKey将公钥导出到文件00000000.pky,然后在1000CF40地址硬编码公钥加密新生成的私钥(私钥在勒索者之手),并将加密结果保存到00000000.eky文件中。

比特币的释放机制_比特币分叉影响比特币总量_比特币的信任机制

比特币的信任机制_比特币的释放机制_比特币分叉影响比特币总量

生成密钥对:

比特币的释放机制_比特币的信任机制_比特币分叉影响比特币总量

但是,生成公私钥对算法的API在XP系统中存在内存管理漏洞。 从上面的加密原理我们可以看出,如果我们能够得到Privatekey1,那么我们就可以解密当前系统中的所有文件。 根据windows API,当私钥生成后,会暂时存放在堆内存中,稍后释放。 在win7/win8/win10等系统中,这块释放的内存会被填满,而在XP系统中,这块内存只存放在free list中,并没有填充内容,所以理论上只要在memory 如果找到这个密钥,就可以完全解密所有的文件。 目前获取密钥的工具已经发布在github上:。

解密原理分析

比特币分叉影响比特币总量_比特币的释放机制_比特币的信任机制

用户点击支票支付按钮后,程序开始在后台连接C&C服务器。 连接成功后,会上传用户的电脑名、账户名等信息和00000000.eky的内容,C&C服务器会根据上传的信息查询支付结果。 如果支付成功,则用手头的Privatekey0解密用户的00000000.eky,生成解密后的文件00000000.dky返回给用户,并解密用户的文件,否则告知用户没有支付或作者尚未证实。

比特币的释放机制_比特币分叉影响比特币总量_比特币的信任机制

原文件选择性删除处理分析

比特币分叉影响比特币总量_比特币的释放机制_比特币的信任机制

比特币的释放机制_比特币的信任机制_比特币分叉影响比特币总量

通过分析发现勒索病毒文件加密后对原始文件的处理存在一些漏洞,可以作为文件恢复的依据。

1、随机选取少量文件,通过释放本地生成的RSA公钥进行加密。 这部分文件可以直接解密。 这些加密文件存储在文件 f.wnry 中。 可以直接通过勒索软件生成的公钥文件进行解密。

比特币的信任机制_比特币分叉影响比特币总量_比特币的释放机制

比特币的信任机制_比特币的释放机制_比特币分叉影响比特币总量

2、小于200M的文件,且文件所在目录为%DESKTOP%、%MYDOCUMENT%和%User%,将填充下图后缀的文件。

比特币的释放机制_比特币的信任机制_比特币分叉影响比特币总量

在其他情况下,文件不会被填满,所以这部分文件是可以恢复的。

比特币的信任机制_比特币分叉影响比特币总量_比特币的释放机制

参考文件:

结尾

比特币分叉影响比特币总量_比特币的信任机制_比特币的释放机制