2024春秋杯冬季赛-Day01-MISC方向WP
菜鸡碎碎念
第一天的题目还算简单,只有一道内存取证没做出来,再接再厉吧
简单算术
知识点省流
本题考查字符串异或
WP
下载得到一串乱七八糟的字符串,根据提示,用随波逐流进行字符串异或解码即可爆出flag
See anything in these pics?
知识点省流
本题考查Aztec码,图片隐写(藏文件和宽高爆破)
WP
下载附件得到一个加密压缩包和一个码,根据码的名字提示,可以查到这个叫Aztec码,找个可以识别的在线网站扫描一下
扫描得到了压缩包的密码,然后解压压缩包得到一张图片
丢给aperi可以发现里面藏了一张png图片,binwalk出来后,会发现什么内容都没有,直接丢给随波逐流,最后会导出一张宽高值恢复后的图片,即可得到flag(或者自己写脚本爆破一下)
压力大,写个脚本吧
知识点省流
本题考查base64编码 压缩包(?其实也不算) python脚本
WP
下载得到一个压缩包,发现里面还有一个压缩包和文本,解压出来后,会发现压缩包里还是套了一个压缩包和文本,并且都是加密的,不难猜到这里套了一百个压缩包,手工解压太麻烦了,必须上脚本
而文档中则是通过base64编码后的密码,解密出来即可
写个脚本爆一下
# 参考了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图片,再写个简单的拼接脚本就行
拼接后得到一张二维码,扫码可得到flag
简单镜像提取
知识点省流
本题考查流量取证,文件恢复
WP
下载得到一个流量包,wireshark分析一下,筛选http流量,会发现这里传了什么文件,追踪tcp流看看
不难发现里面有个PK打头的内容,明显是传了个压缩包,把这段流量保存,然后用010截取压缩包的部分后,解压压缩包会得到一个img文件
img是一种镜像文件,尝试了用vmware挂载,但好像不行,然后我丢给了diskgenius看看能不能恢复什么文件,结果发现里面有一个xls文件,将其保存,打开即可得到flag
这里是后续跟着别人的wp做出来的题了
ez_forensics
知识点省流
本题主要考察内存取证(vol2 vol3都涉及) md5解密 MobaXterm解密 base64解码(这道题的后半部分其实是之前jibo杯的一道原题)
WP
下载附件得到一个镜像文件,我这边比赛时用lovelymem直接vol2文件扫描,可以发现在Flu0r1n3
这个用户的桌面藏了东西,但是用vol2导出来的文件是空的,当时以为是思路错了,赛后才知道要用vol3(焯),用vol3就可以正常提取了(学到了一种新的取证思路,什么工具什么版本都要试试),把fl4g.7z(有密码)、mysecre、hint.txt都提取出来
hint和secre的内容如下,先看hint,60=()+()
,发挥想象可以猜到是ROT47+ROT13
厨子解一下,他提示我们可以尝试用hashdump去得到压缩包的密码
用lovelymem执行hashdump导出镜像的用户信息的内容,因为前面的内容都在Flu0r1n3用户的桌面中,因此直接解该用户的信息即可,里面对应了用户密码的md5值,因此我们可以用md5在线解密,得到其密码为strawberries
然后用密码解压压缩包,得到内容如下,其中ini文件其实是MobaXterm的配置文件(可以把内容丢给ai分析出来)
而根据提示,其实就需要我们去解密ssh登录时的密文密码,https://github.com/HyperSine/how-does-MobaXterm-encrypt-password
跑个脚本解密即可
最后flag内的内容还需要通过base64解码(不是很懂这步的意义是啥)