当前位置:首页 >> 破解资源

ZIP-伪加密


ZIP-伪加密
ZIP-伪加密

image.png


下载后得到一个ee2f7f26-5173-48ea4f.zip随后尝试解压,
ZIP-伪加密

image.png


提示输入密码CTF中压缩包加密解密一般有三种方法
1,暴力破解
2, ZIP伪加密
3, 已知明文攻击
这里我们着重介绍ZIP伪加密(一个简简单单的加密方式,层次深得直接可以用Binwalk工具的binwalk-e命令无视伪加密直接打开,Macos可以直接提取)
在ZIP文件中,文件头和每个文件的核心目录区都有通用标记位。核心目录区的通用标记位距离核心目录区头504B0102的偏移为8字节,
其本身占2字节,最低位表示这个文件是否被加密,将其改为奇数后,再次打开会提示输入密码。但此时文件的内容并没有真的被加密,
所以被称为伪加密,只要将该标志位重新改回0或偶数后,即可正常打开。
这个地方我们可以用010或者Winhex工具这里我们以winhex为例
ZIP-伪加密

image.png

放进ZIP-伪加密

image.png


打开可以看到他的十六进制数据
ZIP-伪加密

image.png


这里是本文的重点所在,用winhex判断zip文件是否为伪加密
ZIP-伪加密

image.png


伪加密的特征:
压缩源文件数据区的全局方式位标记应当为 0000  (504B 03 04 14 00 后)
且压缩源文件目录区的全局方式位标记应当为 0900   (504B 01 02 14 00 后)
通过将压缩源文件目录区的09 00改为00 00就可以还原伪加密
ZIP-伪加密

image.png


接着直接解压就可以直接得到压缩内容
ZIP-伪加密

image.png


ZIP-伪加密

image.png


-------------------------------------------------------------------------------------------------------------------------------------------
打开就看到了旗下边补充一下伪加密的知识
1压缩源文件数据区:
        50 4B 03 04:这是头文件标记         
        14 00:解压文件所需pkware 版本         
        00 00:全局方式位标记(判断有无加密)         
        08 00:压缩方式         
        50 A3:最后修改文件时间         
        A5 4A:最后修改文件日期
2压缩源文件目录区:   
        50 4B 01 02:目录中文件文件头标记        
       1F 00:压缩使用的pkware 版本        
       14 00:解压文件所需pkware 版本        
        00 00:全局方式位标记(判断是否为伪加密)        
        08 00:压缩方式         
       50A3:最后修改文件时间         
        A54A:最后修改文件日期
3压缩源文件目录结束标志:        
        50 4B 05 06:目录结束标记        
        00 00:当前磁盘编号        
        00 00:目录区开始磁盘编号        
        01 00:本磁盘上纪录总数        
        01 00:目录区中纪录总数      
        5A 00 00 00:目录区尺寸大小        
        3F 00 00 00:目录区对第一张磁盘的偏移量        
        00 00:ZIP文件注释长度