1
ylsc633 2017-05-20 14:26:10 +08:00
电脑配置太差.... 当这个病毒出现了....
然后电脑显示 未响应.... 我给关了....... |
3
acess OP 老实说这个思路不是我想出来的,来自于:
https://www.zhihu.com/question/46715248/answer/112125941 |
4
acess OP 另外…… dump 内存这个思路,LZ 一个外行都能想到,那世界各大安全厂商的专家肯定早就考虑过这个吧。
那么,他们可能是出于什么考虑才没推广这种方法? |
6
zwl2012 2017-05-20 14:52:13 +08:00 via iPhone
@acess RAS 算法不是非对称加密算法,公钥加密,私匙才能解密吗。如果是对称加密算法,直接逆向工程病毒文件的加密密钥生成算法不就解决了。何必那么折腾
|
7
acess OP @ctsed 事后诸葛地考虑一下,那些用着 32 位 XP 或 Win7 的中毒者如果及时 dump 了内存,现在解密工具出来了,他们就有更大的概率能找到私钥、解密文件了。
|
8
acess OP @zwl2012 RSA 是非对称加密没错,病毒作者也及时调用了微软的 CryptReleaseContext API 来清除本机的私钥。但他没想到微软的这个 API 不靠谱,实际上有概率没清除掉生成 RSA 密钥对的质数。(这是 LZ 看完那篇博客的理解)
|
9
acess OP @zwl2012 而且即使逆向了病毒也有很大概率没 X 用,只要病毒生成密钥时没犯低级错误,就不可能直接破解密钥。
|
11
acess OP @zwl2012 是的,dump 内存本应当没有作用,但病毒本地生成了 RSA 密钥对,而且微软的 CryptoAPI 有概率没把生成 RSA 密钥对的质数从内存中清除掉,所以才有现在的解锁工具 wanakiwi。
|
12
acess OP 继续事后诸葛亮:
WanaCrypt 并没有重启的行为,休眠也同样可以阻止病毒继续运行传播,操作也相对简单,LZ 不知道为啥没看到安全厂商推荐大家休眠。 按理说专家集体犯错的可能性应该接近 0,那应该是出于某种考虑才没这么做。 |
13
JJaicmkmy 2017-05-20 15:32:03 +08:00
看了 Austin Evans 的视频,貌似是先加密文件,再把未加密的版本删掉。所以病毒启动后立刻断电拔硬盘应该还有救。
|
16
GNiux 2017-05-20 15:46:09 +08:00 via iPhone
LZ 说的是不是就是人家这思路: http://bobao.360.cn/learning/detail/3874.html
|
17
gamexg 2017-05-20 15:47:30 +08:00
|
20
acess OP @GNiux 我说的不是这个思路。实际上,运行 360 的恢复工具 2.0 会直接干掉病毒的 tasksche.exe,然后 LZ 主帖说的工具 wanawiki 应该就不能工作了。
|
22
loading 2017-05-20 16:23:54 +08:00
屁事没有,我 virtualbox 挂载主机 linux 是只读挂的,只给一个文件夹读写.
中招就直接快照恢复. |
23
SelFree 2017-05-20 18:08:02 +08:00 1
@zwl2012 这个勒索软件开发时生成 RSA 密钥对( pub1, pri1 ),其中 pub1 编码在程序里,pri1 保存在服务器上。感染时在本地生成 RSA 密钥对( pub2, pri2 )然后用 pub1 加密 pri2,用 pub2 加密每个文件的 AES 密钥。正常途径要解密文件,就要用 pri2 解密每个 AES 密钥,而解密 pri2 就要用服务器上的 pri1。本帖的思路是 dump 生成( pub2, pri2 )时的质数,从而直接得到 pri2。
|
24
acess OP LZ 猜测安全专家可能没想到微软的 Crypto API 居然没有清除掉内存中的质数,所以他们才没考虑 dump 内存的方法。
如果让 LZ 继续脑补,就是“阴谋论”了:如果 dump 内存的方法被广泛传播,潜在的勒索软件受害者可能未必把这条信息当回事,但勒索软件制造者倒是很可能在意这条信息,并开始思考如何应对内存 dump。所以,大家决定保持沉默,不把 dump 内存作为首选方法推广。更不用说通过休眠 dump 内存实际上是有“睡死”失败风险的……而且,病毒已经掌握机器控制权,什么都有可能发生,说不定检测到受害者想利用弱点进行破解,就直接撕票(比如删除私钥)。 |
25
binghe 2017-05-20 23:15:52 +08:00
这边有提供一个恢复工具,据说有人恢复出来了。具体的我不清楚,楼主可以试试。
http://mp.weixin.qq.com/s/LfMWu5LqfwLOk9bYZmeFOA |
27
SuujonH 2017-05-21 00:14:15 +08:00
知道这个工具的人都早就打了补丁不会中毒,中了毒的再去下也来不及...
|
28
acess OP @SuujonH 欧洲刑警组织都在 Twitter 上转发了,这玩意已经不是技术宅限定了吧。
不过我想说的是为啥各大安全厂商不建议大家想办法 dump 内存,明明 dump 下来可以增加完全恢复概率的。 |
29
reizen 2017-05-21 00:42:30 +08:00
插嘴问一下,希望不要被打。如果硬盘满了,或者剩余空间不够放第一个被加密后的文件时会出现什么情况?
|
30
wevsty 2017-05-21 01:18:46 +08:00 1
不赞成休眠这种操作
1、并不是每个人的机器都会开启休眠这个功能的。如果没有开启休眠,手动启动休眠会写硬盘,这次只是碰巧能从内存 dump 找到密钥而已,找不到密钥很大程度上对硬盘做数据恢复可能还有点用,而休眠这种写硬盘的操作没准真就会让可以恢复出来的文件 gg 了。 2、在内存中找到密钥的条件太苛刻,对普通用户来说难以操作,这次是影响太大才会有这么多研究,没办法保证有这样能力的人次次都来帮助普罗大众。 3、CryptReleaseContext 这个函数不销毁 key,msdn 明确指出了 This function does not destroy key containers or key pairs. objects should be destroyed with calls to CryptDestroyKey and CryptDestroyHash before CryptReleaseContext is called. 见 MSDN: https://msdn.microsoft.com/en-us/library/aa380268.aspx 从逆向的结果来看,可能是 WanaCry 的开发者在这方面有失误。 4、病毒代码正在执行过程中可能会发生任何事,就算病毒代码阻止关机,阻止休眠也是完全有可能的,虽然这个例子中不存在,但是不能否认这种可能性。如果感染这种病毒,也许直接拉电源会更有效。 |
31
acess OP @wevsty
1.我记得 hiberfil.sys 不是提前占过空间的吗,这样应该不会影响数据恢复啊……看样子我可能确实姿势水平不够。 2.我也没说一定能找回来,现在提这个看上去确实很马后炮,不过我还是觉得,想办法 dump 出内存可以提升获救的概率——就是赌一把。 3.原谅我的姿势水平不足……我只是看过主贴那篇分析文章而已,看得还不仔细,但我记得作者说过勒索作者没犯错来着…… 4.我觉得除非碰到腹黑变态的勒索制造者,休眠操作可以阻止病毒继续运行传播,而且好像不会比拉电源有太多显著的坏处(不知道对不对)。 |
32
acess OP @wevsty Win8 起,因为快速启动,开了休眠的人应该挺多的。但 hiberfil.sys 如果“伸缩”了,可能的确会覆盖掉本来有希望恢复的数据。
|
33
acess OP @reizen 拍脑袋想一下:病毒可能会直接尝试覆盖原文件,而不是创建新文件。为啥 WanaCrypt 没这么做我就不懂了。
|
34
acess OP @wevsty
刚刚回复得有点急……可能我说的有点缺乏逻辑。 刚刚稍微缕了一下思路: 我一开始以为休眠不会造成坏影响——反驳:hiberfil.sys 可能伸缩,然后就可能吃掉原本有希望恢复的文件。 我认为休眠可以增加获救概率——反驳:根据最初的分析,通过数据恢复途径“自救”更有价值。休眠反倒可能阻碍数据恢复。 可能安全专家们的确缺失了 CryptReleaseContext 的一些犄角旮旯的知识,也可能他们虽然知道这些知识,但害怕复杂的语言影响传播,所以最终还是选择放弃宣传内存 dump 这条路。 过了那么多天才出现搜索质数的自救方案,只能说遗憾。 |
35
acess OP @wevsty
稍微搜了一下,好像又找到支持休眠的消息了: https://superuser.com/questions/746290/what-happen-if-we-reduce-the-size-of-hiberfil-sys 看上去就算 hiberfil.sys 不够大,也只会休眠失败,而不会撑大这个文件? 果真如此的话,休眠的坏处好像仅仅剩下腹黑变态的勒索作者可能做出撕票之类针对性报复行为了吧——但受害者一方也不是完全没办法吧,安全专家会逆向病毒样本,那么说不定还有机会把病毒作者的小花招干掉? |
36
acess OP @wevsty 从内存 dump 里找密钥可能的确很难,可能是知乎的答案让我产生了分析病毒这件事不难做的错觉……
不过,如果受害者中的是流行的勒索病毒,样本相似性很高,甚至大家中的都是一样的,那分析成本可能摊到每个受害者身上就不多了? |
38
YanwenSun 2017-05-21 09:53:20 +08:00 via Android
休眠文件也是会加密的吧 虚拟内存就是加过密的
|
39
acess OP @Livid 虽然现在主要讨论的是 Windows,但是勒索软件在其他系统上也存在,dump 内存的思路应该也是通用的,也许可以再移动一下?
|
40
acess OP @YanwenSun 不是开了 BitLocker 会加密整个分区,然后 hiberfil.sys 和 pagefile.sys 如果在被加密的分区就会被顺带加密么……除此之外还会有什么情况会加密它们?
|
41
tabris17 2017-05-21 10:34:32 +08:00
通过公钥破解私钥?这也挺困难的
|
42
acess OP @tabris17 wanakiwi 的原理不是公钥推私钥(难度超高),而是从内存中搜索生成 RSA 密钥对的质数,然后重建出私钥。
而且 LZ 好奇的并不是 wanakiwi 本身,而是为啥没见到有人宣传中勒索后应该先想方设法 dump 出内存。 |
44
Livid MOD |
45
acess OP @tabris17 休眠就可以 dump 出内存来,操作很傻瓜。
而且现在的勒索看上去“ low ”,不代表以后不会出现技术变态猥琐的……毕竟能拿到赎金,被抓的也少,诱惑很大啊。 不过我觉得各大安全公司的专家肯定也想到 dump 内存了,我只是不明白他们为什么不把这个思路推广出去,肯定是出于某种考虑的。 |
47
wevsty 2017-05-21 13:02:06 +08:00
@acess
在休眠开启的状态下 hiberfil.sys 是提前占用空间,所以开启状态下进行休眠应该不会导致覆盖数据覆盖,这你没有说错。 我的意思是,如果休眠关闭的情况下打开休眠,就会导致空间被占用形成数据覆盖。 当然,如果默认打开休眠也有另一个副作用,那就是休眠占用了太多磁盘空间,磁盘剩余空间不足也会影响数据恢复的成功率。 总体来说,内存 dump 的方案有一定的用处,但是实现难度太高,不适宜作为大众化的方案推广。 |
48
acess OP @wevsty 是的,手动开休眠会覆盖数据,我忘了说了。但是对于已经开了休眠的机器,我觉得休眠至少不是个更坏的方法,对于那些忘记备份重要数据(也许还可能是无法实时备份)的人来说,多一丝希望也是好的。
|
49
acess OP @wevsty 这么想也许有点幼稚,不知道对不对:大家与其把赎金交给勒索者,不如捐款给安全专家让他们集中精力分析勒索病毒?
|
50
wevsty 2017-05-21 13:21:04 +08:00 1
@acess 这种想法本身没错,只不过全世界的安全专家供给没有那么充足。
而且大多数恢复数据的方法需要的前提条件大多数人都是没办法满足的。 如果勒索软件开发者正确的进行了开发,那么安全专家也只能束手无策,无能力为。 一般我身边的人问我被勒索病毒加密了文件怎么办,我都是直接回答,放弃文件自己重新弄。 无论是数据恢复,还是找到加密密钥,或者破解加密,都是需要建立在一定的前提条件下的,如果这次攻击更加精致一些,那就真的一点办法也没有了。 |
52
acess OP @wevsty 不过我也是希望有重要文件(至少文件价值远大于一台普通个人电脑)被锁的人能多一丝希望……
|
53
acess OP @wevsty 我也觉得预防比事后补救重要。
但现实中仍然有人不接受教训吧。那些被锁数据不重要的,当个谈资吹吹牛就算过去了。但如果被锁数据重要呢?就算“痛改前非”也挽救不了已经被锁的文件啊(我记得 Twitter 上就有个自称全职 WanaCry 受害者,新晋 Windows 更新脑残粉的账户……) |
54
acess OP 用诡异一点的思路考虑,就算 dump 内存等手段可以破解掉勒索软件,可能也并不是好事。
到现在还缺乏安全意识的人,可能确实很难被普及安全意识,他们脑中可能只会留下“ X 安全公司很厉害,中勒索就找他们,能搞定”这种印象,而不会去花精力了解一些安全方面的常识。 |