蓝鸡鸡的2023生日会解密 Writeup

蓝鸡生快捏。

题目地址:https://www.mcbbs.net/thread-1417951-1-1.html

0. 文件的获取

套路和之前一样,首先注意到帖子存在黑色底色的文字,可以得知文件的百度网盘和提取码:

1
1nnxk_S-W2-mfLo9J2GlhrA // blck

在段文字之后有size=0px的隐藏文字,可以开F12打开开发者工具来确认压缩包密码:

1
417a7a7572726f

至此可以正式开始解密了。

文件存档:

1. 文件分析

data_2302

是一个压缩包,解压后可获得解密的主体文件,即下方的所有文件。


data_7cca0dd5

该文件是一个文本文档,内容如下:

1
Cladeships of the 3 tactical troika classification in communion militant of Varpulis Subclade of Perun Clade encountered the Ancient Enemy Azdaja at reverse-time co-ordinates 1673482349 while processing in sub-18 exclave of conduit loop construct-405. Absolute imperative of poshlost extirpation against Azdaja was invoked without acceptable material realization. Tactical troika of Varpulis Subclade placed a casting of absorbed data into the cladeflow for reflection of Convocation of Triglav Outside the Struggle.

必应一下,发现是来自这个网站的内容:

https://www.alpha-orbital.com/news/the-complete-lore-of-the-triglavian-collective

相关解析网站:

三进制数据档案(AEA篇)
https://www.bilibili.com/read/cv11474124

原文如下:

