利用“已知明文攻击”破解加密的压缩文件

栏目: 编程工具 · 发布时间: 6年前

内容简介:我们为zip压缩文件所设定的密码,首先被转换成3个32bit的压缩软件用这3个如果我们找到加密压缩包中的

编者按

压缩文件的解密问题,一直是萦绕在电子取证人员心里的一把锁。当领导或者办案人员问到“能不能破解?”的时候,既不能回答“能”,又不能回答“不能”。解密的方法有很多,今天,小编向大家介绍一种较为特殊的方法或者机制,供取证圈的广大朋友参考。

“已知明文攻击”的概念和原理

我们为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”

利用“已知明文攻击”破解加密的压缩文件

图2  找到的“已知明文”,大家可以看看CRC值

第三步:在软件ARCHPR 4.54中,选择“明文攻击”的破解方式,并把“我曾经也是个检察官啊.zip”作为明文文件。

利用“已知明文攻击”破解加密的压缩文件

图3  ARCHPR软件设置相关参数和目标

第四步:启动破解。

破解时长应该不超过5分钟,就能够得到结果了。当然,这个结果并不是压缩包的密码,而是一个去除密码的压缩包“ 破解目标文件_decrypted.zip ”,把这个文件直接解开就可以了。

利用“已知明文攻击”破解加密的压缩文件

图4  获得一个无密码的压缩文件

由于ARCHPE版本的不同,可能会需要您手工点击停止(意味着: 软件并未提示破解成功,但是点击停止后,实际上已经成功了 )。

编者注 】通过上面的分析和实验,大家也能看出端倪了,“已知明文攻击”与密码强度没有关系。而他需要的前提也很苛刻,那就是如何找到一个“已知明文”的文件。

声明:本文来自信息时代的犯罪侦查,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如需转载,请联系原作者获取授权。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Essential C++中文版

Essential C++中文版

[美] Stanley B. Lippman / 侯捷 / 华中科技大学出版社 / 2001-8 / 39.80元

书中以4个面向来表现C++的本质:procedural(程序性的)、generic(泛型的)、object-based(个别对象的)、object-oriented(面向对象的),全书围绕着一系列逐渐繁复的程序问题,以及用以解决这些问题的语言特性。循此方式,读者不只学到C++的函数和结构,也会学习到它们的设计目的和基本原理。一起来看看 《Essential C++中文版》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试