2025 ApoorvCTF Writeup
Swizzer
Rank 18th

又又又是印度佬的比赛,题目味道一如既往的咖喱。

你问我为什么要打?当然是因为前75有域名奖励啦!

因为exp什么的都在另一台设备上,这里就不一个个贴了,简单记录下思路吧。

Misc & Forensics & Hardware

Ramen lockdown

Zip Store压缩的加密压缩包,里面有个png文件。png文件头能抠出来16个连续的已知字节,足够直接bkcrack明文攻击了。

bkcrack -C recipe.zip -c secret_recipe.png -x 0 89504E470D0A1A0A0000000D49484452 -U chall_dec.zip ""

等1min左右就出了。

*The Cursed Console - 呪われたカセット

这题是队友@oldkingOK出的,一血,也是全场唯一一解。我用VirusTotal检查了一下nes文件,从first submission日期可以确定问题不在于此,所以只需要看分发的emulator。

IDA看一眼字符串找到对应的项目,跟队友讨论了一下觉得可以拖一个Action里的二进制出来bindiff,这样会方便逆向一点。

按队友的说法最后是在sn::PictureBus::read里找到的神秘字符串,异或解密后包上flag格式就对了:

magic!

主办方最初分发的附件是动态链接的并且链接的libsfml版本很低,为了跑起来这玩意儿,@oldkingOK整了点灵车手段才搞定估计大部分人都没有相应的环境直接运行吧,我猜在这儿卡住了不少人。

本来以为是跟GeekGame 2025里mario那题类似的东西,结果判若云泥...

Ghosted on the 14th

流量包里俩人的聊天透露了个IP地址,还说这上面的blog被删除了。结合题面暗示的日期,拿去Wayback Machine查查看就能找到被删除的页面,检查源代码看到一串base64,解码即得。

一个坑点是Wayback Machine不能直接用IP搜索,得加个http://前缀,不然完全找不到正确答案。

Petah Hunt

图片提示用户名为buffedpetah,DuckDuckGo直接搜到对应的GitHub用户。稍微看看这人(人?)的repo就能发现问题

结合代码和数值可以猜到project.obj里的数据前两列是双音多频,可以对应到按键。最后一列虽然不知道是在干嘛,但是可以注意到有{行数}->{行数*100}这两个集合之间的双射,所以按第三列数字的升序排列一下数据,然后提取按键,可以看出来是个英文9键输入法,再转换一下就是flag。

Broken Tooth

RTP传输的音频,Wireshark直接就能从里面播放出音频,不过经过了很明显的慢放和降调。+6个半音&1.15倍速后拿给队友听了听,一耳朵认出来是Billie Eilish的Birds of a Feather

Crypto

开胃小菜都算不上,一个ECB逐分组字节爆破,一个misc(俩图按像素Add就有flag),一个MT19937(还是直接照抄的这个),一个MD5长度扩展攻击,还有一个更是直接按D-S-D-S走迷宫就拿下了(虽然后来好像把这个bug给修了)

一坨