这个压缩包有点麻烦

wp

1.这个压缩包有点麻烦

下载压缩包可以看到有注释,提示是六位数字的暴力破解

暴力破解得到密码

密码为 483279

打开文档后看到提示

可以确定是使用字典爆破

​ 得到压缩包密码 &-`;qpCKliw2yTR\

zip压缩包里面还有一个文件和之前的readme是一样的文件(已知部分明文),所以直接明文攻击
根据提示:注意将明文压缩时,压缩包的属性要设置为仅储存

确保压缩后的zip与同名文档CRC32码一致

已知明文攻击的方法

已知明文攻击的特点是已知一个ZIP压缩包中某个文件的原文件(也就是明文),利用已知文件和其压缩加密后的数据获取到压缩包的解压密码或者能对其解压。

常规已知明文攻击要想成功,需要具备3个条件:

1)完整的明文文件。

2)明文文件需要被相同的压缩算法标准压缩(也可理解为被相同压缩工具压缩)。

3)明文对应文件的加密算法是ZipCrypto Store。

只需要记住,即使在没有压缩密码的情况下,只要能获取3个密钥,就能实现解密。如果我们已知压缩包中的某个文件,就可以利用算法获取这3个密钥

image-20241205005520726

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

单击“确定”后,会弹出新的保存文件窗口

image-20241205013556922

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

image-20241205014603949

分离图片中的隐藏文件

图片分析

首先对图片进行分析,用binwalk(kali中是自带的,也可以下载到windows中使用)。

使用方法:binwalk + 文件路径/文件名

执行命令后,binwalk就会自动分析这个jpg文件:

image-20241205015107323

从分析的结果看,这个jpg文件隐藏着一个zip文件

图片分离

1,binwalk分离

还是使用binwalk工具,使用dd命令分离出隐藏文件:

1
2
dd if=flag.jpg of=1.zip skip=20421 bs=1

解释:if 指定输入文件,of 指定输出文件,skip 指定从输入文件开头跳过20421个块后开始复制,bs设置每次读写块的大小为1字节

image-20241205020021102

执行后会得到一个1.zip文件。

2.hex编辑器分类

经过分析ipg文件里隐藏了一个zip压缩包

搜索十六进制数值确定zip文件头

image-20241205113642931

作为选块起始位置

image-20241205113826881

最后作为选块结束位置

image-20241205113938357

复制选块至新文件

image-20241205114028296

得到一个zip压缩包

打开发现里面有一张ipg图片 需要输入密码

image-20241205114206621

zip伪加密

伪加密的原理是:ZIP压缩包生成时没有加密,手工修 改“frFlags”或“deFlags”的值,使得同一个文件的这两个字段中 至少一个 为奇数,这样在解压时会弹出密码输入框,无论输入什么密码都会报 错。这种原压缩包没有加密,但通过人工修改造成解压时需要输入密 码的现象,就叫作伪加密。

破解ZIP伪加密的方法十分简单。

如果“frFlags”和“deFlags”的值不相 同,例如,“frFlags”的值是奇数,“deFlags”的值是偶数,那么可以 把“frFlags”的值改为“deFlags”的值,然后解压查看结果。

使“frFlags”和“deFlags”都是同一个奇数,我们仍然怀疑该ZIP文件存 在伪加密,那么可以把这两个字段的值都 减1,改为相同的偶数,然后 进行解压查看其结果。

image-20241205115502622

image-20241205115520321

如图把两个值都改为8

成功打开压缩包

image-20241205115606936

得到最终flag

hgame{W0w!_y0U_Kn0w_z1p_3ncrYpt!}


这个压缩包有点麻烦
http://example.com/2024/12/05/这个压缩包有点麻烦/
作者
everythingis-ok
发布于
2024年12月5日
许可协议