ZIP明文攻击


免责声明

本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


相关工具

  • archpr(Advanced Archive Password Recovery)

  • kimci86/bkcrack

    wget https://github.com/kimci86/bkcrack/releases/download/v1.3.1/bkcrack-1.3.1-Linux.tar.gz
    tar -zxvf bkcrack-1.3.1-Linux.tar.gz
    cp bkcrack-1.3.1-Linux/bkcrack /usr/sbin/bkcrack
    bkcrack -h

ZIP 的加密算法

ZIP 的加密算法大致分为两种 ZipCrypto 和 AES-256, 各自又分 Deflate 和 Store。

  • ZipCrypto Deflate

  • ZipCrypto Store

  • AES-256 Deflate

  • AES-256 Store

ZipCrypto 算是传统的 zip 加密方式。

只有使用 ZipCrypto Deflate /Store 才可以使用 ZIP 已知明文攻击进行破解。

AES256-Deflate/AES256-Store 加密的文件不适用于明文攻击。


ZIP 明文攻击的条件

至少已知明文的 12 个字节及偏移,其中至少 8 字节需要连续。

明文对应的文件加密方式为 ZipCrypto Store


比较特殊的明文攻击案例

在知道目标文件部分连续明文的情况下,去爆破密钥

例如 flag.txt

加密成 flag.zip 加密时注意使用 Deflate 压缩方法,ZipCrypto 加密算法

给出部分连续明文

采用 bkcrack 进行爆破

利用密钥进行解密

如果是已知部分且不连续可以采用 -o 偏移量参数组合使用


Source & Reference