2022安恒杯部分WP-Misc篇

2022安恒杯部分WP-Misc篇

AabyssZG
2022-12-10 / 0 评论 / 854 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年12月10日,已超过688天没有更新,若内容或图片失效,请留言反馈。

比赛概述

吐血。。还是细节没注意

Misc-1:My_lllp

吐槽:我是真没想到这个隐写方式啊啊啊啊啊啊啊,这道题赛时我没做出来,是看其他师傅的WriteUP复现的

1# 题目内容

题目内容.png

2# 解题思路

2.1 提取图片内隐写的内容

解压后,只有一张png格式的女生头像

my_lllp.png

用Stegsolve.jar看了一下,发现有PK开头的数据,果断上foremost一键分离文件(工具包内自带了)

Steg识别.png

压缩包内容.png

发现zip有注释信息:也许名称能给你想要的 (ᗜ ˰ ᗜ)

表情包.png

线索如下:

  • 名称?名称不就是文件名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

导出隐写内容.png

打开导出的out.txt,可以看到:passwordisSSSSSssssscret

password is SSSSSssssscret

隐写的内容.png

2.2 提取压缩包内容

那上面分离的压缩包,解压密码应该是:SSSSSssssscret

解压后,拿到flag.txt,内容如下:

flag.txt.png

2.3 解密相关内容,拿到flag

提示为snow,那肯定想到snow雪花隐写

相关工具下载地址:https://www.darkside.com.au/snow/

下载雪花.png

snow压缩包内容.png

使用SNOW.EXE对flag.txt进行解密

SNOW.EXE -C flag.txt

snow解密.png

解密后,得到Base64编码的一个字符串

REFTQ1RGe0MwbmdyYXRVMWF0aTBuU19Pbl9GaW5kaW5nX3RoZV9mMWFnfQ==

使用Base64编码解密,得到flag

base64解密.png

麻了,我也不知道该说什么了,还是默默补全我的CTF工具箱吧。。

隐写方式那么多,你们怎么知道用cloacked-pixel隐写的啊,啊啊啊啊啊啊啊啊啊啊

鸭鸭哭泣.jpg

Misc-3:depthpng

吐槽:比赛的时候,专注于MISC的第一题、第二题和Web的第三题,这道题没看。当天晚上看了一下,感觉还是挺简单的,远远没有MISC第一题的脑洞那么大,我真的会谢、、

1# 题目内容

题目内容.png

2# 解题思路

2.1 提取图片内隐写的内容

解压后,只有一张png格式的图片,用Stegsolve.jar看了一下没找到什么东西

depthpng.png

那就是图片隐写内容在里面,直接上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的帮助菜单,如果有回显说明安装成功

安装成功.png

安装完成后,使用zsteg对图片进行分析

zsteg -a depthpng.png

图片分析.png

发现在 b1,g,lsb,yx 这块区域,有个ZIP压缩包,我们要将它从图片里面提取出来

zsteg depthpng.png -E b1,g,lsb,yx > dapthpng.zip

图片提取.png

提取出的压缩包内容如下:有个加密的flag.txt,一个未加密的.flag.txt.swp

压缩包内容.png

2.2 对.swp文件进行恢复

需要关注的是.swp文件,这里简单说一下.swp文件

vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件。这个文件是一个临时交换文件,用来备份缓冲区中的内容。

如果原文件名是data.txt,那么swp文件名就是.data.txt.swp

如果文件正常退出,则此文件自动删除

以下两种情况不会删除.swp文件:

  1. vim非正常退出(比如直接关闭终端或者电脑断电)这种情况下,除非手动删除swp文件,否则它会一直存在。
  2. 当你强行关闭vim时,vim自动生成一个swp文件,当你再次用vim打开文件时,会出现提示

简单来说,.swp文件是Linux里面vim(Linux内置的文本编辑器,相当于Win的TXT文本编辑器)的一个缓存文件,防止你编辑文件的时候出现突发情况导致数据丢失的情况,通过这个.swp文件,可以恢复原来编辑时候的数据

先把这个.swp文件解压出来

解压-1.png

因为.swp文件是隐藏文件,是无法直接在文件夹里面看到的,于是我们要用命令才能看到

ls -al

解压-2.png

那我们就来试一下恢复这个.swp文件吧

cd ~/Downloads/depthpng    //切换到文件解压的目录,根据你的情况自行修改
vim -r .flag.txt.swp

恢复报错.png

发现报错了,不慌,看一下报了什么错

因为在恢复.swp文件的时候,会恢复在它记录的目录(即 /home/chang/Downloads/Misc/),但我们虚拟机里面没有这个目录,所以它会显示“无法打开并写入文件”,所以创建这个路径再恢复即可

/home:如果建立一个用户,用户名是"zg666",那么在/home目录下就有一个对应的/home/zg666路径,用来存放用户的主目录

所以,我们要创建一个名为“chang”的用户,才能生成 /home/chang

sudo useradd -m chang

然后读取 /etc/passwd 看看有没有创建成功

cat /etc/passwd | grep "chang"

创建成功.png

这时候,/home/chang 就生成了,但我们还需要建两个子目录:/Downloads/Misc/

cd /home/chang
sudo mkdir Downloads
cd /home/chang/Downloads
sudo mkdir Misc

创建对应目录.png

然后再去恢复一下上面的.swp文件

cd ~/Downloads/depthpng    //切换到文件解压的目录,根据你的情况自行修改
sudo vim -r .flag.txt.swp

恢复成功-1.png

按回车进入下一步,输入 :wq(保存编辑操作退出),再回车

恢复成功-2.png

回到 /home/chang/Downloads/Misc/ 目录下面,发现恢复成功了

恢复成功-3.png

打开一看,没有flag

没有flag.png

2.3 对压缩包进行明文攻击

既然恢复的flag.txt里面没有flag,说明这是要通过恢复的flag.txt对前面提取出来的ZIP压缩包进行明文攻击

发现压缩包内,对flag.txt的加密方式为“ZipCrypto”,这是一种旧版的ZIP加密算法,里面存在明文攻击漏洞

zip加密方式.png

这里就需要用到一个开源项目:https://github.com/kimci86/bkcrack,来对压缩包进行明文攻击

为了方便区分,我就把上面通过.swp恢复的flag.txt重命名为swp.txt,然后开始对压缩包进行明文攻击

bkcrack.exe -C .\dapthpng.zip -c flag.txt -p swp.txt

明文攻击-1.png

显示攻击成功,拿到相关keys

明文攻击-2.png

这时候,就可以通过“ZipCrypto”压缩方式的漏洞修改压缩包的密码了,这里我把它修改为“easy”

bkcrack.exe -C .\dapthpng.zip -k 6c30e526 874fd386 341fe8cb -U .\out.zip easy

明文攻击-3.png

打开目录,可以看到生成了一个“out.zip”,解压密码为easy

明文攻击-4.png

2.4 攻击成功,拿到flag

用“easy”解压压缩包,成功拿到flag

攻击成功.png

其实理清楚,感觉这道题还是挺简单的,很多时候做题的时候,思路想的不是很清晰,或者没有注意相应细节,还是要多学多练

黑夜给予了我们一双黑色的眼睛,我们却用它来寻找漏洞

11

评论 (0)

取消