编者按
压缩文件的解密问题
,一直是萦绕在电子取证人员心里的一把锁。当领导或者办案人员问到“能不能破解?”的时候,既不能回答“能”,又不能回答“不能”。解密的方法有很多,今天,小编向大家介绍一种较为特殊的方法或者机制,供取证圈的广大朋友参考。
“已知明文攻击”的概念和原理
我们为zip压缩文件所设定的密码,首先被转换成3个32bit的
key
,所以可能的key的组合是2^96,这是个天文数字,如果用暴力穷举的方式是不太可能的,除非你的密码比较短或者有个厉害的字典。
压缩软件用这3个
key
加密所有包中的文件,也就是说,所有文件的
key
是一样的,如果我们能够找到这个
key
,就能解开所有的文件。
如果我们找到加密压缩包中的
任意一个文件
,这个文件和压缩包里的文件是一样的,我们把这个文件用同样的压缩软件同样的压缩方式进行无密码的压缩,得到的文件就是我们的
Known plaintext
(已知明文)。用这个无密码的压缩包和有密码的压缩包进行比较,分析两个包中相同的那个文件,抽取出两个文件的不同点,就是那3个
key
了,如此就能得到
key
。两个相同文件在压缩包中的字节数应该相差12个byte,就是那3个
key
了。虽然我们还是无法通过这个
key
还原出密码,但是我们已经可以用这个
key
解开所有的文件,所以已经满足我们的要求了,毕竟对我们而言,得到解压后的文件比得到密码本身更重要。
怎么找到加密压缩包中的一个“已知明文”呢?
这一步非常关键
,小编可以推荐一个简单的判断方法。
使用WinRAR打开加密压缩包文件,虽然无法全部打开,但是能看到包中的文件列表以及文件属性,包括:
文件名称、文件大小、压缩后大小、修改日期、CRC值
等。
图1 预览加密压缩文件包内的文件列表和文件属性
我们在原始存储介质上搜索一下,能否找到任意一个相近的未加密的文件,并查看该文件的属性以及CRC值与加密压缩包中的这个文件相同。如果相同,那么恭喜你,十有八九能解开整个压缩包。如果CRC不同,就尝试另一种压缩算法。
有的时候,我们可能会把很多不起眼的文本文件、PPT文档、doc文件等,作为“已知明文”来使用。
解密的操作步骤
找到加密压缩包中的任意一个文件后(已知明文),用同样的压缩软件和同样的压缩方式把这个文件压缩成一个不加密的包,然后把这两个压缩包进行比较,这样就能把整个加密的压缩包全部还原成未加密的形式。
推荐软件:ARCHPR
跟小编一起做实验
第一步
:把三个文件:编码基础理论.pptx、毛主席语录.docx、我曾经也是个检察官啊.txt,压缩打包成一个zip文件:破解目标文件.zip,小编使用的密码是:我曾经也是个检察官。(
汉字密码,实测有效
)
第二步
:把“我曾经也是个检察官啊.txt”进行无加密压缩,得到“我曾经也是个检察官啊.zip”