隐写术总结--CTF指南

一、概述

0x01 模型介绍

STEGA即隐写术,将信息隐藏在多种载体中,如:视频、硬盘和图像,将需要隐藏的信息通过特殊的方式嵌入到载体中,而又不损害载体原来信息的表达。旨在保护需要隐藏的信息不被他人识别。信息隐蔽技术有:1)隐写术、2)数字水印、3)隐蔽信道、4)阀下信道、5)匿名信道

Simmons模型——囚犯问题

Simmonns模型
假设Alice和Bob在两个不同的监狱,他们之间能通过Wendy通信,同时Wendy能获取他们交流的信息,如果Alice和Bob将想要表达的信息隐藏在交流信息中,Wendy就发现不了。

Weber定律

  • 德国生理学家韦伯发现同一刺激差别量必须达到一定比例,才能引起差别感觉:
    Weber定律
    (其中,ΔI 是差别阈限, I是刺激强度,k 是Weber常数)
  • 感觉量的增加落后于物理量的增加,适用于中等强度的刺激.
  • ΔI —JND (Just Noticeable Difference)

Fechner定律

  • 心理量是刺激量的对数函数,即当刺激弱度以几何级数增加时,感觉的强度以算术级数增加:
    Fechner定律
    (其中, S是感觉强度, I是刺激强度, k是常数)
  • 这个定律说明了人的一切感觉,包括视觉、听觉、肤觉(含痛、痒、触、温度)、味觉、嗅觉、电击觉等等,都遵从感觉不是与对应物理量的强度成正比,而是与对应物理量的的强度的常用对数成正比的。

Watson模型

  • Watson提出了一个测量视觉保真度模型,估计了原图像和目标图像之间的JND值。
  • 基本原理:根据图像块的DCT系数估计变化的感知性,然后将这些估计合并成对感知距离的单个估计。
  • 过程:1)频率敏感性;2)亮度敏感性;3)对比度敏感性;4)合并,计算总的感知距离

听觉感知

  • 听觉感受到的刺激是:能量、频率。遵从Fechner定律。
  • 掩蔽效应:频域掩蔽、时域掩蔽
  • 频域掩蔽阈值:人耳能感知的最低频率成分的声压级。
  • 绝对听觉阈值:安静环境中,能被人耳感知的纯音最小值。

通信隐写模型

通信系统模型

隐写术安全模型

隐写术安全模型

数字水印空间模型

数字水印空间模型

典型隐写模型

典型隐写模型

  • 评价隐写术的标准核心标准:隐蔽程度隐蔽程度越高,直接导致检测有效信息越困难
  • 其他标准:隐写算法的好坏、隐写手段的复杂度、提取信息的难易度

隐写术分类

隐写术分类

CTF隐写术现状

CTF隐写术现状

LSB隐写介绍
一种常见的方式是利用LSB来进行隐写,LSB也就是最低有效位 (Least Significant Bit)。原理就是图片中的像数一般是由三种颜色组成,即三原色,由这三种原色可以组成其他各种颜色,例如在PNG图片的储存中,每个颜色会有8bit,LSB隐写就是修改了像数中的最低的1bit,在人眼看来是看不出来区别的,也把信息隐藏起来了。譬如我们想把’A’隐藏进来的话,如下图,就可以把A转成16进制的0x61再转成二进制的01100001,再修改为红色通道的最低位为这些二进制串。

红色通道最后一位被修改

每个通道都修改最后一位,修改8次就能隐藏一个ASCII码

如果是要寻找这种LSB隐藏痕迹的话,Stegsolv.e是个神器,可以来辅助我们进行分析。
注:jpg是有损压缩,无法LSB隐藏信息;png虽有压缩却是无损的,bmp没有被压缩,这两者都可用LSB隐藏信息。

0x10 工具介绍

  1. binwalk

Binwalk是一个固件的分析工具,多用于逆向工程、取证、隐写分析。 更多...

$ binwalk firmware.bin  //最简单的操作
$ binwalk --enable-plugin=zlib firmware.bin  //有些签名无法识别,利用zlib插件扫描zlib压缩包可识别
$ binwalk -y filesystem firmware.bin  //指定字符串“filesystem”搜索(正则),-Y 输出结果只包含文本字符串
$ binwalk -x filename firmware.bin  //排除搜索结果中指定'filename'字符串(正则)
$ binwalk -y filesystem -x jffs2 firmware.bin  //输出既包含'filesystem'又排除'jffs2'的字符串
$ binwalk --dd='zip archive:zip:unzip %e' firmware.bin  //<type>:<extension>[:<command>]. type 是签名中描述的小写字符串(支持正则表达式);extension 是将数据保存到磁盘时使用的文件扩展名;command 是当数据已保存到磁盘后可选的命令执行语句
$ binwalk -e firmware.bin  //自动提取
$ binwalk --extract=./my_extract.conf firmware.bin  //自定义提取规则'my_extract.conf'
$ binwalk -Me firmware.bin  //递归提取(8层)
$ binwalk -A firmware.bin  //扫描与功能相关联的各种框架操作码
$ binwalk -W firmware1.bin firmware2.bin firmware3.bin  //比较, 在文件当中相同字节的是绿色显示,不同的是红色显示,蓝色表示只是有些文件当中的不同部分
$ binwalk -S firmware.bin  //字符串搜索
$ binwalk -E firmware.bin  //熵分析
$ binwalk -AE firmware.bin  //签名或字符串以及熵分析
$ binwalk --heuristic firmware.bin  //启发式扫描, 加密或压缩的高熵的数据块进行分类
$ binwalk --list-plugins  //插件列表
$ binwalk --enable-plugin=foo firmware.bin  //启用插件扫描
$ binwalk --disable-plugin=foo firmware.bin  //禁用插件扫描
$ binwalk -f binwalk.log firmware.bin  //日志记录功能
$ sudo binwalk -u  //升级binwalk
  1. WinHex

