隐写
在CTF隐写中,隐写方面大致分为四个方面,图片、视频、音频、文档。
图片
图片分为JPG PNG GIF三类
JPG
特征
——文件头标识(2 bytes):FF D8
——文件结束标识(2 bytes):FF D9
LSB隐写
LSB就是最低有效位,一般图片是由三种颜色组成,LSB隐写修改图片中的最低的1bit,可将信息隐藏在图片之中,通过人眼无法察觉。
对于LSB隐写,可使用Stegsolve工具辅助分析
1. 打开加密图片后,选择Analyse-DataExtract
2. Bit Planes 选中Reg、Green、Blue的第0位
3. Bit Order选中LSBFirst
4. Bit Plane Order选中RGB GRB BGR等
例题 网鼎杯 第二场 套娃 在最后一个图片中
得到flag flag{03a253f5-8e93-4533-bcfc-af98830095a}
IDAT隐写
1.使用pngcheck分析
2.判断异常IDAT串,使用winhex等工具创建新文件
3.根据创建后的新文件继续分析
例题 实验吧
pngcheck.exe -v flie.png
使用winhex打开图片文件,找到最后一个IDAT 对应49 44 41 54 IEND 对应 D9 CF A5 A8
使用pyhon将IDAT中的内容进行解压
得到30 31的数据 30→0 31→1
将30 31字符串转换后得到0 1的字符串
得到一个全是01的txt文件,将文件内容导入代码中,构成图片文件。
可以得到一个二维码图片
扫码后,得到flag SCTF{(121.518549,25.040854)}
脚本生成图片
PIL图片处理
1.简单异或 or 加密(关键是异或 / 加密的密码)
2.根据像素进行填充补全(关键是提取像素点和位置)
3.留意像素的色差(可能构成其他图片)
4.留意像素中值相同的通道(通常都去掉)
5.降噪等高级应用
例题 合天CTF MISC100
得到一个misc100.txt文件,使用notepad++打开,发现行数为61366
可以将61366拆分为三个整数解
2*30683、61*1006、122*503
经过测试我们选择122*503,将长-宽代入代码中
运行代码后,得到flag flag{youc@n’tseeme}。
PNG
特征
——文件头标识(8 bytes):89 50 4E 47 0D 0A 1A 0A
考点
PNG文件无损压缩
用16进制编辑工具更改图片的高度
文件修复
例题 第六届山东省大学生网络安全大赛 漂亮的小姐姐
此题给了一张Gakki的图片,发现此图片是png格式,png文件属于无损压缩,可以使用hexframe、winhex等工具打开该文件。
使用工具打开后,找到控制长-高的对应标识,修改高度。
03 1e 修改为 06 1e 保存
可以看到图片的高度增加了,得到flag flag{H1gh_4nD_Wid7h}。
PS填充图片模块
当二维码标识受到破坏时,可利用PS等工具进行修复。
修复完成后,即可进行二维码扫描。
XOR
1.binwalk分析出两张图片
2.用stegslove打开选择image combiner 选择XOR
3.根据XOR后的结果继续分析
例题
分离出两个图片
根据图片名xor提示,将分离出来的两个文件进行异或处理,得到flag。
GIF
特征
——文件头标识(6 bytes):47 49 46 38 39(37) 61
考点
文件头修复
在动态图的某几帧中存储数据
BASE64矩阵图
文件头修复
例题 2017年山东省省赛 misc
使用notepad++打开发现文件头是9a开头,判断为gif文件
填充至GIF89a
填充后,可以得到一个可看的gif文件。
利用代码将得到gif文件分离成一帧一帧的bmp图片,即可得到flag。
视频
TOOLS
ffmpeg
考点
主要是在metadata,或者在帧里面,帧转化成图片隐写
视频隐写与动态图隐写类似,都是将它转化为每一帧。
逐帧分割
例题 2019 RoarCTF 黄金六年
首先下载视频,打开后未发现flag及提示。
使用ffmpeg工具进行逐帧分解,得到632张图片。
从分离出来的632张图中找到四个二维码
(1)c++ : key1:i
第149张
(2)白帽子讲Web安全:key2:want
第295张
(3)逆向工程:key3:play
第492张
(4)活着:key4:ctf
第606张
使用hexeditor打开视频文件,发现文末存在一段base64字符串
使用base64解密发现rar标识头,判断为压缩包,将以下内容保存为rar文件。
打开压缩包中的flag.txt文件,密码即是上面四张图扫描后的组合 iwantplayctf
得到flag roarctf{CTF-from-RuMen-to-RuYuan}。
音频
TOOLS
Audacity
silienteye
MP3StegoDecode
考点
隐藏在声音里(顺序、逆序)
在声波和频谱里
隐藏在数据里
例题 使用audacity工具打开文件。
得到flag flag:e5353bb7b57578bd4da1c898a8e2d767
也有存在摩斯电码的,保存后讲摩斯电码进行解密。
2015 广东省强网杯 – Little Apple
使用sileneye工具打开,即可得到flag。
由于找不到例题文件,借用互联网上截图进行总结。
例题 葫芦娃
得到多个xa*文件 (xaa-xag) xaa可以打开,可以看到如下所示的提示。
我们将xxa-xxg文件进行合并,并查看新文件中是否存在其他内容,发现存在一个压缩包文件。
使用mp3stego进行解密,密码之前已有提示 葫芦小金刚的英文名称。
decode.exe -X -P GourdSmallDiamond 1.mp3
解密后,得到密码,将密码填入压缩包后,得到flag文件。
得到flag MSTSEC{MSTSEC_DINGANN_KEY_IS_GSD}。
文档
WORD隐写
在设置中,取消隐藏按钮即可。
得到flag。
总结
本篇主要介绍内容为CTF-MISC 隐写的相关内容,借此机会梳理和汇总几年比赛遇到的题型和知识点,欢迎各位表哥提出建议,欢迎各位师傅交流指正。
关注我们
Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。
想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.com 或长按二维码关注公众号:
来源:freebuf.com 2020-04-07 13:42:03 by: 纯白posoki
请登录后发表评论
注册