MISC 题目中,ZIP 压缩包一般会有五种破解方式
- 暴力
- 字典
- 明文
- 冗余数据
- 伪加密
一般来说我们可以使用 ARCHPR
来帮助我们破解 ZIP
在得到一个压缩包的时候,我们应该先阅读属性内容,里面能给你一些解题提示
这个就提示我们要六位暴力
以下就是提示我们可能存在冗余数据
其次,我们还可能存在字典,当然啦,我们要有对应的字典才行
在打开压缩包的时候,我们可以留意一下内外压缩包的文件时候有 CRC 校验码相同的,如果有我们可以尝试明文破解口令。
但是我们也可以不破解口令,直接通过密钥解密文件
在处理冗余数据时,我们可以采用
binwalk
判断冗余数据,并且 binwalk -e
提取,有时候不行的话还是自己动手吧以上四种都很好理解,伪加密我们要使用
WinHex
打开,修改加密位完成
首先我们要清楚,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:扩展记录长度 压缩源文件目录区: 50 4B 01 02:目录中文件文件头标记(0x02014b50) 3F 00:压缩使用的 pkware 版本 14 00:解压文件所需 pkware 版本 00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 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:文件名长度 24 00:扩展字段长度 00 00:文件注释长度 00 00:磁盘开始号 00 00:内部文件属性 20 00 00 00:外部文件属性 00 00 00 00:局部头部偏移量 压缩源文件目录结束标志: 50 4B 05 06:目录结束标记 00 00:当前磁盘编号 00 00:目录区开始磁盘编号 01 00:本磁盘上纪录总数 01 00:目录区中纪录总数 59 00 00 00:目录区尺寸大小 3E 00 00 00:目录区对第一张磁盘的偏移量 00 00:ZIP 文件注释长度
最后总结一下
加密位00 00为无加密,其他均为有加密 50 4B 03 04为文件头,2个byte后的2个byte为加密位 50 4B 01 02为数据头,4个byte后的2个byte为加密位 ps:1个byte是hex中2位