附件:simpleness .zip
这题包含的知识点比较多,写wp真是累死我了,看过的师傅在下面留下点评论呗
解压了simpleness.zip,发现一共有三个文件:
放到kali里面使用john进行爆破:
hint.zip的解压密码为: 123456
其他两个包跑了一好一会儿没跑出来,那就先分析hint.zip里面的文件。
hint.zip里面解出两个文件:
这个hint.rar是伪加密,随便打开一个十六进制的编辑器:
找到第24个字节,这里的0x24
表示已加密,改成0x20
表示未加密,改完:
保存之后,成功解压hint.rar,得到一个hint.txt:
这里得到
提示1:key.zip的密码范围是qsnctf大小写,且此密码可多次使用
提示2:要用到SilentEye0.3.1这个工具(之前做的时候没有这个提示,卡了好久
再看第二个文件:hint.png
是一张平平无奇的png图片,但是丢到foremost看一下发现里面藏了个zip
Foremost version 1.5.7 by Jesse Kornblum, Kris Kendall, and Nick Mikus
Audit File
Foremost started at Fri Oct 7 22:33:18 2022
Invocation: foremost -i hint.png
Output directory: /root/q1jun/markdown/simpleness/hint/output
Configuration file: /etc/foremost.conf
------------------------------------------------------------------
File: hint.png
Start: Fri Oct 7 22:33:18 2022
Length: 82 KB (84884 bytes)
Num Name (bs=512) Size File Offset Comment
0: 00000162.zip 1 KB 83284
1: 00000000.png 81 KB 0 (371 x 225)
Finish: Fri Oct 7 22:33:18 2022
2 FILES EXTRACTED
zip:= 1
png:= 1
------------------------------------------------------------------
Foremost finished at Fri Oct 7 22:33:18 2022
foremost -i hint.png
提取出zip文件,解压发现没有密码,得到一张二维码:
使用工具扫码得到另一个hint:
提示3:最后一个压缩包是中文
通过提示1
,我们可以知道key.zip的密码是qsnctf的大小写组合,通过写python脚本生成一个字典:
┌──(root㉿localhost)-[~/q1jun/markdown/simpleness]
└─# cat wordlist.txt
qsnctf
qsnctF
qsncTf
qsncTF
qsnCtf
qsnCtF
qsnCTf
qsnCTF
qsNctf
qsNctF
qsNcTf
qsNcTF
qsNCtf
qsNCtF
qsNCTf
qsNCTF
qSnctf
qSnctF
qSncTf
qSncTF
qSnCtf
qSnCtF
qSnCTf
qSnCTF
qSNctf
qSNctF
qSNcTf
qSNcTF
qSNCtf
qSNCtF
qSNCTf
qSNCTF
Qsnctf
QsnctF
QsncTf
QsncTF
QsnCtf
QsnCtF
QsnCTf
QsnCTF
QsNctf
QsNctF
QsNcTf
QsNcTF
QsNCtf
QsNCtF
QsNCTf
QsNCTF
QSnctf
QSnctF
QSncTf
QSncTF
QSnCtf
QSnCtF
QSnCTf
QSnCTF
QSNctf
QSNctF
QSNcTf
QSNcTF
QSNCtf
QSNCtF
QSNCTf
QSNCTF
python脚本如下:
S = 'qsnctf'
word = ''
ans = [S]
word = ''
for i in range(len(S)):
s = S[i]
if s.isalpha():
new = []
for a in ans:
new.append(a[:i] + s.lower() + a[i + 1:])
new.append(a[:i] + s.upper() + a[i + 1:])
ans = new
for a in ans:
word += ''.join(a)
word += ''.join('\n')
with open('wordlist.txt','w') as f:
f.write(word)
f.close
使用zip2john生成压缩包的hash:
zip2john key.zip >> key.txt
使用john根据上面生成的字典wordlist.txt进行爆破:
john key.txt --wordlist=wordlist.txt
立马得到压缩包key.zip的密码:QsNcTf
解压得到一个bmp文件:
看到bmp格式的图片,第一个想到这是LSB隐写,但是当我分析完了R- G- B低位隐写的所有数据之后并没有发现什么有用的东西。
想到前面的提示2:是用SilentEye0.3.1这个工具进行隐写的,用这个工具进行decode:
还是不行。
想到前面的提示1说到QsNcTf
这个密码可以多次使用,勾选Encrypted data使用AES128进行解密:
发现图片里面隐藏了一个1.txt
文件,提取出来:
发现直接看并没有什么有用的信息,用Sublime text打开之后发现:
发现是个零宽隐写。
这里有个坑,这个网站并不能正确的现实里面隐藏的内容,
换了个网站:Zero Width Lib (yuanfux.github.io)
发现了里面隐藏的内容:
这里得到了flag.zip
的密码,但是试了半天Hello World
,发现并不能解开压缩包
最后发现密码是这一整句话。。
The password is Hello World
解压flag.zip之后,以为马上拿到了flag准备提交,结果发现又给了两个文件(我快崩溃了
打开key.txt后,发现什么也没有
想到可能是SNOW的无字天书隐写,因为里面有很多空白制表符,但是没有任何内容。
通过SNOW.exe
工具解出一串数字:
得到一串数字:
66382508137843160834
想到提示3: 最后一个压缩包的密码是中文 ,想到这可能是中文电码(因为要让它变成汉字
打开中文电码查询网站:中文电码查询 Chinese Commercial Code
得到最后一个压缩包的密码:
这是密码吗
解开最后一个flag.zip之后发现…又是一张图片flag.jpg
!
发现flag.jpg并不能打开,丢到十六进制编辑器里面:
在文件末尾,看到这些乱码是文件被逆序,而且奇偶互换了
通过python写一个脚本进行修复,脚本如下:
s = open("flag.jpg","rb").read()
a = open("flag1.jpg","wb")
for i in range(0 ,len(s), 4):#4位奇偶互换
s1 = s[i:i+4][::-1]
a.write(s1)
s = open("flag1.jpg","rb").read()[::-1] #逆序
a = open("flag2.jpg","wb")
a.write(s)
得到flag2.jpg可以正常打开:
得到flag2.jpg之后还不能得到flag,分析flag2.jpg也并没有发现里面藏了其他文件。
想到可能是修改了高度,丢进010Editer:
找到高度 WORD Y_image
,把它改高一点,我这里改成600:
保存后再打开图片,得到flag:
制作writeup不易,师傅们留下点评论或点赞吧