misc图片隐写题解集合一

解题思路

所有文件共有

  1. 文本隐写

    1. 文件属性详细里面(win)
    2. 直接用文本编辑器打开

      • 找末尾可能存在的奇怪编码
      • 搜索某些关键字比如flag看看有没有什么奇怪的编码
      • 其中包括
      • 二进制类文件:kali下的strings指令strings 文件路径 | grep 关键字,win下的01eiditor或者之类的winhex编辑器
      • unicode编码文件:win下改成txt后缀打开
  2. 复合文件隐写

    1. kali虚拟机下使用binwalk指令查看是否有复合文件隐写
    2. 使用binwalk -e来分离其中复合的文件(压缩包或者其他照片等等)

图片特有

  1. .png格式特有

    1. 用16位编辑器修改IHDR后的宽高的数据(windows下,前8个十六进制是宽,后8个是高)(win)
    2. java环境下使用stegsolve.jar切换通道查看(kali)
    3. *java环境下使用stegsolve.jar导出不同通道的数值(LSB题型)(kali)
  2. 无法正常显示的图片

    1. 修改后缀,可能是其他格式文件
    2. *用16位编辑器打开查看文件头是不是有错误,有的话修改(win 01editor)
  3. .doc .docx文档

    1. 特殊字符隐藏,开启方式使用wps(win)之类的左上角文件-工具-选项-格式标记-隐藏文字
  4. 有两张看起来一模一样的图片

    1. 隐水印使用:bwm,bwmforpy3的python项目解得到隐藏的水印(win)
    2. java环境下使用stegsolve.jar(kali)使用图片叠加如xor and等等
  5. 有密钥的图片包括pdf等等(参考2-5)

    1. SilentEye(win)
    2. wbStego4(win)
    3. java f5(kali)

音频隐写:此处不重点整理

  1. 使用au查看,根据间隔长短或者持续时间长短得到莫斯电码
  2. 带密码的音频

    1. 使用MP3steg(win)来解码:Decode.exe -X -P 密码 文件路径

例题

例题备份

https://poil.lanzous.com/b01c24aaf
密码:c5rn

之后的内容是例题的题解

2-4

原理说一下以rgb储存形式为例子,red,green,blue各自占八位二进制,代表各个通道的颜色深度,然后三原色叠加各自的深度然后得到你看到的一个像素点颜色,这时候如果你修改最低位的数据,人眼是很难区分的,聪明的人就利用这一点来隐信,即把最低位用于表示信息,虽然会使颜色信息有一定程度的丢失,但是人眼无法区分,而stegsolve主界面的左右箭头前三组就是仅显示某个通道某一位的值比如red plane 0就是只显示红色通道的0位,昨天那题很容易发现三个颜色的通道的0位有杂条,然后就用stegsolve提取出三色的0就可以得到qrcode了扫了之后就是答案。具体怎么提取对应位的可以使用stegsolve-data extract勾选有问题的r,g,b三个通道的0位然后save bin导出成png文件即可。

2-5

打开压缩包后有四个文件,第一个文件使用txt打开找到末尾的unicode码,转成字符为

SilentEye and wbStego4 and f5 key:handsome

代表使用SilentEye and wbStego4 and f5这三个工具,并且密钥是handsome

依次使用这三个工具解对应的三个文件

第二个文件使用SilentEye解得1bc29b36f

第三个pdf文件使用wbStego4.3open 可以解得623ba82aaf

第四个文件使用f5隐写项目需要java环境我是在kali下运行的

  • git clone https://github.com/matthewgao/F5-steganography默认保存到你的主文件夹

    • 我的是/home/poilzero/
  • 然后你cd进入这个文件夹内

    • 我的是cd /home/poilzero/F5-steganography/
  • 按照格式运行java Extract 文件路径.jpg -p handsome

    • 我的是java Extract 4.jpg -p handsome(第四张图片要提前放到这个文件夹)

解得6724fd3b16718

解得密码三个部分拼接后得到答案

flag{1bc29b36f623ba82aaf6724fd3b16718}

3-1

  1. 我使用Adobe PR打开逐帧查看得到两个字符串
  2. 使用base64解密发现是flag前后两半

没重新做截图或者保存字符串,思路很容易想到

3-2

打开docx,打勾左上角文件-工具-选项-格式标记-隐藏文字在文本底部发现

发现日期全是2020.1.16,使用kali下的binwalk查询发现有文件隐藏其中,使用binwalk -e分离后的文件夹中有一个压缩包47F0.rar

有密码,使用日期解压试试(注意使用unrar e -p 文件指令,kali不自带含密码的解压软件)

得到两张照片

两张图片一样使用隐水印解得一张图片就是答案了。注意这个加密算法使用的是python3原生版的,需要使用bwmforpy3.py文件。

项目地址:https://github.com/chishaxie/BlindWaterMark

也就是

flag{Let_Us_Timi_T0gether}

3-3 音频隐写

音频隐写一般是MP3STEG,所以需要密钥,尝试 txt 中搜索无果后,使用kali下的strings指令搜索找到密钥

└─$ strings out.mp3 | grep pass 
pass:goaway

goaway

然后使用MP3STEG解得flag(Decode.exe -X -P 密码 文件路径

flag{027166d2b67fffc4e2471ccabebadcc2}

3-4

  • 根据线索去google搜了一张一模一样的图作为组合密钥。
  • 两张图用stegsolve结合在SUB(R,G,B separate)模式下得到答案

按照总结的思路时候stegsolve两张图拼接,先用stegsolve打开一张图片,然后Analyse-Image Combiner选择另一张合并,切换模式在SUB(R,G,B separate)模式下即可得到

flag{326577fbe6d73973bd67437829bf9301}

3-5

  • 两张图用stegsolve结合在XOR模式下得到答案

先用stegsolve打开一张图片,然后Analyse-Image Combiner选择另一张合并,切换模式在xor模式下即可得到二维码,然后用手机扫一扫即可得到

flag{f0dadc73bf5052f4bd53146aa51ec124}

Last modification:June 29, 2021
如果觉得我的文章对你有用,请随意赞赏。咖啡(12RMB)进度+100%,一块巧克力(1RMB)进度+6%。
(赞赏请备注你的名称哦!后台记录中来自理工小菜狗)