【CTF-MISC-压缩包】零宽字符+OpnenPuff+bkcrack破解层层文件加密

题目

第三届 SHCTF 公开赛道\题目\MISC\Open my puff

解密

打开压缩包并解压

零宽字符在线解密

1.txt里面是明显的零宽字符

在线解密网址:https://tool.bfw.wiki/tool/1695021695027599.html

将字符放入右侧,解密后得到

bash 复制代码
keyA:12345678
keyB:qwertyui
keyC:asdfghjk

OpenPuff解密

2.png尝试了各种隐写,并未发现任何问题

但用010打开,发现末尾有openpuff4.01的字样,同时联想题目Open my puff提示,应该使用了OpenPuff加密,且版本尽量是4.01版本

加密解密工具下载地址:https://openpuff.en.lo4d.com/download

输入密钥ABC并选择图片,进行解密

得到一个azaa.zip的压缩包,进行解压

解压压缩包

根据已知明文使用bkcrack破解压缩包

打开flag.txt

并没有什么线索

bash 复制代码
niimmccw????zfip

打开flag.zip

发现里面也有一个flag.txt,那么线索很可能就是,外面的flag.txt文件包含了压缩包里面的flag.txt的部分内容

且采用了zipcrypto store加密算法

进制转换

第0位开始的数据:niimmccw ------> 6e69696d6d636377,共8字节

第12位开始的数据:zfip ------> 7a666970,共4字节

zfip前面有11个数值:niimmccw???

破解原理

  • 破解原理:只需要至少 12 字节的已知明文(其中至少 8 字节必须是连续的)就能进行攻击,可以是分开的12字节,也可以是在一起的12字节

  • bkcrack下载地址:

    https://github.com/kimci86/bkcrack/releases/tag/v1.8.1

  • 将bkcarck.exe放到待解密的压缩包下

破解加密密钥

bash 复制代码
.\bkcrack.exe -C flag.zip -c flag.txt  -x 0 6e69696d6d636377  -x 12 7a666970

参数说明:

  • -C flag.zip:指定要破解的加密 ZIP 文件
  • -c flag.txt:指定 ZIP 内的目标文件(flag.txt)
  • -x 0 6e69696d6d636377:在偏移量 0 处提供已知明文(十六进制)
  • -x 12 7a666970:在偏移量 12 处提供已知明文(十六进制)

执行过程:

  1. 使用 1 字节已知明文进行 Z 值缩减
  2. 在索引 6 处对 2818048 个 Z 值进行攻击
  3. 找到密钥:4543d810 f89b3d67 531a63b0
  4. 攻击进度达到 32.6% 时找到解(这个过程挺慢的,十分钟吧)
bash 复制代码
PS C:\Users\Administrator\Desktop\azaa> .\bkcrack.exe -C flag.zip -c flag.txt  -x 0 6e69696d6d636377  -x 12 7a666970
bkcrack 1.8.1 - 2025-10-25
[14:47:23] Z reduction using 1 bytes of known plaintext
100.0 % (1 / 1)
[14:47:23] Attack on 2818048 Z values at index 6
Keys: 4543d810 f89b3d67 531a63b0
32.6 % (918733 / 2818048)
Found a solution. Stopping.
You may resume the attack with the option: --continue-attack 918733
[14:58:18] Keys
4543d810 f89b3d67 531a63b0

生成指定密码的 ZIP 文件

bash 复制代码
.\bkcrack.exe -C flag.zip -k 4543d810 f89b3d67 531a63b0 -U flag1.zip easy

参数说明:

  • -C flag.zip:原始加密的 ZIP 文件
  • -k 4543d810 f89b3d67 531a63b0:使用破解得到的三个密钥
  • -U flag1.zip easy:生成新的 ZIP 文件,使用密码 "easy"
bash 复制代码
PS C:\Users\Administrator\Desktop\azaa> .\bkcrack.exe -C flag.zip -k 4543d810 f89b3d67 531a63b0 -U flag1.zip easy
bkcrack 1.8.1 - 2025-10-25
[15:14:18] Writing unlocked archive flag1.zip with password "easy"
100.0 % (1 / 1)
Wrote unlocked archive.

也可以直接提取flag.txt文件,命令如下:

bash 复制代码
.\bkcrack.exe -C flag.zip -c flag.txt -k 4543d810 f89b3d67 531a63b0 -d flag.txt

解密压缩包

答案

SHCTF{N3ur4l_Gl1tch_1n_Th3_5yst3m}

相关推荐
Sagittarius_A*5 小时前
【RCELABS】Level 1~4 —— 基础篇
靶场·php·ctf·代码审计·rce
print_Hyon16 天前
【CTF-MISC-音频和视频】分析音频频谱,提取图片中的文件并尝试解码得到rar文件
ctf
print_Hyon16 天前
【CTF-MISC-盲水印】压缩包8字节反转+bkcarck破解压缩包+双图盲水印
ctf
福来阁86号技师16 天前
2026-now 网络安全笔记
网络安全·ctf·awd
print_Hyon17 天前
【CTF-MISC-压缩包】bkcrake通过已知明文文件攻击来破解加密的压缩包
ctf
祁白_2 个月前
PHP回调函数
web安全·php·ctf·代码审计·writeup
Eileen Seligman2 个月前
0CTF/TCTF 2023 OLAPInfra Nashorn RCE + HDFS UDF RCE
大数据·hadoop·hdfs·ctf·rce
qsuperm2 个月前
LitCTF2026WEB
网络安全·ctf
路baby2 个月前
2026第十届御网杯网络安全大赛线上赛 区域赛WP (MISC和Crypto)(详解-思路-脚本)
安全·web安全·网络安全·密码学·ctf·misc·御网杯