站点图标 谷姐靓号网

【技术】通过「已知明文攻击」破解加密的 ZIP 压缩包-hitachi

Rate this post

最近有很多踢楼帖。踢楼帖一般在主帖中附带加密压缩包,内含中奖楼层,开奖时公布密码。

然而,有些压缩加密算法不安全。

本帖将介绍如何破解那些不安全的压缩包,提升大家信息安全意识。

相关帖子:https://hostloc.com/thread-1084344-1-1.html

PS,本帖不会影响既定结果,楼层已高。

友情提示

本帖内容仅供研究使用,你应当遵守所在区域的法律。

前置知识

zip 是相当古老的格式,传统上,其加密压缩时使用 ZipCrypto 算法。而 ZipCrypto 算法是弱算法,容易破解。 对于压缩包,除了蛮力攻击(暴破)外,常用的方法是已知明文攻击。
已知明文攻击,顾名思义,通过已知的部分明文,攻击其余未知的密文数据。

现在有成熟的流程和工具破解 ZipCrypto-Store 类型的压缩包。典型工具有:

rbkcrack:https://github.com/Aloxaf/rbkcrackbkcrack:https://github.com/kimci86/bkcrack

本文以 bkcrack 为例,其基本参数如下:

    -C 加密的压缩包
    -c 压缩包里加密的文件(或提取的密文数据)
    -p 明文内容
    -k 输入密钥
    -o 偏移量

破解步骤

第一步,准备明文

这是已公布密码的踢楼压缩包文本。

通过此文本,我们得知明文内容规律为:

其中 <number> 为数字。

据此,我们可得固定前缀:

    中奖楼层为

注意到文本使用 UTF-8 编码,而 UTF-8 编码下每一个汉字的长度是 3 字节。因此我们得到了 15 字节的明文数据。
新建文本文件 plain.txt,内容为上述固定前缀。

第二步,列出加密压缩包目录树

下载 bkcrack,使用以下命令列出加密压缩包的内容(注意编码问题,可能引起乱码):

    bkcrack -L 中奖楼层.zip

第三步,执行攻击

使用 bkcrack 执行攻击(注意编码引起的乱码):

    bkcrack.exe -C 中奖楼层.zip -c "涓妤煎眰.txt" -p plain.txt -o 0

等待 10 分钟,程序会给出压缩包密钥。注意此密钥不是压缩包密码。

第四步,提取解密后的文件

通过获取的密钥提取解密后的文件:

    bkcrack.exe -C 中奖楼层.zip -c "涓妤煎眰.txt" -k "29e6a7b7 3819d3a6 e0ff480b" -d output.txt

打开 output.txt,即可取得明文文本,见题图。

工具限制

退出移动版