我遇到了勒索软件感染,它会加密文件顶部的前512个字节并将它们放在底部。在查看加密文本时,它似乎是某种类型的XOR密码。我知道其中一个加密文件的纯文本,所以我理所当然地认为我应该能够通过它来获取解密其余文件的密钥。好吧,我正在经历这个非常艰难的时期,因为我不明白创作者如何真正地对待它。我想他会使用二进制读取器将前512个字节读入数组,对其进行异或,并替换它。但是,这是否意味着他在HEX中被XOR编辑了?还是十进制?我在这一点上很困惑,但我相信我只是遗漏了一些东西。
我已经尝试过使用python的Xor工具,它试图破解的一切看起来都是无意义的。我还尝试了一个名为Unxor的python脚本,你给出了已知的纯文本,但它输出的转储文件总是空白的。
良好的页眉文件转储 Good-Header.bin
加密的标头文件转储: Enc-Header.bin
这可能不是查看XOR模式的最佳文件示例,但它是唯一一个在加密前100%具有原始标头的文件。在其他标题中,如果有更多更改,加密标题会随之更改。
关于我应该尝试的方法的任何建议,或者我应该使用的应用程序尝试进一步采取这种方法?非常感谢你的帮助!
当我试图发布4个链接时,P.S Stackoverflow对我大吼大叫,因为我很新,所以如果你想在pastebin上看到十六进制转储而不是下载头文件,请不要让我。这些文件绝不是恶意的,只提取了512个字节,而不是整个文件。答案 0 :(得分:1)
使用cyphertext字节恢复密钥流XOR明文字节。使用两个不同的文件执行此操作,以便您可以查看勒索软件是否为每个文件使用相同的密钥流或不同的密钥流。
如果它使用相同的密钥流(不太可能),那么您的问题就解决了。如果密钥流不同,那么最简单的解决方案是从备份中恢复受影响的文件。你确实保留了备份,不是吗?或者研究你得到的特定感染,看看是否有其他人破坏了那个特定的变种,这样你就可以得出他们使用的密钥,从而重新生成所需的密钥流。
如果您有很多钱,那么数据恢复公司可能会帮助您,但他们肯定会收费。
答案 1 :(得分:0)
从玩具密码中告诉一个体面的密码的经验法则是加密高度可压缩的文件并尝试以加密形式压缩它:一个愚蠢的密码将生成一个文件,其熵级别类似于原始的,所以加密文件将压缩以及原始文件;另一方面,一个好的密码(即使没有初始化向量)也会生成一个看起来像随机垃圾的文件,因此根本不会压缩。
当我使用PKZIP压缩512字节的 Enc-Header.bin 时,输出也是512字节,因此密码不像你预期的那样愚蠢 - 运气不好。 (但这并不意味着恶意软件根本就没有弱点。)