总结
ISCC2022比赛结束了,对我这个新手的ctfer来说,确实有点不太友好,但是也学到了很多东西,png jpg隐写啊乱七八糟的,下面是misc的解题思路以及过程
少量题目会提供解题过程中遇到的坑和如何绕过坑的过程。
单板小将苏翊鸣
工具:010Editor
首先打开文件得到一张图片,把图片放到010editor中,使用png.bt跑一下。发现crc值错误,推测可能是修改了高度,于是修改一下十六进制更改一下图片的高度
得到一张二维码
扫描二维码得到一串编码
\u5728\u8fd9\u6b21\u51ac\u5965\u4f1a\u7684\u821e\u53f0\u4e0a\uff0c\u6211\u56fd\u5c0f\u5c06\u82cf\u7fca\u9e23\u65a9\u83b7\u4e00\u91d1\u4e00\u94f6\uff0c\u90a3\u4f60\u77e5\u9053\u6b64\u6b21\u51ac\u5965\u4f1a\u6211\u56fd\u603b\u5171\u83b7\u5f97\u51e0\u679a\u5956\u724c\u5417\uff1f\u53c8\u5206\u522b\u662f\u51e0\u91d1\u51e0\u94f6\u51e0\u94dc\u5462\uff1f
应该是Unicode编码
解码得到:
在这次冬奥会的舞台上,我国小将苏翊鸣斩获一金一银,那你知道此次冬奥会我国总共获得几枚奖牌吗?又分别是几金几银几铜呢?
根据题意
15942 即是解压密码
打开flag.rar得到flag
ISCC{beij-dbxj-2007}
解题收获:本题考查高度修改,Unicode编码转换。
降维打击
使用binwalk分析一下文件,发现存在另一张png图片
使用foremost misc-DimensionalityReductionStrike-42.png -o file
命令
分解文件 得到一张500000.png的图片
使用命令zsteg 500000.png -a
查看全部隐写情况,发现存在另一张隐藏的图片
然后使用命令zsteg -E "b1,r,lsb,yx" 00000567.png > flag.png
把这张隐藏的照片分解出来得到了一张表
对照
得到divewspsvnzc 按照题意flag的形式,并大写解得flag
ISCC{DIVE-WSPS-VNZC}
解题收获:本题考查了png隐写,对其有了一个新的认知。
藏在星空中的诗
工具:Photoshop
使用Photoshop打开Stars.psd文件把第一个图层的不透明度更改为100%得到一张五角星的照片
按照13524的顺序把Poem.txt中的诗进行排序组合即是解压密码
根据key_to_the_Poem.xlsx表中的字符 按照1,2,3,4,5的顺序依次找到对应的英文字母最终得到
FLAG=ISCC{GPMBIEZBDSTILO}
解题收获:本题考查了ps用法,考验了我的观察能力、
真相只有一个
题目描述
misc是英文miscellaneous的前四个字母,表示有杂项、混合体、大杂烩的意思,题目思路广,模式不定,线索众多,在这些线索中有的有用有的没用,最终的真相只有一个。
工具:010editor、 Stegsolve、 Passper for Zip、Wireshark、NetworkMiner、Audacity、snow.exe隐写工具
首先解压压缩包
得到三个文件
entity.png
flag.txt
stream
enetiy.png
首先把entity文件放到010editor跑一下模板
发现CRC值错误,修改一下高度 得到了一串摩斯密码
解密发现这不是flag
![]()
flag.txt
用notepad++打开flag.txt发现有很多空格,我们用010editor打开
但目前没看出来什么
stream
还有一个stream未知后缀的文件,我们放到kali中分析一下
什么也没发现,放到010editor上查看一下打开之后,我们发现有个数据包文件
stream.pcapng
这个时候拉到最下面 发现有PK
且有目录结束标志
推测这是个zip文件,但是没有找到文件头标识
有可能是ctf中修改文件头类型的题目
发现00 00 03 04
改成50 4B 03 04
然后得到stream.pcapng
这个文件
然后把图片entiy.png 使用stegsolve工具进行RGB通道分离,有一串ascii码显示passwd
1998/xx/xx$
使用压缩包破解工具(Passper for Zip)进行掩码破解,推测密码是日期的形式,不包含特殊符号,包含的密码内容是1998
解压得到stream.pacpng
文件 然后放到wireshark中分析
发现udp传输协议中占有很文件数据部分的Data
右键过滤一下
69端口,专门去查了一下,是tftp的传输端口,说明数据包中有一个叫password.mp3
的文件
另存为misc4.pcap
文件
然后用NetworkMiner分离一下文件得到password.mp3
放到Audacity中查看一下波形图
把声音拉到最后 发现滴滴的声音,推测可能是摩斯密码
../.../-.-./-.-./--/../.../-.-.
解密得到ISCCMISC
联想到最开始的flag文件,里面有很多空格,推测可能是snow隐写
ISCC
可能是key
使用 snow.exe
隐写工具
命令snow.exe -C -p key 文件
发现不对,ISCC转小写试试
得到flag
PS:
snow 是一款在html嵌入隐写信息的软件,它的原理是通过在文本文件的末尾嵌入空格和制表位的方式嵌入隐藏信息,不同空格与制表位的组合代表不同的嵌入信息。
参考文章:
https://blog.csdn.net/weixin_48350401/article/details/111058413
工具:base64在线工具、stegsolve、CyberChef
拿到题目后使用base64解码得到压缩包密码easy_to_find_the_flag
得到png图片后,使用stegsolve查看lsb最低有效位隐写
导出前三行的十六进制,使用CyberChef进行转换
Ascii码转二进制
删掉二进制开头多余的1
得到flag:ISCC{NA984UGW7wrD71qcQpFR}
解题收获:本题很考察我的观察力,这个二进制编码的修改对一个人的观察能力要求很高。
工具:CaptfEncoderV2
打开得到txt文件,发现txt中符号有点像unicode编码的形式,将其前三个符号转换成U00
,对照藏在星空中的诗-1中的excle表格,取Unicode编码的最后一位,替换一下得到以下编码
\u0049\u0053\u0043\u0043\u007B\u0039\u0051\u0045\u0079\u0065\u0076\u0037\u0052\u0052\u0076\u0021\u0061\u0036\u0075\u007D
转码得到flag
Flag: ISCC{9QEyev7RRv!a6u}
解题收获:藏在星空中的诗有联系,考查了Unicode最后一位,很新的题型。
工具:stegsolve Unicode转码工具
解压压缩包得到题图,放到010editor中,运行png模板发现crc效检值错误,修改高度查看
得到一串Unicode编码
转码后,原型是:灯笼,即是压缩包密码解压得到flag.jpg,放到010editor中得到flag
Flag: ISCC{beij-dahb-1031}
解题收获:本题稍微绕了一个小弯,不过很容易就可以绕过。
666
工具:Steghide、010editor
打开图片,放到steghide中,查看到有隐写信息,需要输入密码才能看到
使用python脚本破解一下jpg密码,脚本如下。
from subprocess import *
def foo():
stegoFile = '/home/kali/Desktop/output/src_sec.jpg' # 隐写的图片
extractFile = '/home/kali/Desktop/output/pwd.txt' # 爆破的密码
passFile = '/home/kali/Desktop/output/password.txt' # 字典
errors = ['could not extract', 'steghide --help', 'Syntax error']
cmdFormat = 'steghide extract -sf "%s" -xf "%s" -p "%s"'
f = open(passFile, 'r')
for line in f.readlines():
cmd = cmdFormat % (stegoFile, extractFile, line.strip())
p = Popen(cmd, shell=True, stdout=PIPE, stderr=STDOUT)
content = str(p.stdout.read(), 'gbk')
for err in errors:
if err in content:
break
else:
print(content),
print('the passphrase is %s' % (line.strip()))
f.close()
return
if __name__ == '__main__':
foo()
print('ok')
pass
破解得到密码为123456输入密码发现图片中隐藏了一个图片
分离一下
命令:steghide extract -sf /home/kali/Desktop/output/src_sec.jpg
得到一张图片,放到010editor中跑一下png.bt,发现crc值错误,修改高度得到解压密码:!@#$%678()_+
解压得到stream.pacpng
放到wireshark中协议分级,发现存在text数据,过滤追踪一下,发现存在666.txt文件
然后另存为123.pcap文件,放进NetworkMiner中分离666.txt
打开666.txt得到一个网址,访问网址得到gif图片,使用stegsolve工具分帧浏览得到三串字符
SElERWtleTo4NTIg0Tg3NDU2MzIxIDk4NDIZIDk4NDIzIFJFQUxtZXk6eFn4eA=
base64解码得到
推测是键盘密码,对应小数键的位置
852=“I”,87456321=“S”,9842=“C”,98423=“C”
解出:ISCC
将剩下的两串编码组合得到
pQLKpP/EPmw301eZRzuYvQ==
推测是Aes加密,ISCC即是key,这里填充选择Zore填充
解密得到flag:ISCC{lbwmeiyoukaig}
解题收获:本题考查了键盘密码,和aes加密,加深了我对这种题型的印象。
5 条评论
alert(1)
滴!学生卡!打卡时间:11:06:42,请上车的乘客系好安全带~
滴!学生卡!打卡时间:11:06:01,请上车的乘客系好安全带~
滴!学生卡!打卡时间:11:03:42,请上车的乘客系好安全带~
滴!学生卡!打卡时间:10:58:25,请上车的乘客系好安全带~