MISC基础篇-图片隐写
前言
本文主要对misc中图片隐写中的常考点以及经典解题思路进行总结。
考点
- 文件类型判断
- exif隐写
- 文件提取
- 图片宽高
- JPEG隐写
- PNG隐写
- LSB隐写
- 盲水印
- GIF隐写
分析
1.文件类型判断
- 010editor 分析文件头尾(可再另一篇博客查看文件头总结)
- Linux中使用
file xxx
命令查看文件类型 - Windows中使用
TrlDNET
工具查看文件类型
2.exif隐写
- 右键属性查看(信息有限)
- exiftool查看:
exiftool xxx(文件名)
3.文件提取
找到隐藏文件
- 010Editor: 如果熟悉各种文件类型特点,可直接查看字符串来查找隐藏文件。
- 压缩工具: 直接用如 Bandzip、7Z等打开图片,可直接查看隐藏文件。
- Binwalk: 使用
binwalk xxx
直接查看隐藏文件
分离隐藏文件
- 复制数据: 如果在010Editor或其他地方找到隐藏文件,并确定了头、尾,可以通过保存数据为新文件来分离出隐藏文件。
- 解压工具: 解压工具能够直接解压缩图片中的隐藏文件。
- Foremost: 使用
foremost xxx
来分离隐藏文件,不太推荐使用binwalk -e xxx
,本人实际应用中会遇见foremost分离出文件而binwalk分离不出的情况。
4.修改图片宽高
PNG图片
宽:0010h ~ 0013h
高:0014h ~ 0017h
CRC(循环冗余检测):001dh ~ 0020h
可通过爆破CRC来恢复原图片宽高,脚本如下:
1 |
|
JPG图片
高:在FF CO/C2
数据之后的 第4、第5个字节。
宽:在高之后的两个字节。
如图各个块:
1:
起始头2:
数据长度3:
数据精度4:
高5:
宽
BMP图片
宽:0012h ~ 0015h
高:0016h ~ 0019h
JPEG隐写
jsteg、JPHS(JPHide & JPSeek)、outguess 01.3b、steghide 0.4、stegbreak、camouflage、appendx和wbirch。
1.JPHS(JPHide & JPSeek)
工具: jphswin
原理:
将隐藏信息嵌入到图片的DCT系数的LSB中。
操作:JPHide:
用于隐藏信息。JPSeek:
用于提取JPHide隐藏的信息。
PNG隐写
1.字符串
工具: 010editor
思路: 查看图片的固定模块是否正确,如开头,结尾,IDAT,CRC
可能的情况:
- IDAT改写,导致图片显示不完整
- 每个CRC中隐藏可打印字符
- 图片结尾隐藏字符串
- 隐藏文件(可能经过修改,自动工具无法检测,需手动查看并恢复)
2.zsteg
1 |
|
3.APNG动态图
是PNG的动态扩展,结合了PNG和GIF的优势。
工具: apngdis_gui
功能: 将APNG动图分解成多张图片。
MISC基础篇-图片隐写
http://ramoor.github.io/2025/04/10/MISC基础篇-图片隐写/