ZIP密码穷举工具zcrack使用说明(更新)
2024-1-6 16:46:31 Author: mp.weixin.qq.com(查看原文) 阅读量:27 收藏

创建: 2023-12-22 20:00
更新: 2024-01-06 13:33
https://scz.617.cn/misc/202312222000.txt

简单地讲,用ZipCrypto加密保护的ZIP,若其中某个文件原始内容已知,可通过CRC碰撞技术还原该ZIP解压密码中间状态,以三组4字节Key的形式呈现。可在不知ZIP原始解压密码的情况下,用这三组Key解密ZIP、设置新Key、设置新密码。

https://github.com/kimci86/bkcrack

bkcrack是相应工具,有源码,也有预编译好的PE,是个Windows工具,理论上可以移植到Linux,我没试过。

虽然AZPR/ARCHPR支持「ZIP已知明文攻击」,但破解速率远不如bkcrack,限制也较多,并不推荐。要干这事,首推bkcrack。

zcrack.7z中有如下内容:

readme.txt      // 使用说明,可删除
zcrack_1.exe    // 主程序1,挂密码字典
zcrack_1.sha256 // 主程序1的SHA256,可删除
zcrack_2.exe    // 主程序2,挂Key字典
zcrack_2.sha256 // 主程序2的SHA256,可删除
Cryptodome\     // 依赖库,可用自己的
password.txt    // 小字典,可用自己的
password_2.txt  // 大字典,可用自己的
password_3.txt  // 其他字典
key.txt         // Key字典
some_0.zip      // 测试用例,可删除
some_1.zip      // 测试用例,可删除
some_2.zip      // 测试用例,可删除

更新了一个工具zcrack_2.exe。

Usagezcrack_2.exe <zipfile> <keyfile[m]
zcrack_2.exe some.zip key.txt
zcrack_2.exe some.zip key.txt m

zcrack_2.exe命令行参数依次指定待穷举ZIP文件、Key字典;若尾部指定m,实时显示穷举进度,快速变化的数字是Key字典的行号,可以不指定m。若成功找到三组Key,显示:

(count, key)

key就是三组Key,bkcrack用三组Key可以设置新解压密码,count是Key字典行号。

zcrack_1.exe没啥意思,当时没测过AZPR/ARCHPR,冒昧自己实现了一版,纯属吃饱了撑得,zcrack_2.exe有点用。某些读秀ZIP靠CRC碰撞获取三组Key,但未能还原原始解压密码,比如长度太长、密码中有汉字等等,而这些Key实际等价于解压密码,大概率有其他读秀ZIP使用同样的Key或解压密码(只是未知);每次精心构造已知明文,不如弄个Key字典先跑一遍,无命中时再进行CRC碰撞攻击。正是基于这种思路,开发zcrack_2.exe,这是bkcrack和AZPR/ARCHPR所不具备的特色功能。Key字典目前只有几条,但我们可以分布式收集整理扩容,将那些碰撞成功但无法还原原始密码的Key都加进来,不就是新的Key字典了吗,欢迎分享你手上的Key。

key.txt格式要求同password.txt,内容有别,每行是三组Key,形如:

d5d71a3a 2716780761e2128
7fe76133 e7b6388d dc335ebb
b6a65138 7a4de6d5 1398a16d
fca6433b 210e18f2ac8bb32
a6c00649 9aa0871b 264405f1
78086274 76a801ca 12b71604
43725bc0 285f4ac7 515f5c92
a28e1ec6 0d5a5657 3f26c8b0
c0a0e369 bc34ab45 2ee23d62

这些Key主要是某位TG网友分享的,有两个是自己跑的,书不是我要的,只是当成测试用例。若谁跑出这些Key的原始密码,请及时分享,可从Key字典移除,并添加至密码字典。只用Key字典也无所谓,就多一个bkcrack设置新密码的手续而已。

有Key之后用bkcrack设置新密码(newpass)的示例:

bkcrack.exe -C 14616368.zip -k a28e1ec6 0d5a5657 3f26c8b0 -U 14616368_newpass.zip newpass

虽然不知14616368.zip原始解压密码,但解压14616368_newpass.zip即可。

用py2exe打包的工具,VT标红也很常见,比如zcrack,所以敢不敢用全凭自己,愿以身试险者随意。

https://gofile.io/d/oqdEwO

zcrack.7z
size    6885617
sha256  8b380c125e660f33692a8f8925a1c6d788ea6643e862c7df3ea3d85cb3202f5b

为防止VT误杀zcrack.7z,加个密码,即文件名本身「zcrack.7z」


文章来源: https://mp.weixin.qq.com/s?__biz=MzUzMjQyMDE3Ng==&mid=2247487056&idx=1&sn=dcb2482b09a1a8e78dbaedf4911042c2&chksm=fab2cd6fcdc54479e1e7f92d2dc7ae8c44ea0bd401fda00b26f2af100395ae3d3a3197b8065a&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh