[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术

博主介绍

‍ 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】【通讯安全】【web安全】【面试分析】
点赞➕评论➕收藏 == 养成习惯(一键三连)
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

一、图种+ZIP

1.得到携带隐藏文件的图片

2.检索图片文件中隐藏的其他文件

3.分离图片文件中隐藏的其他文件

1.Foremost 工具分离隐藏的其他文件

2.更改后缀名为zip然后解压方式分离隐藏的其他文件

二、LSB隐写

LSB隐写介绍

示例

三、文件格式缺失&GIF隐写

把图片放入010editor进行修复

把图片放入Namo_GIF_gr或者Stegsolve发现存在隐藏信息

得到隐写信息


一、图种+ZIP

1.得到携带隐藏文件的图片

所谓图种,就是先把要想隐藏的东西用zip打包压缩,然后再跟一张正常的图片结合起来,达到隐藏信息的目的。

在这里我准备了一个zip.zip的压缩包和111000.png的图片。zip里面的内容为zip.png

然后在windows命令窗口输入:copy/b 111000.png + zip.zip output.png

得到一张名为output.png的图片文件,可以正常打开

2.检索图片文件中隐藏的其他文件

binwalk工具可以根据检索匹配文件头的原理轻松地检索图片文件中隐藏的其他文件,还是以这张图片为例,在kali linux里输入命令 binwalk 然后将output.png拖入命令窗口回车执行即可 

直接输入:binwalk ‘要查看的文件路径’

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第1张图片

3.分离图片文件中隐藏的其他文件

利用Linux下的foremost工具可以将output.png里隐藏的zip文件分离出来, 在kali linux命令行里输入foremost,然后将output.png拖入命令窗口回车执行即可分离,默认的输出文件夹为output,在这个文件夹中可以找到分离出的zip 。

1.Foremost 工具分离隐藏的其他文件

Foremost 没有发现,但是可以安装他:y

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第2张图片

 安装完成,直接输入foremost ‘要分离的文件路径’

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第3张图片

自动生成output文件夹

 [ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第4张图片

拖到windows桌面看一下内容 

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第5张图片[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第6张图片

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第7张图片 [ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第8张图片

成功分离出来

2.更改后缀名为zip然后解压方式分离隐藏的其他文件

当然,也还有一种更简单粗暴的方式:直接把图片的后缀改为.zip,然后解压即可(这种方法虽然简单快速,但如果隐写了多个文件时可能会失败)

先将output图片后缀名改为zip,得到output.zip文件

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第9张图片[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第10张图片[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第11张图片

 然后进行解压,解压就得到了我们压缩文件zip.zip的内容,zip.png

 [ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第12张图片[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第13张图片

 成功分离出来。

二、LSB隐写

LSB隐写介绍

LSB隐写,也就是最低有效位 (Least Significant Bit)隐写。

图片中的像数一般是由三种颜色组成,即三原色,由这三种原色可以组成其他各种颜色,例如在PNG图片的储存中,每个颜色会有8bit,LSB隐写就是修改了像数中的最低的1bit,写入加密信息,而人眼无法注意到前后的变化。

示例

图片链接:

https://pan.baidu.com/s/1aQaZj0UH2Xk_rGiYWf6lzg?pwd=30e2

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第14张图片

此图看起只是六只环保色猪头,但是其中包含了一张隐藏的二维码,我们可以通过工具Stegsolve.jar打开此图

Stegsolve.jar工具地址:

https://download.csdn.net/download/qq_51577576/86246245

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第15张图片

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第16张图片

然后通过下方的按钮切换到Gray bits,可以看到左上角出现了隐写在该通道的二维码,扫描二维码即可得到flag

csdn好像不能发这中二维码图,这里就把图片删除了

三、文件格式缺失&GIF隐写

图片链接:

https://download.csdn.net/download/qq_51577576/86246267
https://pan.baidu.com/s/1Mn7k0FYfmw-x5wuZYFbUXw?pwd=h6zh 

下图是一张名为“此为gif图片.gif”的文件,打开发现了报错。

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第17张图片

把图片放入010editor进行修复

图片原始不可识别文件,根据文件名“此为gif图片.gif”猜想是gif图片

直接打开图片打不开

 [ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第18张图片

把图片扔到010editor中,

010editor工具地址:

https://download.csdn.net/download/qq_51577576/86246276

在CTF中有的时候会需要我们去修复图片,这对我们对于图片的文件结构要有了解。找到gif的文件格式,然后对照这个破损的文件对其进行修复。

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第19张图片

找一张正常的gif图片拖入010editor

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第20张图片

我们会发现和普通的GIF图片不一样,头部缺少了东西,在对比一些文档,会发现是少了GIF8。

我们手动修复一下可以正常打开。(插入GIF8,保存)

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第21张图片

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第22张图片

把图片放入Namo_GIF_gr或者Stegsolve发现存在隐藏信息

发现一串数字和字母叠加,想办法分离出来。

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第23张图片

依次将每一帧的第254位色位调至一个颜色,保存。就可以查看到每帧闪过的字母。

最后拼接起来进行base64解码,得到flag。

可以使用gif小工具 Namo_GIF_gr 修改第254bit色位

Namo_GIF_gr工具地址:

https://download.csdn.net/download/qq_51577576/86246260

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第24张图片

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第25张图片

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第26张图片

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第27张图片

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第28张图片

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第29张图片

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第30张图片

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第31张图片

[ CTF 学习 ] CTF 中的隐写集合 —— 图片隐写术_第32张图片

得到隐写信息

八帧的信息组合在一起:

PASSWORDisY2F0Y2hfdGhlX2R5bmFtaWNfZmxhZ19pc19xdW10ZV9zaW1wbGU=

很明显这是一个Base64编码,然后拿去解码得到catch_the_dynamic_flag_is_qumte_simple

运用载体隐藏信息数据在隐藏的时候,我们常常是需要先分析是数据隐藏在哪里,也就是他在利用是什么做载体,之后才可以进一步的分析是加密或编码的。我们要对一个图片的格式要有了解,才能知道哪些地方是可疑的,哪些是会有冗余的成分在可以隐藏起信息的

你可能感兴趣的:(渗透测试自学篇,web基础知识点,CTF学习,学习,java,jvm)