前言
有幸参加了2022年山西省第二届网络安全技能大赛企业组的比赛,这是第一次参加ctf比赛,本着积累实战经验的目的去的,排名有点意外。
提示:以下是本篇文章正文内容。
一、题目
题目:
杂项题,简单隐写的附件。
附件:
简单隐写的附件.png
二、解题步骤
1.解题思路
看到PNG图片,先用tweakpng看看crc是否报错。结果提示CRC校验有问题。用PNG宽高一把梭工具还原图片原始尺寸(或者直接通过WINHEX改大高度也可以),会发现有半段flag,并提示LSB相关内容。将PNG拖入010编辑器,发现尾部有压缩文件标志--“PK”,随后对其分离出flag.wav,频谱分析未发现有价值内容,后用silenteye隐写工具将隐藏文件导出---flag.pyc。使用pyc隐写工具--stegosaurus,将后半段flag找回。
2.解题过程
(原始图片是纯白色图片)
修改图片尺寸,或使用一把梭工具还原其尺寸,隐藏信息现身。
?得到半段FLAG。
在010编辑器中发现其隐藏有压缩文件,使用binwalk进行分离。
# binwalk -e 简单隐写的附件.png
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 PNG image, 1195 x 300, 8-bit/color RGB, non-interlaced
91 0x5B Zlib compressed data, compressed
6553 0x1999 Zip archive data, at least v2.0 to extract, compressed size: 336438, uncompressed size: 353472, name: flag.wav
343119 0x53C4F End of Zip archive, footer length: 22
分离出flag.wav文件,使用频谱分析软件进行分析,未发现有价值内容,音乐内容是一段标准的音乐。
使用silenteye工具,恢复flag.wav中隐藏的信息-->flag.pyc
使用pyc隐写工具,恢复隐写内容
F:\software\CTF工具箱\ctf工具箱\其他隐写\stegosaurus-1.0>python -m stegosaurus -x F:\sharedir\CTF\_简单隐写的附件.png.extracted\flag.pyc
Stegosaurus requires Python 3.6 or later
虚机里装的PY3.9,运行失败。为此在实机安装的PY3.5,仍提示版本问题,无奈之下将其版本检测项注释,在PY3.5环境下再次运行,奇迹出现了。
F:\software\CTF工具箱\ctf工具箱\其他隐写\stegosaurus-1.0>python -m stegosaurus -x F:\sharedir\CTF\_简单隐写的附件.png.extracted\flag.pyc
Extracted payload: 665646cd2139a4ba0b0}
stegosaurus.py屏蔽的内容:
#if sys.version_info < (3, 6):
# sys.exit("Stegosaurus requires Python 3.6 or later")
两段Flag合并。
flag{8f177eac1dff4665646cd2139a4ba0b0}
三、总结
比赛时未解出,没有解过类似题,初次遇见。
|