CTF-MISC(隐写篇)
字数 1629 2025-08-15 21:30:23
CTF隐写技术全面解析
一、图片隐写技术
1. JPG文件隐写
基本特征
- 文件头标识:FF D8
- 文件结束标识:FF D9
LSB隐写技术
- 原理:修改图片中RGB颜色通道的最低有效位(LSB)
- 工具:Stegsolve
- 操作步骤:
- 打开加密图片
- 选择Analyse-DataExtract
- Bit Planes选中Red、Green、Blue的第0位
- Bit Order选中LSBFirst
- Bit Plane Order选中RGB/GRB/BGR等组合
- 操作步骤:
例题分析
- 网鼎杯第二场"套娃":在最后一张图片中使用LSB隐写得到flag
2. PNG文件隐写
基本特征
- 文件头标识:89 50 4E 47 0D 0A 1A 0A
IDAT隐写技术
- 使用pngcheck分析文件:
pngcheck.exe -v file.png - 判断异常IDAT串,使用winhex等工具创建新文件
- 解压IDAT内容:
- 使用Python解压IDAT块
- 常见得到30(0)和31(1)的数据
- 转换后可能构成二维码等图像
文件高度修改
- 使用hex编辑器修改PNG文件的高度值
- 例题:第六届山东省大学生网络安全大赛"漂亮的小姐姐"
- 修改高度值03 1e为06 1e
PIL图片处理技术
- 简单异或或加密
- 根据像素进行填充补全
- 分析像素色差
- 去除相同通道的值
- 降噪等高级应用
3. GIF文件隐写
基本特征
- 文件头标识:47 49 46 38 39(37) 61
文件头修复
- 例题:2017年山东省省赛misc
- 修复损坏的GIF文件头为"GIF89a"
帧分离技术
- 将GIF分离为单帧图片
- 可能在特定帧中隐藏数据
二、视频隐写技术
工具
- ffmpeg
主要考点
- metadata中隐藏信息
- 视频帧中隐藏数据
- 将视频转化为图片序列分析
例题分析
- 2019 RoarCTF"黄金六年"
- 使用ffmpeg逐帧分解视频(得到632张图片)
- 在特定帧(149,295,492,606)找到二维码
- 组合扫描结果作为密码(iwantplayctf)
- 视频末尾存在base64编码的RAR文件
- 解压得到flag
三、音频隐写技术
常用工具
- Audacity
- silienteye
- MP3StegoDecode
主要考点
- 声音波形中隐藏信息(顺序/逆序)
- 频谱图中隐藏数据
- 音频文件中嵌入其他文件
- 摩斯电码
例题分析
- 使用Audacity直接查看波形或频谱图获取flag
- 使用silenteye工具解密隐藏信息
- MP3Stego案例:
- 合并分段文件(xaa-xag)
- 使用MP3Stego解密:
decode.exe -X -P 密码 1.mp3 - 例题密码提示:"葫芦小金刚的英文名称"(GourdSmallDiamond)
四、文档隐写技术
WORD隐写
- 在文档设置中取消隐藏内容
- 可能包含隐藏文字或水印
五、实用工具总结
-
分析工具:
- Stegsolve (LSB分析)
- pngcheck (PNG文件分析)
- binwalk (文件分离)
- ffmpeg (视频处理)
-
编辑工具:
- WinHex/HexEditor (十六进制编辑)
- Photoshop (图片修复)
- Audacity (音频分析)
-
解密工具:
- MP3Stego (音频隐写)
- silenteye (图像/音频隐写)
六、解题思路总结
-
文件识别:
- 检查文件头确认真实类型
- 使用file命令或十六进制查看器
-
基础分析:
- 检查文件元数据(exiftool)
- 查找异常字符串或数据
-
高级分析:
- 根据文件类型选择相应工具
- 尝试常见隐写技术(LSB,IDAT,帧分离等)
- 组合多个线索(如视频+二维码+压缩包)
-
数据提取:
- 注意文件末尾附加数据
- 尝试各种编码转换(hex,base64等)
- 组合分段文件
-
密码破解:
- 从图片/视频中提取密码提示
- 尝试常见密码组合
通过系统性地应用这些技术和工具,可以有效解决CTF比赛中的各类隐写题目。