Winhex是在Windows下执行的十六进制编辑软件,此软件功能很强大,有完好的分区管理功能和文件管理功能。能自己主动分析分区链和文件簇链。在CTF中一般用来查看文件头格式、直接修改16进制数据,等等。更多...

  1. 010 Editor

010 Editor是一款非常强大的文本/十六进制编辑器,除了文本/十六进制编辑外,还包括文件解析、计算器、文件比较等功能,但它真正的强大之处还在于文件的解析功能。我们可以使用010Editor官方网站提供的解析脚本(Binary Template)对avi、bmp、png、exe等简单格式的文件进行解析,当然也可以根据需求来自己编写文件解析脚本。

  1. Stegsolve

Stegsolve是一款图片分析工具,具体功能如下:


功能
  1. Stegdetect

stegdetect是一种数字图像隐写分析工具,主要实现JPEG图像的隐秘信息的嵌入的检测。更多...
功能:
q – 仅显示可能包含隐藏内容的图像
n – 启用检查JPEG文件头功能,以降低误报率。如果启用,所有带有批注区域的文件将被视为没有被嵌入信息。
如果JPEG文件的JFIF标识符中的版本号不是1.1,则禁用OutGuess检测。
s – 修改检测算法的敏感度,该值的默认值为1。检测结果的匹配度与检测算法的敏感度成正比,
算法敏感度的值越大,检测出的可疑文件包含敏感信息的可能性越大。
d – 打印带行号的调试信息。
t – 设置要检测哪些隐写工具(默认检测jopi),可设置的选项如下:
j – 检测图像中的信息是否是用jsteg嵌入的。
o – 检测图像中的信息是否是用outguess嵌入的。
p – 检测图像中的信息是否是用jphide嵌入的。
i – 检测图像中的信息是否是用invisible secrets嵌入的。

  1. ffmpeg

ffmpeg作为媒体文件处理软件,基本用法: ffmpeg -i INPUTfile [OPTIONS] OUTPUTfile
输入输出文件通常就是待处理的多媒体文件了。可以是纯粹的音频文件,纯粹的视频文件,或者混合的。ffmpeg支持绝大部分的常见音频,视频格式,像常见的mpeg,AVI封装的DIVX和Xvid等等,具体的格式支持列表可以使用ffmpeg -formats查看或直接查阅文档。更多...

  1. MSU Stego

用于对 AVI 文件进行隐写\提取操作. 官方介绍如下:
MSU StegoVideo allows hiding any file in a video sequence.Different popular codecs were analyzed and an algorithm, providing the smallest data loss after compression, was chosen. Convolutional codes with Viterbi decoding are used to correct occurred errors. 更多...
Main features
Small video distortions after hiding info.
It is possible to extract info after video compression.
Information is protected with passcode.

  1. QR Reader

二维码扫描工具可自定义参数,可以自动识别二维码反色,自动识别电脑屏幕二维码,识别率比手机扫码高,非常强大。
  1. MP3Stego

用于对 MP3 音频文件进行隐写、提取等操作。更多...
用法:
encode -E hidden_text.txt -P pass svega.wav svega_stego.mp3
decode -X -P pass svega_stego.mp3

二、文本格式

0x01 文件格式概述

  • 文本格式:.pdf、.txt、.doc、.docx
  • 图像格式:.png、.jpg、.bmp、.gif
  • 音频格式:.mp3、.wma、.wav
  • 视频格式:.mp4、.rmvb、.avi、.flv

0x10 格式协议分析

  1. pdf文件格式 更多...

数据类型

  • 对象, 一个PDF文档是由一个由基本数据类型组成的数据结构。
  • 文件(物理结构), 决定对象是如何存放在一个PDF文件中的, 它们是如何被访问的,如何被更新的。这个结构是独立于对象的语义的。
  • 文档结构, 说明一些基本的对象类型是如何来表现PDF文档的成分的:页,字体,批注,和另外一些内容。
  • 内容流.一个PDF文件内容流包含一系列的指令,描述页面的外观或其他图形实体的外观和文件内容。


    pdf文件结构

    数据流读写过程

持续更新中...

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容

  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,602评论 1 180
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,815评论 0 5
  • “兑”,解读为喜悦、田泽、少女。看卦画:地上有苗,沼泽湿地,丽泽之象。 兑卦,卦象是泽,湿地田园;卦德是喜悦,伦常...
    童年的流星阅读 1,097评论 0 4
  • 从教5年整,前4年教数学,与学生朝夕相处打成一片,与学生关系特铁,无论离开多少日子,一个电话或qq过来,马上能热火...
    破晓17阅读 913评论 0 0
  • "我白天都没什么机会和你说话,只能憋到晚上给你发句晚安。但你可别小看了这两个字,它可包含着我今天清晨见到的阳光,中...
    清许呀阅读 603评论 0 0