2024春秋杯冬季赛-Day01-MISC方向WP


菜鸡碎碎念

第一天的题目还算简单,只有一道内存取证没做出来,再接再厉吧

简单算术

知识点省流

本题考查字符串异或

WP

下载得到一串乱七八糟的字符串,根据提示,用随波逐流进行字符串异或解码即可爆出flag

image-20250117175755526

See anything in these pics?

知识点省流

本题考查Aztec码,图片隐写(藏文件和宽高爆破)

WP

下载附件得到一个加密压缩包和一个码,根据码的名字提示,可以查到这个叫Aztec码,找个可以识别的在线网站扫描一下

image-20250117180105260

扫描得到了压缩包的密码,然后解压压缩包得到一张图片

image-20250117180145778

丢给aperi可以发现里面藏了一张png图片,binwalk出来后,会发现什么内容都没有,直接丢给随波逐流,最后会导出一张宽高值恢复后的图片,即可得到flag(或者自己写脚本爆破一下)

image-20250117180234915

image-20250117180405539

压力大,写个脚本吧

知识点省流

本题考查base64编码 压缩包(?其实也不算) python脚本

WP

下载得到一个压缩包,发现里面还有一个压缩包和文本,解压出来后,会发现压缩包里还是套了一个压缩包和文本,并且都是加密的,不难猜到这里套了一百个压缩包,手工解压太麻烦了,必须上脚本

image-20250117180543613

而文档中则是通过base64编码后的密码,解密出来即可

image-20250117180646313

写个脚本爆一下

# 参考了Lunatic大佬的脚本进行修改
import zipfile
import re
import os
import base64

file_name = './pic/zip_99.zip'
i = 99
s = 1
while True:
  try:
     zf = zipfile.ZipFile(file_name)
     re_result = re.search('[0-9]*', zf.namelist()[0])
     passwd = re_result.group()
     with open('./pic/password_'+str(i)+'.txt', 'r', encoding='utf-8') as file:
         content = file.read()
         content = base64.b64decode(content)
         print(content)

     zf.extractall(path='pic/', pwd=content)
     file_name = 'pic/' + zf.namelist()[0]
     i = i - 1

      
  except:
     print("get the result")

本来以为解压完就可以得到flag,但最后得到的是一个hint文档,告诉我们要把密码和密码加起来,然后最后还是png后缀,一时间其实是没想到的,但是我看了看解出来的密码,最后的密码开头是89504E,太熟悉了,猜到是要将密码从尾到头合并后,保存文件为png图片,再写个简单的拼接脚本就行

image-20250117180935838

image-20250117181051177

拼接后得到一张二维码,扫码可得到flag

image-20250117181224767

简单镜像提取

知识点省流

本题考查流量取证,文件恢复

WP

下载得到一个流量包,wireshark分析一下,筛选http流量,会发现这里传了什么文件,追踪tcp流看看

image-20250117181745651

不难发现里面有个PK打头的内容,明显是传了个压缩包,把这段流量保存,然后用010截取压缩包的部分后,解压压缩包会得到一个img文件

image-20250117181821723

img是一种镜像文件,尝试了用vmware挂载,但好像不行,然后我丢给了diskgenius看看能不能恢复什么文件,结果发现里面有一个xls文件,将其保存,打开即可得到flag

image-20250117182007087


这里是后续跟着别人的wp做出来的题了

ez_forensics

知识点省流

本题主要考察内存取证(vol2 vol3都涉及) md5解密 MobaXterm解密 base64解码(这道题的后半部分其实是之前jibo杯的一道原题)

WP

下载附件得到一个镜像文件,我这边比赛时用lovelymem直接vol2文件扫描,可以发现在Flu0r1n3这个用户的桌面藏了东西,但是用vol2导出来的文件是空的,当时以为是思路错了,赛后才知道要用vol3(焯),用vol3就可以正常提取了(学到了一种新的取证思路,什么工具什么版本都要试试),把fl4g.7z(有密码)、mysecre、hint.txt都提取出来

image-20250123180349491

hint和secre的内容如下,先看hint,60=()+(),发挥想象可以猜到是ROT47+ROT13

image-20250123181955505

厨子解一下,他提示我们可以尝试用hashdump去得到压缩包的密码

image-20250123182143607

用lovelymem执行hashdump导出镜像的用户信息的内容,因为前面的内容都在Flu0r1n3用户的桌面中,因此直接解该用户的信息即可,里面对应了用户密码的md5值,因此我们可以用md5在线解密,得到其密码为strawberries

image-20250123182252207

image-20250123182533370

然后用密码解压压缩包,得到内容如下,其中ini文件其实是MobaXterm的配置文件(可以把内容丢给ai分析出来)

image-20250123182602919

image-20250123182625121

而根据提示,其实就需要我们去解密ssh登录时的密文密码,https://github.com/HyperSine/how-does-MobaXterm-encrypt-password
跑个脚本解密即可

image-20250123182738128

image-20250123182846460

最后flag内的内容还需要通过base64解码(不是很懂这步的意义是啥)

image-20250123182925839

qwq