这个压缩包有点麻烦
wp
1.这个压缩包有点麻烦
下载压缩包可以看到有注释,提示是六位数字的暴力破解
暴力破解得到密码
密码为 483279
打开文档后看到提示
可以确定是使用字典爆破
得到压缩包密码 &-`;qpCKliw2yTR\
zip压缩包里面还有一个文件和之前的readme是一样的文件(已知部分明文),所以直接明文攻击
根据提示:注意将明文压缩时,压缩包的属性要设置为仅储存
确保压缩后的zip与同名文档CRC32码一致
已知明文攻击的方法
已知明文攻击的特点是已知一个ZIP压缩包中某个文件的原文件(也就是明文),利用已知文件和其压缩加密后的数据获取到压缩包的解压密码或者能对其解压。
常规已知明文攻击要想成功,需要具备3个条件:
1)完整的明文文件。
2)明文文件需要被相同的压缩算法标准压缩(也可理解为被相同压缩工具压缩)。
3)明文对应文件的加密算法是ZipCrypto Store。
只需要记住,即使在没有压缩密码的情况下,只要能获取3个密钥,就能实现解密。如果我们已知压缩包中的某个文件,就可以利用算法获取这3个密钥

单击“开始”按钮后,破解开始。使用ARCHPR进行已 知明文攻击时有一个重大BUG,即使工具已经恢复出3个密钥,程序也不会自动停止,需要我们手动暂停。根据比赛经验,一般程序运行20 ~30分钟就可以手动停止,如果ARCHPR找到了3个密钥,也就是图 1.5.23中的加密密钥,那么单击“停止”后会自动弹出窗口
单击“确定”后,会弹出新的保存文件窗口

压缩包里只有一张ipg格式的文件

分离图片中的隐藏文件
图片分析
首先对图片进行分析,用binwalk(kali中是自带的,也可以下载到windows中使用)。
使用方法:binwalk + 文件路径/文件名
执行命令后,binwalk就会自动分析这个jpg文件:

从分析的结果看,这个jpg文件隐藏着一个zip文件
图片分离
1,binwalk分离
还是使用binwalk工具,使用dd命令分离出隐藏文件:
1 | |
解释:if 指定输入文件,of 指定输出文件,skip 指定从输入文件开头跳过20421个块后开始复制,bs设置每次读写块的大小为1字节

执行后会得到一个1.zip文件。
2.hex编辑器分类
经过分析ipg文件里隐藏了一个zip压缩包
搜索十六进制数值确定zip文件头

作为选块起始位置

最后作为选块结束位置

复制选块至新文件

得到一个zip压缩包
打开发现里面有一张ipg图片 需要输入密码

zip伪加密
伪加密的原理是:ZIP压缩包生成时没有加密,手工修 改“frFlags”或“deFlags”的值,使得同一个文件的这两个字段中 至少一个 为奇数,这样在解压时会弹出密码输入框,无论输入什么密码都会报 错。这种原压缩包没有加密,但通过人工修改造成解压时需要输入密 码的现象,就叫作伪加密。
破解ZIP伪加密的方法十分简单。
如果“frFlags”和“deFlags”的值不相 同,例如,“frFlags”的值是奇数,“deFlags”的值是偶数,那么可以 把“frFlags”的值改为“deFlags”的值,然后解压查看结果。
使“frFlags”和“deFlags”都是同一个奇数,我们仍然怀疑该ZIP文件存 在伪加密,那么可以把这两个字段的值都 减1,改为相同的偶数,然后 进行解压查看其结果。


如图把两个值都改为8
成功打开压缩包

得到最终flag
hgame{W0w!_y0U_Kn0w_z1p_3ncrYpt!}