-
-
[翻译]wannaKey(wannacry解密工具,仅适用XP)
-
发表于: 2017-5-20 15:17 2995
-
Wannakey
原文链接:https://github.com/aguinet/wannakey
译者:阳春
警告
经测试,此软件仅在Windows XP上有效。为了保证其能工作,你的电脑必须在被感染后未重启过。
同时请注意,你需要一些运气才能让它成功(看下面),它可能由于各种情况失败。
更新
v0.2
生成的RSA私钥有无效的计算域,这使得Windows XP的CryptImportKey无法导入(已修复)。wanafork和wanadecrypt现在可以在XP直接使用。
更新了修复后的程序(再也无需MSVC)
V0.1
初始版本
介绍
此软件可以恢复出Wannacry使用的RSA私钥。
原理是在wcry.exe进程中搜索它们。这是生成RSA私钥的进程。主要的问题是在相关的内存区域被释放前CryptDetroyKey和CryptReleaseContext不会从内存中清除这些素数。
这真不是勒索软件作者的失误,他们正确地使用了Windows Crypto API。真的,我进行了测试,在Windows 10,CryptReleaseContext会清除掉内存(所以此恢复技术不适用了)。它在Windows XP下能工作的原因是,在XP版本下,CryptReleaseContext没有真正做清除工作。还有,MSDN如是说:“当此函数被调用后,释放掉的CSP句柄不再有效。此函数不破坏键容器和键对。”所以,在Windows下,似乎没有干净跨平台的方式来清除该内存。
如果你够幸运(此相关内存块没有被重新分配或者清除),素数还在内存里面。
这就是此软件尝试的事情。
使用
你可以使用bin文件夹里的程序。首先你得在任务管理器里面找出wrcy.exe进程的PID,然后定位00000000.pky文件。
之后你可以用cmd执行:
> search_primes.exe PID path\to\00000000.pky
如果在内存里找到一个有效素数,当前目录会生成priv.key文件。
然后你就可以使用
https://github.com/odzhan/wanafork/或者https://github.com/gentilkiwi/wanadecrypt解密你的文件了!(XP有效)
编译
你可以使用Visual Studio 2015编译此工程。请确保在项目属性里面使用兼容Windows XP的工具链。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
- [翻译]渗透测试备忘单 17164
- [翻译]为编程和逆向搭建RISC-V开发环境 13815
- [翻译]状态机的状态 10992
- [原创]看雪CTF.TSRC 2018 团队赛 第一题 初世纪 writeup 2908
- [原创]京东AI CTF大挑战Writeup 7136