Bugku CTF:请攻击这个压缩包[WriteUP]

 拿到手就是一个加密了的压缩包

里面有一个flag.png文件

Bugku CTF:请攻击这个压缩包[WriteUP]_第1张图片

像这种没有任何提示的情况下

只有三种选择:

1.暴力破解
2.考虑zip伪加密
3.明文攻击

暴力破解,效率低而且不跑个一年半载大概率拿不到口令

把文件拖进010editor查看,发现这是真加密所以这条路也断了

所以我们尝试一下zip明文攻击~

使用7z,查看一下该压缩包的压缩算法:ZipCrypto Store

Bugku CTF:请攻击这个压缩包[WriteUP]_第2张图片

这种传统的压缩算法满足明文攻击的前提条件

但如果是:

AES-256 Deflate

AES-256 Store

这两种压缩算法,那明文攻击这条线也没了


明文攻击,通常需要拥有一个与压缩包内一样的文件才能完成

但是我们这里利用ZipCrypto Store的特性,只需要知道加密压缩包内容的12个字节

就可以对该压缩包进行明文攻击破解

而该压缩包内的flag.png的12个字节的文件头是固定的与其他任何png文件一样

PNG文件十六进制头:

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

利用此点,我们创造一个只有这个文件头的png文件,就可以进行明文攻击


echo 89504E470D0A1A0A0000000D49484452 | xxd -r -ps > png_header

xxd -r -ps:将16进制数转换成ASCII文本

效果如下:

Bugku CTF:请攻击这个压缩包[WriteUP]_第3张图片

接下来的操作,需要提前安装好bkcrack工具

将加密的压缩包和png_header放在同一目录下

执行以下代码:

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

Bugku CTF:请攻击这个压缩包[WriteUP]_第4张图片

如此便获得了三段密钥:92802c24 9955f8d6 65c652b8


接下来就是利用三段密钥,把flag.png文件取出来

bkcrack -C file.zip -c flag.png -k 92802c24 9955f8d6 65c652b8 -d 1.png

-k:输入三段密钥

-d:输出

Bugku CTF:请攻击这个压缩包[WriteUP]_第5张图片

 打开该图片进行查看:

Bugku CTF:请攻击这个压缩包[WriteUP]_第6张图片

文章借鉴引用: ZIP已知明文攻击深入利用 - FreeBuf网络安全行业门户


BugKu{不是非得两个文件你才能明文攻击}

你可能感兴趣的:(网络安全)