ZIP明文攻击

ZIP明文攻击


免责声明

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


相关工具

  • archpr(Advanced Archive Password Recovery)
  • keyunluo/pkcrack
  • 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

点击关注,共同学习!安全狗的自我修养

github haidragon

https://github.com/haidragon

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{4d6ba874-881d-4c04-b7c3-5e974b81e86a

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

给出部分连续明文

flag{4d6ba874-881d-4c0

采用 bkcrack 进行爆破

echo "flag{4d6ba874-881d-4c0" > plain1.txt
bkcrack -C flag.zip -c flag.txt -p plain1.txt

# 爆破得到zip的密钥如下
1b10db88 4b87405b 0a41939c

利用密钥进行解密

bkcrack -C flag.zip -c flag.txt -k 1b10db88 4b87405b 0a41939c -d flag1.txt

cat flag1.txt

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

bkcrack -C flag.zip -c flag.txt -p plain1.txt -o 1 -x 29 37346636

# -c 提取的密文部分
# -p 提取的明文部分
# -x 压缩包内目标文件的偏移地址  部分已知明文值
# -C 加密压缩包
# -o offset  -p参数指定的明文在压缩包内目标文件的偏移量

Source & Reference

点击关注,共同学习!安全狗的自我修养

github haidragon

https://github.com/haidragon

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C-haidragon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值