BUUCTF——杂项渗透之请攻击这个压缩包

下载附件后是一个zip的压缩包,双击查看,发现里面是一个名为flag.png的图片。如下图:

、右键用解压工具解压,提示有密码:

压缩包有密码分为两种:

一种是没有密码,只是在压缩包的密码标志位改成了有密码的,即伪加密。(只需用十六进制编辑器将密码标志位改回即可)

一种是真有密码,此时有两种方法能破解。一是暴力破解(需要字典和较长时间);二是明文攻击(需要已知一部分的文件)。

首先,我们先从伪加密方面去考虑。更改了数据区‌的全局方式位标记和目录区‌的全局方式位标记(如00 00表示无加密,01 00表示真加密)。 具体可见上一篇文章-->BUUCTF——杂项渗透之zip伪加密-CSDN博客  里具体写的。

更改标记位后,发现flag.png解压后依然无法查看,由此可见,这一题是真的加密。

那么真加密我们就从暴力破解和明文攻击两个方面去考虑。

之前已经点开发现里面是一张png的图片,那么png格式的12字节的文件头是固定的。

于是尝试用png文件的文件头去进行明文攻击。

这里说明下:需要压缩算法是ZipCrypto Store的才能这样进行明文攻击,而AES-256 Deflate 和 AES-256 Store 是不能进行明文攻击的。具体参考:Bugku CTF:请攻击这个压缩包[WriteUP]-CSDN博客 这篇文章。

PNG文件的十六进制头:

89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52

在kali中输入

echo 89504E470D0A1A0A0000000D49484452 | xxd -r -ps > png_header

将十六进制数据转化成ASCII文本。

之后cat查看下内容:

之后使用bkcrack工具来进行爆破。

其中bkcrack工具是需要提前安装的,具体如何安装,请参考:kali安装bkcrack(简单版)-CSDN博客 这篇文章来进行安装。(我之前按其他方法,先安装cmake,再来安装bkcrack总是会报一些错误。)

成功安装bkcrack后,将加密的zip文件和之后生成的png_header文件放在同一文件夹,cd到此文件夹,执行下面的命令:

time bkcrack -C file.zip -c flag.png -p png_header -o 0 > 1.log&
time:加上time参数查看计算爆破时间
-C:选择加密压缩包
-c:选择压缩包的密文部分
-p:选择的明文文件
-o:指定的明文在压缩包内目标文件的偏移量
> 1.log&:后台运行,并将结果存入1.log

再执行以下命令,看爆破的进度和结果:

tail -f 1.log

之后等待爆破完成,完成后会显示爆破出来三个key,如下图所示:

三个key分别为:92802c24 9955f8d6 65c652b8

然后就是利用三个key去把flag.png爆破出来。具体命令如下:

bkcrack -C file.zip -c flag.png -k 92802c24 9955f8d6 65c652b8 -d new.png
-k:输入三段密钥
-d:输出

再去文件夹中查看,发现新生成了new.png的图片。打开图片,则是flag。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值