CTF-隐写术

本文详细介绍了隐写术的基本概念,包括图片隐写(如LSB、EXIF信息)、文档和音频文件中的隐写技术,以及解题工具的使用。涵盖了从基础的LSB隐写到高级的音频频谱和MP3编码隐写,展示了如何在各种媒体中隐藏和提取信息。

隐写术

  • 隐写术(Steganography,简写Stega)

    • 一门关于信息隐藏的技巧与科学
    • 信息隐藏:不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容
    • 与密码学(Cryptography)不同。密码学更加关注对信息的加密和解密算法,隐写术更注重对信息和行为的隐藏
  • 隐写题目的类型

    • 图片隐写
      • 图片EXIF信息隐写
      • 图片高度缩减隐写
      • 图片LSB地位隐写
    • 文档隐写
      • 文本隐写
      • 压缩包隐写
      • 其他文档格式(eg. word/pdf/html文件)
    • 音频、视频隐写
    • 其他形式隐写

图片隐写

  • 常用解题工具
    • Strings:文本隐写分析工具
    • Binwalk/dd/foremost:图片分离工具
    • Winhex/ultraeditor:文件16进制编辑器
    • Stegsolve.jar:图层分析工具

EXIF信息隐写

  • EXIF(Exchangeable image file format)

    • 可交换图像文件格式
  • 支持的图片格式:JPEG、TIFF、XMP等等

  • 查看工具

    • 类Unix系统:exiftool
    • windows系统:图片-属性查看
  • 与CTF的结合,将Flag或者密文 写入属性中

在这里插入图片描述

左图直接将Flag放在备注

右图将Flag的Base64密文放在版权,解密后可以得到Flag

LSB隐写

  • LSB(Least Significant Bit),最低有效位
  • 图片像素一般是由RGB三原色组成,每一个颜色占用8位,0x00~0xFF,也就是256种值,一像素点共包含了256^3种颜色
  • 人的肉眼能区分的只有其中一小部分
  • 修改RGB颜色分量中最低的二进制位,人眼无法区分

——例如:将字符’A’隐藏进图片LSB,即把’A’的二进制ASCII码”01100001“写到LSB通道的最低位

在这里插入图片描述

解题思路:

  • 图片分析——确认是不是LSB隐写
  • 图层分离——查看LSB

工具:

  • 可视化图层分析工具:Stegsolve.jar
  • 对于比较难的题,需要自己编写python脚本,PIL.Image库
  • 工具Stegsolve
    • 主要功能:analyse
    • File format:文件格式,查看图片的具体信息
    • Data Extract:数据抽取,抽取图片中隐藏数据
    • Frame Browser:帧浏览器,对GIF动图进行分离
    • Image Combiner:图片融合
例题一

简单的查看每个图层即可获得flag

在这里插入图片描述

例题二

需要对Alpha图层和Green图层进行异或计算,需要将两个图层进行融合

  1. 找到Alpha图层,进行另存
  2. 找到Green图层,进行另存
  3. 打开其中一个图层,选择Analyse->Image Combiner进行融合

在这里插入图片描述

在这里插入图片描述

例题三

迅速浏览三个图层,可以发现Red/Green/Blue图层的最低位有异常信息

需要将三个图层的最低有效位进行融合,这里需要用到Python自己编写脚本

from PIL import Image
im=Image.open("../stega_image_lsb/LSB.bmp")
pix=im.load()
width,height=im.size
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Caaaaaan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值