hgame2021 misc复现
week1
Base全家福
看题目名字就知道是base套娃,这里再总结一下base系列的特点
Base64:A-Z 、a-z、+、/ (由于特性末尾可能会有一个或者两个=)
Base58:相比Base64,不使用数字0,字母大写OI和小写l以及符号+/
Base32:A-Z、2-7、可以出现两个以上的=
Base16:0-9、A-F(和十六进制不是一样吗)
根据以上可得到flag
hgame{We1c0me_t0_HG4M3_2021}
不起眼压缩包的养成的方法
图片注释里面有
Secret hidden IN picture
binwalk和foremost一把梭分离出一个压缩包,压缩包注释有
Password is picture ID(up to 8 digits)
这里我直接软件爆破得到压缩包密码70415155
根据官方wp似乎要去Pixiv搜图片可以得到ID
解压得到压缩包plain.zip和NO PASSWORD.txt
打开plain.zip发现里面也有一个NO PASSWORD.txt
看到plain可以知道是明文攻击,txt里面还有一个提示
By the way,i only use storage.
可以知道要把压缩模式为storage,中文版也就是存储模式,默认压缩模式是标准,
这里是个坑
选择存储模式然后在Advanced Archive Password Recovery选择明文攻击就好了,然后
得到密码
C8uvP$DP
得到一个flag.zip这里根据之前NO PASSWORD.txt提示
Because its too strong or null.XD
知道是伪加密(直接放进去Ziperello也可以知道)
修改一下加密位得到
这个是Unicode在网页上面的形式,直接改txt后缀为html打开就得到flag
hgame{2IP_is_Usefu1_and_Me9umi_i5_W0r1d}
Galaxy
这个是流量题,用wireshark查看导出对象可以得到galaxy.png
stegslove binwalk zsteg一把梭都没发现什么,后来直接改一下高度得到flag
hgame{Wh4t_A_W0nderfu1_Wa11paper}
后来看了wp知道在windows的图片查看器打开是没有问题的,但是用其他会报错,这里是crc修改过了
贴一下官方的脚本
1 | import struct |
Word RE:MASTER
这道题我搞了好久来着(不愧是150分的题,坑多)
得到一个有密码的maimai.docx和没密码的first.docx,先看first.docx,
看到
Fuck!我的脑子好疼!
就知道是brainfuck编码,把后缀改成zip,解压
发现有一个password.xml,里面有
+++++ +++[- >++++ ++++< ]>+++ +.<++ +[->+ ++<]> ++.<+ ++[-> +++<] >+.<+ ++[-> - –<] >-.++ ++++. <+++[ ->— <]>-. +++.+ .++++ ++++. <+++[ ->— <]>– —-. +.— –..+ .++++ +++++ .<+++ [->– -<]>- —– .<
解码得到
DOYOUKNOWHIDDEN?
这个是maimai的密码,然后打开看到一张表情包
所以可知有SNOW隐写,把隐藏文字打开就可以看到
这里有个怪怪的地方,我用的是wps,这两个地方打开看到的隐藏文字是不一样的,我尝试几次才搞出来的
不知道用word怎么样
然后保存到txt里面再
得到flag
hgame{Cha11en9e_Whit3_P4ND0R4_P4R4D0XXX}
这里再给一下网页端的snow隐写
week1体验还是比较良好的
week2
Tools
套娃题,直接搬官方wp
每⼀层⼯具的名字都在压缩包⽂件名给出了,⼯具使⽤的密码都在同⼀层套娃的图⽚备注⾥,直接找⼯ 具解就完事 JPHS 有图形界⾯
java Extract Matryoshka.jpg -p ‘!LyJJ9bi&M7E72*JyD’
steghide.exe extract -p ‘A7SL9nHRJXLh@$EbE8’ -sf .\01.jpg outguess -k “z0GFieYAee%gdf0%lF” -r 02.jpg secret.txt
得到密码
rFQmRoT5lze@4X4^@0
得到的四张图片拼一下图得到flag
hgame{Taowa_is_N0T_g00d_but_T001s_is_Useful}
DNS
流量题,打开wireshark发现经常出现一个可疑的网址
flag.hgame2021.cf
浏览器访问发现一直弹
挨个挨个追踪流看到了
有提示是SPF,这里贴一下百度百科的解释
直接用命令查找
得到flag
hgame{D0main_N4me_5ystem}
- 用这个网站查看也可以
Telegraph:1601 6639 3459 3134 0892
这道题还挺好听,题目这串数字猜测是中文电码
百度一波
猜测要留下某个特定的频段,用Audaticy打开切到频谱看到
发现了850Hz,切到波形放大到一分钟十秒左右发现有莫斯电码
直接手动得到flag
hgame{4G00DS0NGBUTN0T4G00DMAN039310KI}
后来看了wp,在AU里面可以看到带宽约为200Hz
然后对其进行中心频率为850Hz,带宽为200Hz的带通滤波,然后导出再
用在线工具得到flag
Hallucigenia
题目是一张很大得到图片,用stegslove打开发现有
扫出来
gmBCrkRORUkAAAAA+jrgsWajaq0BeC3IQhCEIQhCKZw1MxTzSlNKnmJpivW9IHVPrTjvkkuI3sP 7bWAEdIHWCbDsGsRkZ9IUJC9AhfZFbpqrmZBtI+ZvptWC/KCPrL0gFeRPOcI2WyqjndfUWlNj+d gWpe1qSTEcdurXzMRAc5EihsEflmIN8RzuguWq61JWRQpSI51/KHHT/6/ztPZJ33SSKbieTa1C5k oONbLcf9aYmsVh7RW6p3SpASnUSb3JuSvpUBKxscbyBjiOpOTq8jcdRsx5/IndXw3VgJV6iO1+6j l4gjVpWouViO6ih9ZmybSPkhaqyNUxVXpV5cYU+Xx5sQTfKystDLipmqaMhxIcgvplLqF/LWZzIS 5PvwbqOvrSlNHVEYchCEIQISICSZJijwu50rRQHDyUpaF0y///p6FEDCCDFsuW7YFoVEFEST0BAA CLgLOrAAAAAggUAAAAtAAAAFJESEkNAAAAChoKDUdOUIk=
刚开始没发现什么,用了在线网站(这个网站真的好用,会自动识别)才发现
在末尾看到反过来的png,根据题目的提示可以知道,要把十六进制数据反过来就可以了,直接上官方wp的脚本,写得很妙
1 | from base64 import b64decode |
跑完就得到
可以发现还是翻转了,由于手机前置摄像头拍照是镜像的,所以俺直接拿出手机对着屏幕拍得到了
得到flag
hgame{tenchi_souzou_dezain_bu}
week3
太难了呜呜呜,直接搬官方wp吧
A R K
考点:FTP流量分析、TLS流量分析、json、base64转二进制、zip头修补、脚本画图
出题人:Akira
分值:250
wireshark 打开,发现前面是一堆 TLS 流量,后面有 FTP 流量,从 FTP 流量入手
选中某段ssl.log的FTP-DATA,右键->追踪流->TCP流
另存为即可得到ssl.log,导入后即可解密TLS流量
右键->导出对象->HTTP:
明日方舟是一款塔防游戏,可以将可部署单位放置在场地中。并且具有自律功能,可以记录部署的操作。
getBatleReplay 在 battleStart 之前,结合其翻译不难得知这个就是自律的数据,且第二个才是服务端返回给客户端的数据,根据 Content-type 将其导出为 json打开发现有一串 base64,将其解码:
1 | import json5 |
50 4B 开头,应该是 zip 但是文件头被改了,改为 50 4B 03 04 ,打开,得default_entry ,打开,看出是 json:
星藏点雪 月隐晦明 以夕为墨 泼雪作屏
写个脚本以白色为背景
1 | import json5 |
得到flag
hgame{Did_y0u_ge7_Dusk?}
A R C
考点:高级信息搜集、base85、换表base58 (BV号)、视频处理、变位移ROT47 (42)、MSUStego、维吉尼亚密码
出题人:Akira
分值:350
解压得 8558.png
8558应该理解成85和58,BV号是所以图片里的是
结合 https://www.zhihu.com/question/381784377/answer/1099438784 可以得知,BV号是基于base58 编码的所以图中的那一串是 base85
将给的字体装上后抄下
BK0ICG]Qr88_$gC,’-j2+KH86?Q”%928;LG@O!Am0+`;E7iV2agSE<c’U;6Yg^#H?!YBAQ]
解 base85 得:
h8btxsWpHnJEj1aL5G3gBuMTKNPAwcF4fZodR9XQ7DSUVm2yCkr6zqiveY
用tables而不是table,是因为字体是用来对照图片里字符串的内容的算一个table,而这个字体表示的东西也是一个table。注意本字体的i和j,I(0x49)和l(0x6C)有点相似
得知这是换过表的 BV 号,其编码 10001540 即可得到压缩包
#table=’fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF’ # 原表
table=’h8btxsWpHnJEj1aL5G3gBuMTKNPAwcF4fZodR9XQ7DSUVm2yCkr6zqiveY’ # 我换的表
tr={}
for i in range(58):
tr[table[i]]=i
s=[11,10,3,8,4,6]
xor=177451812
add=8728348608
def dec(x):
r=0
for i in range(6):
r+=tr[x[s[i]]]*58i
return (r-add)^xor
def enc(x):
x=(x^xor)+add
r=list(‘BV1 4 1 7 ‘)
for i in range(6):
r[s[i]]=table[x//58i%58]
return ‘’.join(r)
print(enc(10001540))BV17f411J77h
解压,打开arc.mkv,看到视频里面的问题
What is the answer to life,the universe and everything
视频末尾有两行字符串
没什么头绪,回头看看 fragment.txt ,一堆无意义的字符,但是带有空格
用了某种ROT的范围,但是位移不一样。词频分析是个好东西,别忘了视频力的问题。
字符范围是 ROT47 的,但是位移换成了 42 (实际上出题时是 52,这样再转回来就是 42)
解密后只有前两行是有用的信息,先看第一行:
Flag is not here, but I write it because you may need more words to analysis what encodingthe line1 is.
得知视频里第一行也是和 fragment.txt 一样
#)+F7IIMEH:?Injiikffi
MSUpasswordis:6557225
用所给的软件和 MSU 搜索可以找到:https://www.compression.ru/video/stego_video/index_en.ht
安装该软件,把插件导入plugins32文件夹,启动VirtualDub.exe,导入视频
Video->Filters->Add->MSU StegoVideo 1.0,弹出MSU StegoVideo插件界面。选择Extract file from video,并填好密码和分离出的文件的路径:
OK->OK,回到主界面,进度条拉到视频开始处,file->Save Video,随便选一下输出路径,得到隐写的txt文件
arc.hgame2021.cf
Hikari
Tairitsu
打开网站,输入用户名和密码
看到
for line2,Liki has told you what it is ,and Akira is necessary to do it
有的东西可以参考Crypto WEEK-1第一题
Crtpto WEEK-1里用到liki的只有维吉尼亚密码,所以是Vigenere-Akira
pwbvmpoakiscqdobil
pmtempestissimobyd
/不是可输入的意思,是网站路径
所以访问https://arc.hgame2021.cf/pmtempestissimobyd得到flag
hgame{Y0u_Find_Pur3_Mem0ry}
week4
Akira之瞳-1
下载得到一个raw文件,考点是内存取证,这也是我第一次做内存取证,用到了volatility
先查看系统信息,得知是Win7SP1x64,查看一下进程
查看进程,发现有一个
所以我们要提取这个东东,得到1092.dmp,然后foremost它,发现有一个压缩包
得到1092.dmp 然后foremost它,发现一个压缩包,得到提示是用户密码的sha256
用命令hashdump查看一下密码的hash
把84b0d9c9f830238933e7131d60ac6436在www.cmd5.com查看一下得到密码asdqwe123
sha256一下得到压缩包密码,发现有
直接盲水印得到flag,这里有一点要注意,就是python3和python2的盲水印脚本跑出来的结果是不一样的,而这里要用python3的脚本跑得到
,然后放到stegslove可以看到
hgame{7he_f1ame_brin9s_me_end1ess_9rief}
Akira之瞳-2
又是内存取证,操作了一波在桌面发现有一个dumpme.txt
提取后发现密码和一段提示
zip password is: 5trqES&P43#y&1TO
And you may need LastPass
LastPass是一个插件,可以保存用户的各种密码,感觉是要我们查看用户网站的密码,解压得到
这里有个坑,
有大小却没有占用空间,把隐藏系统文件去掉
然后通过参考资料知道有MasterKeyFile(其实是看hgame2020的wp发现这么考过,想着今年也会这么出题)
最初是思路是通过提取出lsass.exe的内存,然后用mimikatz来从lass进程提取出Master Key然后再去解密密码参考资料
结果出现了这个报错
然后思路就断了,后来看wp才发现是先用插件解密Cookies解出用户密码,自己还是忽略了lastpass这个提示,在github可以找到volatility一个lasspass的插件,这里搬一下wp
akira@kasumi:/tmp/$ volatility –plugins=./ -f secret_work.raw – profile=Win7SP1x64 lastpass
…
Found LastPass Entry for live.com,bing.com,hotmail.com,live.com,microsoft.com,msn.com,windows.com,window sazure.com,office.com,skype.com,azure.com UserName: windows login & miscrosoft
Pasword: vIg*q3x6GFa5aFBA
然后再用mimikatz来获取MasterKey
然后解密Cookies
去年也考了VeraCrypt,这里用它打开container,用密码**!bWjAqM2z!iSoJsV*&IRV@*AVI1VrtAb**挂载
发现里面就一张图片ADS.jpg
可以知道是
用软件查看得到
得到flag
hgame{Which_0nly_cryin9_3yes_c4n_de5cribe}