# WEEK5
# 隐秘的图片
解压附件,得到 key1,key2 两张图片
key1 扫出来并不是 flag
大致看了下,发现 key2 很奇怪,并不像拼接定位点,而黑白两部分并不需要 xor
两张图片的大小是相同的,所以猜测一下使用 stegsolve 进行合并
xor 得到完整二维码。扫码得到 flag
flag{x0r_1m4ge_w1ll_g0t_fl4ggg_3394e4ecbb53}
# ezhard
是一道磁盘取证题,这题我没用别的工具就单用了 winhex
发现 lost+found 处有 flag 和 hint.png,于是用 binwalk 对文件进行分离
能直接在 hint.png 获得 flag
flag{12bc2ba3-fa54-7b45-7f3d-f54ea6e45d7c}
# 新建 Python 文件
当时第一次看题的时候第一反应就是反编译,结果没有什么发现,就是一个普通的脚本
这题的考点在于剑龙隐写(stegosaurus),也是比较老的一个考点了
https://github.com/AngelKitty/stegosaurus
这题对 python 的版本好像有一定的要求,需要 3.6 的环境,本机是 3.1 的所以当时跑了下直接报错也就没再返回看了
跑一下就能出
flag{s0_b4By_pYcst3g}
# BabyAntSword
看题目就知道是蚁剑的流量题
无非就是解密请求包与回显包,先看看流量
在第 31 流开始明显出现了蚁剑 webshell 的流量特征
在第 36 流出现了命令执行语句,并且多出了第二个字段,参数为 n3wst4r
这便是 webshell 的密码
而执行的命令解码便知道是 whoami
第 39 流的回显明显较多,去除头尾解码查看
在这里找到了 java 的版本
在解码 43 流回包时发现了一个 uuid,猜测为需要寻找的最后一个信息,去查看下请求包
发现文件名称为 secret,再查看下下个流的请求包
发现把该文件删除了,确定了这便是需要寻找的内容,拼接得到 flag
flag{n3wst4r_7u121_c5850a0c-dc03-1db2-4303-43d6fdf27985}
# Easymem
是一道平时比较常见知识点的内存取证题,这里用到工具 vol2,PasswareKitForensic 和 gimp
先用 imageinfo 查看类型
1 | .\volatility_2.6_win64_standalone.exe -f 3.raw imageinfo |
再查找名称带有 flag 字段的文件
1 | .\volatility_2.6_win64_standalone.exe -f 3.raw --profile=Win7SP1x64 filescan | findstr flag |
发现桌面上有个 flag2.txt,给它 dump 下来得到第二段 flag
1 | .\volatility_2.6_win64_standalone.exe -f 3.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000007ed627e0 -D ./ |
83-5032-1056-
接着使用 PasswareKitForensic 去爆破用户密码
可以得到 ctf 用户的密码为第一段 flag,flag {45a527fb-2f
接着还剩最后一段 flag,根据前面几周的经验,notepad 和 editbox 都查看了,发现没有东西,去看看画板的进程
1 | .\volatility_2.6_win64_standalone.exe -f 3.raw --profile=Win7SP1x64 pslist | findstr mspaint |
先找到画板的进程号
1 | .\volatility_2.6_win64_standalone.exe -f 3.raw --profile=Win7SP1x64 memdump -p 1484 --dump-dir=./ |
接着使用 memdump,dump 它内存进程的转储文件,得到 1484.dmp,改后缀为 data 拖入 gimp 固定好常用宽高拉取位移使图像清晰可见
得到最后一段 flag,这里可以切换高度和宽度重新位移试试,我这里的数据得到的就是镜像图片,在线网站翻转一下就能看了
拼接得到完整 flag
flag{45a527fb-2f83-5032-1056-0b949b63a947}
# Enigma
1 | pip3 install py-enigma |
这题没做出来,附上官方脚本
1 | from enigma.machine import EnigmaMachine |
去了解了一下 enigma 是二战时期的德国密码机,其实只要知道本题中有几个未知的加密参数:reflector、rotors 和 rs1、rs2,去根据他们原有的范围编写脚本爆破密文即可
得到:
flag{ENIGMAISSOOOINTERESTINGCRYPTODOYOUTHINKSO}