CTF实战分享 | RWZIP | xxxCTF实战分享 | RWZIP – xxx
菜单

CTF实战分享 | RWZIP

五月 5, 2024 - FreeBuf

前言

首先我们要了解,压缩包本身并不具备隐藏信息的功能,但由于在CTF竞赛中,经常出现压缩包与隐写术结合在一起的题目,所以我们需要掌握在CTF竞赛中有关 ZIP 压缩包题目的常见题型及分析手段。

常见题型

CTF中常见的压缩包套路(这些套路也不一定是单独出现,大多数情况都是组合出现的)

(1) 利用进制转换隐藏信息

(2) 作为冗余信息或隐藏信息藏在其他文件中,一般是图片

(3) 简单密码爆破

(4) 字典爆破/掩码攻击

(5) 伪加密

(6) 明文攻击

(7) CRC32碰撞

(8) 文件修复

(9) 冗余信息拼接

(10)注释隐藏密码4. ZIP文件格式等等。

背景原理

首先,我们来看zip文件头协议。(下面两张图片学术借鉴了一下)

一个 ZIP 文件由三个部分组成:

压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志CTF实战分享 | RWZIPCTF实战分享 | RWZIP

1.压缩源文件数据区:

50 4B 03 04:这是头文件标记

14 00:解压文件所需 pkware 版本

00 00:全局方式位标记(判断有无加密)

08 00:压缩方式

5A 7E:最后修改文件时间

F7 46:最后修改文件日期

2.压缩源文件目录区:

50 4B 01 02:目录中文件文件头标记

1F 00:压缩使用的 pkware 版本

14 00:解压文件所需 pkware 版本

00 00:全局方式位标记(判断是否为伪加密)

08 00:压缩方式

5A 7E:最后修改文件时间

F7 46:最后修改文件日期

3.压缩源文件目录结束标志:

50 4B 05 06:目录结束标记

00 00:当前磁盘编号

00 00:目录区开始磁盘编号

01 00:本磁盘上纪录总数

01 00:目录区中纪录总数

59 00 00 00:目录区尺寸大小

3E 00 00 00:目录区对第一张磁盘的偏移量

00 00:ZIP 文件注释长度

实战案例

工具推荐:Winhex、010 、Bandizip 等

1. 首先我们通过题目 RWZIP 标题给的链接下载下来一个压缩包文件:

RWZIP_e974e05bec738d79cae89fa4936e047c.zip

CTF实战分享 | RWZIP

2.先尝试随便用一个 360 压缩包工具打开查看一下

可以看到里面存在一个 flag.txt 文件并且提示文件损坏,如果强行解压下来里面并没有文件。

CTF实战分享 | RWZIP

根据上面提示文件损坏,我们再用 WinRAR 选择保留损坏的文件打开看看,发现提示要密码。

CTF实战分享 | RWZIP

CTF实战分享 | RWZIP

再用 Bandizip 打开看看

CTF实战分享 | RWZIP

3.接着我们在用其他工具打开,这里用 010 工具演示

把压缩包直接丢进去直接进行查看

CTF实战分享 | RWZIP

刚开始一度以为像是伪加密,后面发现不对

后面再看了看题目的提示感觉的确方向错了,接着挨个对照标记位进行查看,我们知道文件确定是被加密了

在工具中我们点击下面红框中部分,就会展开里面的 flag.txt 文件的信息,进行查看

CTF实战分享 | RWZIP
CTF实战分享 | RWZIP这里我们就可以开始分析了,对着前面给出的压缩源文件数据区的图,对照分析,我们可以在工具中挨个往下点击,上面也会显示相对应的 hex16 进制的标记位,还是很方便的,对照查看即可。

示例:

CTF实战分享 | RWZIP

当我们挨个查看到 frCRc 这里就能很明显感觉到不太对劲,通过前面压缩包工具自带的功能我们能清楚的看到

在 CRC 这个位置全是 0,很明显不对。

CTF实战分享 | RWZIP
CTF实战分享 | RWZIP

接着我们开始在 010 工具中直接对其进行修改,到这里这部分基本上就差不多了,然后进行保存即可

CTF实战分享 | RWZIP

注意:这里还是推荐使用 Bandizip 这样的压缩包工具,因为用其他的可能还是提示文件有问题损坏什么的

前面我们知道还是需要有密码,那么我们就可以用该工具进行密码恢复,点击左上角工具-密码恢复

CTF实战分享 | RWZIP

这里需要注意:普通版本只能恢复 4 位数加密密码,专业版才能支持 6 位

导入压缩包文件,接着一直点继续一般默认设置即可

CTF实战分享 | RWZIP
CTF实战分享 | RWZIP

CTF实战分享 | RWZIP

然后这里点击开始,就可以看到只用了 4 秒密码就出来了。

CTF实战分享 | RWZIP

CTF实战分享 | RWZIP

最后再解压缩文件,打开 flag.txt 文件

CTF实战分享 | RWZIP

再进行仅字母反转即可

CTF实战分享 | RWZIP

# web安全 # CTF
CTF实战分享

CTF实战分享 | RWZIP 已在FreeBuf发表 0 篇文章
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022

Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51