2.8 KiB
2.8 KiB
隐写方法论坑与边界
检测坑
- 熵误报:压缩数据/随机填充天然高熵,熵特征单独出现时只是线索——与结构异常合并判断(decision-tree 分级表)
- JPEG 有损混淆:LSB 类隐写基本只适用于 PNG/BMP(无损);JPEG 重压缩会破坏位平面——先确认格式再选方法,别在 JPEG 上浪费时间做 LSB
- 工具版本差异:zsteg/steghide 版本间通道枚举默认值不同(如 b1 位序、alpha 通道是否默认扫)——换版本/加参数重扫是常见修复
- 签名伪造:文件头正常不代表整体正常(附加数据可伪装成注释块/元数据)——按结构逐段核对(pngcheck 查 IEND 位置、EXIF 段长度)
- 未检出 ≠ 不存在:隐写可藏在非常规顺序/新型载体/多载体分片中——「未检出」必须带已用方法清单
提取坑
- 顺序组合爆炸:行序 × 位序 × 通道 × 位平面组合多——先按工具默认试,再枚举常见组合(zsteg -E 各变体),最后脚本全枚举
- 隐写前压缩:嵌入前 deflate/gzip 的明文提取出来是乱码——提取物先查压缩头(zlib
78 9C、gzip1F 8B、bzip242 5A 68),常见于 CTF - 隐写前加密:加密载荷无密钥不可提取——查题目/场景的密钥线索(密码提示、同批文件);无则标注,不硬破解
- 多载体重叠:同一文件多个隐写层/多文件分片——每层提取物独立验证,分片按特征(文件尾偏移/序号/内容连续性)拼接
- 嵌入损坏:部分写入/载体处理导致提取数据损坏——容忍损坏(magic 部分匹配、可读片段),修复载体后再提取
载体坑
- 载体损坏:隐写写入破坏文件结构(坏 PNG/异常 EXIF)——先修复(pngcheck 定位损坏处)或按位提取不依赖结构
- EXIF 干扰:EXIF 段内的注释/缩略图可能被误报为附加数据——用 exiftool 列清元数据段,区分「合法元数据」与「附加载荷」
- 压缩载体:ZIP/RAR 内文件的未用空间与 CRC 域是隐写点——先解包对比原始大小/校验(binwalk 扫描容器内偏移)
- JPEG DCT 域:JPEG 隐写在 DCT 系数里,位平面工具无效——用 outguess 类工具或 DCT 系数统计(JPEG 隐写检测需重压缩分析,超出基础流程时标注)
使用注意
- 取证场景:授权范围(载体/数据类别)先行;产物 sha256 存档(re-triage 初勘 + re-analyze/analysis-contract 交付)
- CTF 场景:按题目提示缩小范围(载体类型/顺序暗示/密钥提示),别全量枚举耗时
- 本技能覆盖文件类载体(图片/音频/文件冗余区/未分配空间);网络协议/流量侧隐写不在本技能(re-netcap / re-proto-rev 场景评估)