好的,稍早之前,我们曾经报导过“支援Windows XP的勒索病毒 Wannacry解密 工具 但是有使用条件限制”,里面提到了,勒索病毒 WannaCry 在加密的过程中,会遗留加密金钥在内存中,就有资安人员找到了从内存中挖掘金钥的方式,进而找到制作 WannaCry解密 工具的方式,但是当时他推出的程式仅支援 Win XP,不过随即就有其他高手以此为概念,制作了大多数 Windows 版本可用的WannaCry解密 工具- WannaKiki 。
法国厂商 Quarkslab 研究人员 Adrien Guinet 发现,Wannacry 使用 两组质数来产生金钥,接着让Windows 的 API 此用金钥来进行 RSA 加密,但是在产生金钥的过程中,Wannacry 会将用来产生金钥的“质数”留存在电脑的内存中,所以他透过从内存中挖掘这个金钥的质数,进而反推取得解密用的金钥。不过由于每个版本的操作系统对于内存的控管并不相同,所以他的方法仅限于在 Windows XP 上使用,而且你的电脑还不能重开机。
什么是质数?其实就是我们以前数学学过的,它的特色就是不能被因式分解,而且产生是没有一定的规则,现行通常都是把质数拿来当作产新金钥的元素(或是拿质数直接当作金钥,看作者高兴。)如果我们把加密的方式当作是一种数学公式的话,当你的电脑在运算加密过程的时候,其实也就是把档案/讯息丢入加密的公式中,搭配“质数”产生出来的金钥,来计算出一个乱数的结果,接着要解密时,就是把这个乱数跟金钥丢入加密的公式中,反推回尚未加密的档案/讯息。
简单来说,只要取得“质数”,知道产生金钥的方式,还有加密的方式,就可以把被加密的东西还原。而当 Adrien Guinet 发现这个方法后,就有世界各地的高手们接手研究,把他提出来的概念做得更加完善,并且是用于许多版本的 Windows 操作系统中。目前的成果就是今天要介绍的 WannaKiki。
WannaKiki 的运作原理,就是找到勒索病毒 WannaCry 加密的过程中,遗留在电脑的内存中的“质数”,进而透过这个方式来产生解密金钥。不过由于是要从电脑内存中捞取资料,所以要使用 WannaKiki 的话有以下两个条件:
1.电脑不能重开机,因为重开机后,内存内所有的资料会被全部清除。
2.内存内的档案不能被覆盖,我们在电脑上每做一件事情,都会使用内存来进行资料的快取,所以内存内的资料很容易被新的档案给覆盖掉。
WannaKiki 目前已经确认在 Windows 7、Windows XP、Windows Vista,Windows Server 2003 和 2008 上可以正常使用。使用者要使用的话,可以从 Github 上下载他制作好的 WannaKiki 压缩包,解压缩后执行里面的“wanakiwi.exe”,接着你会看到一个 DOS 视窗,它就会自动开使搜寻你内存内的质数。如果有找到的话,WannaKiki 就会帮你进行解密的动作。
↑下载这两个其中一个,然后解压缩后执行里面的执行档。
以上,希望被加密的人都可以用此方式来还原自己的档案,如果你担心你的电脑中奖的话,请阅读这篇“趋势科技推出WannaCry检查漏洞工具 还不放心的请快点下载检查吧”,来帮你的电脑检查吧。
WannaKiki下载网页