一只大八哥 发表于 2019-12-10 10:35

分享一道CTF破解压缩包密码的简单解题过程

本帖最后由 一只大八哥 于 2021-7-20 14:21 编辑

0x00
题目下载:
工具下载:
ARCHPR破解免费版(下载之家)链接贴不上,自行百度下载吧
WinHex或010Editor(爱盘自行下载)
描述:无
0x01
先解压附件,看到是一个level1.zip和一个Readme.txt。
文本中有这么一段描述:
# Master of Zip小明喜欢用自己的手机号来加密zip,我们通过社工只查到了他手机号的前三位为199,你能解开这个压缩包吗?(手机号为伪造手机号,请不要试图拨打或社工)

到这你想到的是什么?
反正我想到的就是直接放到工具里破解。
不啰嗦,直接一步到位
先加载压缩文件
攻击类型选择掩码,范围为0-9,设置开始和结束位,掩码负责控制密码位数,这里用'?'表示,输入11位(掩码表示符号可以在“高级”中设置)

设置好后点击开始,几秒钟就可以解决
当然,这里你用其他的破解工具也是可行的

0x02
接下来我们打开了压缩文件,看到有一个level2.zip和一个Readme.txt。
文本中的描述如下:
Please notice that the telephone number in level1 is a fake one, do not try to call it.


暴力破解已经用过了,接下来优先想到伪加密,用winhex查看文件信息后,排除伪加密的可能。(我用的是“好压”)再双击level2.zip查看一下里面文件的信息,发现里面有level3.zip和Readme.txt,而且可以看到它们的CRC32信息。


那再右击level2中的Readme.txt看看CRC32长啥样(找不到“计算MD5”选项的,在其他压缩命令里面找一下)

然后看到

有没有发现什么?
level3里面的ReadMe的CRC和level2里面的ReadMe的CRC一样,都是3D112FF4
再附一张结构图吧,像我一样的小白会看的更清晰一点吧

这说明了什么?说明了可以明文攻击了!
接下来,明文攻击步骤如下:
将level2中已知的Readme.txt压缩成Readme.zip,选择攻击类型为明文,将level2.zip和Readme.zip分别载入到这两个选框中,然后点击开始破解


破解过程会自动查到3个密钥,然后明文攻击,等待的时间很漫长,看情况点击停止,然后保存文件。如下图所示,我破解到25%就点停止了,然后保存文件后发现已经破解出来了



自动保存为level2_decrypted.zip,解压打开,里面是一个level3.zip和一个Readme.txt。
0x03
文本中依旧是:
Please notice that the telephone number in level1 is a fake one, do not try to call it.


这次是伪加密,肯定逃不了了,把level3.zip拖到winhex中,看一下信息
在看信息之前,首先要了解一点关于zip文件头协议的小知识:
一个 ZIP 文件由三个部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志
压缩源文件数据区:
50 4B 03 04:这是头文件标记(0x04034b50)
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密)
08 00:压缩方式
5A 7E:最后修改文件时间
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
07 00:文件名长度
00 00:扩展记录长度
6B65792E7478740BCECC750E71ABCE48CDC9C95728CECC2DC849AD284DAD0500
压缩源文件目录区:
50 4B 01 02:目录中文件文件头标记(0x02014b50)
3F 00:压缩使用的 pkware 版本
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为01 00打开就会提示有密码了)
08 00:压缩方式
5A 7E:最后修改文件时间
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
07 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 00 00 00:外部文件属性
00 00 00 00:局部头部偏移量
6B65792E7478740A00200000000000010018006558F04A1CC5D001BDEBDD3B1CC5D001BDEBDD3B1CC5D001
压缩源文件目录结束标志:
50 4B 05 06:目录结束标记
00 00:当前磁盘编号
00 00:目录区开始磁盘编号
01 00:本磁盘上纪录总数
01 00:目录区中纪录总数
59 00 00 00:目录区尺寸大小
3E 00 00 00:目录区对第一张磁盘的偏移量
00 00:ZIP 文件注释长度


好了,有了这个文档,就可以解决伪加密的问题了。查找搜索十六进制数值找上方红色位置的数据,
先找到文件头标记


找到此处,奇数是伪加密,偶数是正常打开。把1改成0,啃戳挨死,保存一下



然后我们就解压出了level3,里面是一张图片
大概长这个样子吧

0x04

嗯…可能是隐写,用binwalk看一下图片

发现就单纯一张图片,里面没啥


反正winhex还没关,先把图片拖进去改个图片大小看看
这里再补充一点png标头的小知识
前8个字节是PNG文件的标识,接下来就是IHDR数据块了:

[*]00 00 00 0D 说明IHDR头块长为13
[*]49 48 44 52 IHDR标识
[*]00 00 02 80 图像的宽,0x280像素
[*]00 00 01 90 图像的高,0x190像素

好了,够了,想知道更多的自行百度
改它就好了:

我们把高度调高一点,190改成290看看,康处挨死保存一下
害!


结束。
当然改大小的时候肯定没这么顺利,试了好多次,为了不啰嗦,我就理想状态下改改。
0x05
阅完请帮我盖个章(送个免费礼物)吧,拜拜👋。
害!咱也不知道链接为啥失效。补个蓝奏云地址吧:https://lanzoui.com/i7xgt8d

raykeyor 发表于 2019-12-10 10:46

谢谢分享

一只大八哥 发表于 2019-12-11 17:07

Hmily 发表于 2019-12-11 15:54
第一次上传完是正常的是吧?当时出现卡之类的异常了吗?或者和平时有什么不同?

第一次上传完,除了附件之外,其他正常。当时附件不能下载(附件异常状态见本文0x05处两个附件),于是我重新上传了两次才可以下载(见本文0x00处附件)。没有出现卡顿之类的。0x05处的一张图片和两个附件我不知道要在哪里编辑。我在编辑模式中,到蓝奏云链接处,文章就已经结束了。编辑模式中文末并没有显示这张图片和这两个附件。

一只大八哥 发表于 2019-12-10 10:41

发布后,排版变得有点乱,不过应该不会妨碍阅读。题目下载链接自动移到最下面了,就先这样吧,有问题我再调整

Naxior 发表于 2019-12-10 11:07

感谢分享~不过文件似乎下载不了。

ainiyibeizi520 发表于 2019-12-10 11:16

黄金四点半附件

一只大八哥 发表于 2019-12-10 11:18

Naxior 发表于 2019-12-10 11:07
感谢分享~不过文件似乎下载不了。

附件已重新上传

一只大八哥 发表于 2019-12-10 11:19

ainiyibeizi520 发表于 2019-12-10 11:16
黄金四点半附件

附件已重新上传

jzyyy 发表于 2019-12-10 12:24

我以为直接用暴力破解就完了。。。

韬. 发表于 2019-12-10 12:56

谢谢分享

cptw 发表于 2019-12-10 12:56

谢谢分享
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 分享一道CTF破解压缩包密码的简单解题过程