0x1 工具简介
ZipCracker是一款由Hx0战队开发的高性能多并发破解工具,专为破解密码保护的Zip文件而设计。它采用CRC32碰撞和字典攻击方式猜测Zip文件的明文或密码,并能成功提取其中的内容。这款工具具备识别"伪加密"Zip文件的能力,并能自动进行修复。因此,它非常适合在CTF比赛中使用。
0x2 工具特点
-
程序会自动检查加密压缩包中的文件大小。对于小于6字节的文件,系统将提示用户是否希望通过CRC32哈希碰撞来尝试破解。
-
程序内置了6,000个常用密码词典,并自动生成0至6位纯数字的密码列表。此外,用户还可以使用自己的定制字典,即使该字典包含数亿条目的大字典,程序也能高效处理。
-
程序能够根据运行环境自动调整最优线程数量,确保破解过程既快速又稳定。
0x3 使用方法
1.伪加密识别及修复
python3 ZipCracker.py test01.zip
伪加密原理:
zip伪加密是在文件头的加密标志位做修改,进而再打开文件时识被别为加密压缩包。
加密标识位:
在Zip文件的加密标识位中,奇数和偶数的区别在于最低位(least significant bit)的值。这个位决定了文件是否被加密。
如果加密标识位的最低位是奇数(值为1),表示文件被标记为加密。
如果加密标识位的最低位是偶数(值为0),表示文件未被标记为加密。
这个最低位的值是用来模拟Zip文件的伪加密。实际上,伪加密并不提供真正的数据保护,只是通过修改标志位来表示文件已经加密。
ZIP压缩源文件数据区:
50 4B 03 04:这是头文件标记(0x04034b50)
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密)
08 00:压缩方式
5A 7E:最后修改文件时间
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
07 00:文件名长度
00 00:扩展记录长度
伪加密修复原理:
程序通过检测zip文件的加密标志位,并对标识位进行适当修改,最后测试修改后的压缩包软件是否可以正常解压即可。
修复前的伪加密文件:test01.zip
修复后的正常无加密的文件:fix_test01.zip
2.暴力破解-内置字典
python3 ZipCracker.py test02.zip
3.暴力破解-用户自定义字典
python3 ZipCracker.py test02.zip MyDict.txt
4.暴力破解-CRC32碰撞
python3 ZipCracker.py test03.zip
本工具仅提供给安全测试人员进行安全研究使用,
用户滥用造成的一切后果与作者无关
,
使用者请务必遵守当地法律本程序不得用于商业用途,仅限学习交流。
0x4 工具获取方式
https://github.com/asaotomo/ZipCracker
原文始发于微信公众号(Hx0战队):ZipCracker--CTF比赛伪加密破解神器
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论