1
Cladeships of the 3 tactical troika classification in communion militant of Varpulis Subclade of Perun Clade encountered the Ancient Enemy Azdaja at reverse-time co-ordinates (indecipherable) while processing in sub-18 exclave of conduit loop construct-405. Absolute imperative of poshlost extirpation against Azdaja was invoked without acceptable material realization. Tactical troika of Varpulis Subclade placed a casting of absorbed data into the cladeflow for reflection of Convocation of Triglav Outside the Struggle.```

可以发现和原文的关系,是将原文的(indecipherable)(释义为无法理解的词语或说出来的话语)替换为了1673482349,是一个时间戳,时间为2023-01-12 08:12:29,文件的修改时间为2023-01-12 08:12:34


dir_qnginhyg

data_7dcffd91.png

是一个PNG文件,调整曝光进行边缘检测后是20x20的码表。

以Hex格式打开文件,文件头部存在Brainfuck代码:

++++++++++[<++++++>-]<+++++++>>++++++[<+++>-]<[<.>-]<+++++>>>+++[<++>-]<[<+++>-]<[<.>-]<++++++.+...

解码为:CCCCCCCCCCCCCCCCCCHHHHHHHHHHHHHHHHHHNOOO

Brainfuck代码后面还有一串字符为HHHHHHHHH

因此推测可能是某种物质的化学式,搜索c18h27no3后得知这种物质为辣椒素,英文为capsaicin

因此推断该码表拥有码表+密钥的组合,但并未解出来该如何解码。

data_13145bf4.wav

是一个WAV文件,观察到左声道明显为莫尔斯电码,可以通过在线解码,解码后的结果如下:

1
2
3
4
5
R A J Q W D M 相隔0.5
Y T D W Y F F A U O N M Z C X I A I S N U E L M A V F H E O V X M U V Y F P X 相隔1
I Q B V G O I E W M V V J Y D L U Y F U L S 相隔1
Z 相隔一段时间
F

连起来后如下:

1
R A J Q W D M Y T D W Y F F A U O N M Z C X I A I S N U E L M A V F H E O V X M U V Y F P X I Q B V G O I E W M V V J Y D L U Y F U L S Z F

共70个字母,推测可能和密码表+密钥组合获得答案,但解码方式未知。

右声道是我并不了解的信号制式,开头有明显的稳定频率的声音,分别为1506Hz,1899Hz, 2301Hz,单个频率的持续时间为100毫秒,以0,1,2表征后的信息如下:

1
10102020111111

data_2443630b.zip

zip文件,有密码保护 ,猜测密码应该就是上面信号+密码表+密钥的结果。其中的文件名为Final.png,结合后文P1_TL.png的命名格式,推测该文件有特殊用途。

data_ed9b1b6d.schem

一个Minecraft Schem文件,导入到地图后第一层为二维码,将黑曜石replace成白色后扫码可得 https://www.bilibili.com/video/BV1sW4y1g7By/ ,视频内容为乌鸦级旋转一分钟。

往下几层由不同的方块随机分布,其中嵌入了一个Piet的图像。

不同方块的数量统计如图所示。


dir_qrpgbbyf

data_4f0256af.png

一个PNG图像文件,上面有一些彩色的线条。联想到药剂工艺的合成路线图,经过查阅Wiki后确认了结论,得出各个颜色所代表的路径:

棕色:Firebell

蓝色:Icefruit

青绿色:Weirdshroom

青色:Fluffbloom

绿色:Tangleweed

赭红色:Lava Rooot

由1/27日给出的提示,可以得出一个密码:

FirebellIcefruitWeirdshroomFluffbloomTangleweedLavaroot

验证后可以解压data_031c6f61压缩包。

data_5de34ba6.png

一个PNG图像文件,上面有一个类似路线图的标识,里面的文字由来自《EVE: Online》的深渊三神裔文字所表示,换成英文结果如下:

其中,kino是きの的罗马音,译为菌株,nani是なに的罗马音,译为什么。Ala的含义未知,其他数字的意义未知。

该文件的文件头EXIF部分存在一个长度巨大的EXIF信息,约3100字节,其中有一些字节存在规律,但规律没有搞清楚。

同时,该文件还包含一个压缩包,解压后文件为P1_TL.png。

P1_TL.png

该文件为Piet图像的一部分。

data_550ce377.png

该文件是一个图像文件,看起来像一个蓝色波浪线的壁纸。

同时,该文件包含一个mp3文件,data_6d177ad9.mp3。

data_6d177ad9.mp3

该文件是一个mp3文件,是一段剪贴而成的音频文件,音频处理的时候注意降低音量。分析的音频片段结论如下:

00:00 - 00:10 幅值巨大的噪音

00:10 - 00:50 C418 - alpha

00:50 - 01:10 波幅巨大的白噪音

00:53 - 01:07 未知,和前10秒的噪音相减后效果依然很差

01:10 - 01:17 倒放的录音,需要正过来,应该是某个音游曲目:Blue Zenith - xi

01:18 - 01:36 八音盒的音乐,前半部分是stay alive,后半未知

01:45 - 最后 INTERNET OVERDOSE

根据在B站的提示,有可能是74位的密码?但是只能分析出目前只有41位。

根据1/27日的提示,关于该文件的特别提示为0002,不能理解其中的含义。

alphabluezenithstillaliveinternetoverdose

data_031c6f61.zip

压缩包解压密码为FirebellIcefruitWeirdshroomFluffbloomTangleweedLavaroot。

解压后文件明显为base64编码的文字或图像,经过转换后确认是图像,是piet被Minecraft方块遮住的结果。

猜测最后的结果可能是以该文件作为基底,用其他谜题的结果填充该图像,进而获得最终结果。

仔细发现可以将这个图片上的四个小碎片合成一个大碎片,于是有了下图的结果:

data_387d677f.zip和data_c03fc8b0.zip

两个压缩包均包含密码,猜测分别为三角形路线图的解密结果和音频听力题的解密结果。


活动的提示

原帖的那个符

图像包含一个文本文件,内容如下:

dozdbv vsdfhohvv prvwob frxqwohvv vrphwlphv fdsohvv

明显是古典密码的一种,直接上刑具( http://quipqiup.com/ ),得到的原文如下:

always spaceless mostly countless sometimes capless

密码无空格,绝大多数情况下没有数字,有时候不区分大小写。

群组内的那个图片

在自己的群组内发了一张图片,内含一艘EVE: Online的一艘飞船:毒蜥级(Gila),种族为古斯塔斯海盗。尚未找到任何隐写的信息。

B站动态

蓝鸡的B站动态提供了一个正则表达式:

/[a-z]{74}/

说明可能存在一串内容为从a到z的74位密文。

1/27日的提示

原帖链接

1
2
3
4
5
6
The experts at the Ishukone Corporation have shared the following information in an effort to facilitate the decryption process.  
Three pairings of the data files exist in one of the data directories.
Some of the codes used has a pattern that conforms to the following rule:
/([A-Z]{1}[a-z]{5,10}){2,6}/
Only select codes used in encryption contain numerical digits.
Special note about 6d177ad9: 0002.

大意如下:

1
2
3
4
5
6
Ishukone Corporation的专家分享了以下信息,以促进解密过程。
其中一个数据目录中存在三对数据文件。
使用的某些代码具有符合以下规则的模式:
/([A-Z]{1}[a-z]{5,10}){2,6}/
只有用于加密的选定代码包含数字。
关于6d177ad9的特别说明: 0002。

Ishukone Corporation是EVE: Online的异株湖集团。

其中一个数据目录中存在三对数据文件,很明显是三张图+三个压缩包的那个文件夹(dir_qrpgbbyf),但是更加明显的是我只解出来一个。

正则表达式很明显指代的就是药剂工艺的那个图,测试FirebellIcefruitWeirdshroomFluffbloomTangleweedLavaroot密码正确。

只有用于加密的选定代码包含数字,这个应该是指密码表的那个解密,但并不知道是如何解密的,所以只能分析出如何解出再回头看这个提示了。

6d177ad9是那个音频听力题目,给出的0002也无法得知含义是什么。

3.结论与花絮

这次只拿到了三个获取最终结果的flag碎片,因为春节期间确实也是很忙的,包括假期后还搬了一次家,然后提示比较少,很多地方串不起来,串起来也不知道怎么分析,何况不够二次元,一些基本的信息也拿不到,这次活动基本上就划水了。

一次测试3个压缩包密码

代码如下,将数组的元素改成压缩包位置,之后跑这个脚本输入密码即可,密码正确不提示,然后解压正确的压缩包,密码错误提示密码错误。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import zipfile

zip = ['dir_qrpgbbyf/data_031c6f61.zip',\
'dir_qrpgbbyf/data_387d677f.zip',\
'dir_qrpgbbyf/data_c03fc8b0.zip',]

pwd = bytes(input('Enter the password:\n>'), 'ascii')

zip_file = []
for filename in zip:
zip_file.append(zipfile.ZipFile(filename, 'r'))

for file in zip_file:
try:
file.extractall(file.filename[0:-4]+"_extract/",pwd=pwd)
except:
print(file.filename + ' password is wrong!')

写这个脚本的原因很简单,拿到密码后,测试密码太折磨人了。于是就有了这个脚本程序。

音频分析

八音盒的那部分由于频率比较单一且明显,于是考虑通过扒谱来辅助作答。于是准备了wavetone然后一顿扒谱,生成的midi结果喂给网易云的结果是巴赫的某组曲,很明显是不对的。不知道midi有没有八音盒的采样,如果有的话可以考虑再试试。

图像分析

全部经过LSE分析,结果一无所获。

信号分析

右声道的信号到处找制式,但看到Signal Wiki上三四百种信号,我放弃了。

缺少的信息与分析方式总结

密码表+密钥+莫尔斯电码的解密方法未知。

音频听力题有两处音频未分析出来。

信号分析题右声道的信号制式未知。

三角路线图的含义未知,其中包含的EXIF信息规律未知。


蓝鸡鸡的2023生日会解密 Writeup
http://etwzero.github.io/2023/02/01/LocusAzzurro-4th-CTF-Writeup/
作者
Eric Zane
发布于
2023年2月1日
许可协议