比赛概述
吐血。。还是细节没注意
Misc-1:My_lllp
吐槽:我是真没想到这个隐写方式啊啊啊啊啊啊啊,这道题赛时我没做出来,是看其他师傅的WriteUP复现的
1# 题目内容
2# 解题思路
2.1 提取图片内隐写的内容
解压后,只有一张png格式的女生头像
用Stegsolve.jar看了一下,发现有PK开头的数据,果断上foremost一键分离文件(工具包内自带了)
发现zip有注释信息:也许名称能给你想要的 (ᗜ ˰ ᗜ)
线索如下:
- 名称?名称不就是文件名my_lllp吗?难不成是这个人的名字???
- 结合题目描述:你能发现图片中的秘密吗?
- 这里肯定有图片隐写,但是我试了很多带密码的图片隐写,没成功解密
- 我还去百度识图,识图结果为一个名为“林允”的艺人,相信群里面很多师傅都和我一样觉得密码应该和“林允”有关
真没想到是cloacked-pixel,我是看赛后别人发的WriteUP才想起来。。。使用隐写工具cloacked-pixel 密码为my_lllp
工具开源地址:https://github.com/livz/cloacked-pixel
python lsb.py extract -i "my_lllp.png" -o out.txt -p my_lllp
打开导出的out.txt,可以看到:passwordisSSSSSssssscret
password is SSSSSssssscret
2.2 提取压缩包内容
那上面分离的压缩包,解压密码应该是:SSSSSssssscret
解压后,拿到flag.txt,内容如下:
2.3 解密相关内容,拿到flag
提示为snow,那肯定想到snow雪花隐写
相关工具下载地址:https://www.darkside.com.au/snow/
使用SNOW.EXE对flag.txt进行解密
SNOW.EXE -C flag.txt
解密后,得到Base64编码的一个字符串
REFTQ1RGe0MwbmdyYXRVMWF0aTBuU19Pbl9GaW5kaW5nX3RoZV9mMWFnfQ==
使用Base64编码解密,得到flag
麻了,我也不知道该说什么了,还是默默补全我的CTF工具箱吧。。
隐写方式那么多,你们怎么知道用cloacked-pixel隐写的啊,啊啊啊啊啊啊啊啊啊啊
Misc-3:depthpng
吐槽:比赛的时候,专注于MISC的第一题、第二题和Web的第三题,这道题没看。当天晚上看了一下,感觉还是挺简单的,远远没有MISC第一题的脑洞那么大,我真的会谢、、
1# 题目内容
2# 解题思路
2.1 提取图片内隐写的内容
解压后,只有一张png格式的图片,用Stegsolve.jar看了一下没找到什么东西
那就是图片隐写内容在里面,直接上Kali用万能的zsteg
默认Kali是没有zsteg这个工具的,这里附上zsteg安装过程:
sudo apt-get install gem
git clone http://www.github.com/zed-0xff/zsteg
sudo gem install zsteg
zsteg -h //显示zsteg的帮助菜单,如果有回显说明安装成功
安装完成后,使用zsteg对图片进行分析
zsteg -a depthpng.png
发现在 b1,g,lsb,yx
这块区域,有个ZIP压缩包,我们要将它从图片里面提取出来
zsteg depthpng.png -E b1,g,lsb,yx > dapthpng.zip
提取出的压缩包内容如下:有个加密的flag.txt,一个未加密的.flag.txt.swp
2.2 对.swp文件进行恢复
需要关注的是.swp文件,这里简单说一下.swp文件
vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件。这个文件是一个临时交换文件,用来备份缓冲区中的内容。
如果原文件名是data.txt,那么swp文件名就是.data.txt.swp
如果文件正常退出,则此文件自动删除
以下两种情况不会删除.swp文件:
- vim非正常退出(比如直接关闭终端或者电脑断电)这种情况下,除非手动删除swp文件,否则它会一直存在。
- 当你强行关闭vim时,vim自动生成一个swp文件,当你再次用vim打开文件时,会出现提示
简单来说,.swp文件是Linux里面vim(Linux内置的文本编辑器,相当于Win的TXT文本编辑器)的一个缓存文件,防止你编辑文件的时候出现突发情况导致数据丢失的情况,通过这个.swp文件,可以恢复原来编辑时候的数据
先把这个.swp文件解压出来
因为.swp文件是隐藏文件,是无法直接在文件夹里面看到的,于是我们要用命令才能看到
ls -al
那我们就来试一下恢复这个.swp文件吧
cd ~/Downloads/depthpng //切换到文件解压的目录,根据你的情况自行修改
vim -r .flag.txt.swp
发现报错了,不慌,看一下报了什么错
因为在恢复.swp文件的时候,会恢复在它记录的目录(即 /home/chang/Downloads/Misc/
),但我们虚拟机里面没有这个目录,所以它会显示“无法打开并写入文件”,所以创建这个路径再恢复即可
/home:如果建立一个用户,用户名是"zg666",那么在/home目录下就有一个对应的/home/zg666路径,用来存放用户的主目录
所以,我们要创建一个名为“chang”的用户,才能生成 /home/chang
sudo useradd -m chang
然后读取 /etc/passwd
看看有没有创建成功
cat /etc/passwd | grep "chang"
这时候,/home/chang
就生成了,但我们还需要建两个子目录:/Downloads/Misc/
cd /home/chang
sudo mkdir Downloads
cd /home/chang/Downloads
sudo mkdir Misc
然后再去恢复一下上面的.swp文件
cd ~/Downloads/depthpng //切换到文件解压的目录,根据你的情况自行修改
sudo vim -r .flag.txt.swp
按回车进入下一步,输入 :wq
(保存编辑操作退出),再回车
回到 /home/chang/Downloads/Misc/
目录下面,发现恢复成功了
打开一看,没有flag
2.3 对压缩包进行明文攻击
既然恢复的flag.txt里面没有flag,说明这是要通过恢复的flag.txt对前面提取出来的ZIP压缩包进行明文攻击
发现压缩包内,对flag.txt的加密方式为“ZipCrypto”,这是一种旧版的ZIP加密算法,里面存在明文攻击漏洞
这里就需要用到一个开源项目:https://github.com/kimci86/bkcrack,来对压缩包进行明文攻击
为了方便区分,我就把上面通过.swp恢复的flag.txt重命名为swp.txt,然后开始对压缩包进行明文攻击
bkcrack.exe -C .\dapthpng.zip -c flag.txt -p swp.txt
显示攻击成功,拿到相关keys
这时候,就可以通过“ZipCrypto”压缩方式的漏洞修改压缩包的密码了,这里我把它修改为“easy”
bkcrack.exe -C .\dapthpng.zip -k 6c30e526 874fd386 341fe8cb -U .\out.zip easy
打开目录,可以看到生成了一个“out.zip”,解压密码为easy
2.4 攻击成功,拿到flag
用“easy”解压压缩包,成功拿到flag
其实理清楚,感觉这道题还是挺简单的,很多时候做题的时候,思路想的不是很清晰,或者没有注意相应细节,还是要多学多练
黑夜给予了我们一双黑色的眼睛,我们却用它来寻找漏洞
评论 (0)