CTF—图片隐写相关

0 前言

CTF中,有一类题和图片相关,各种转换,这里记一些图片的玩法

1 jpg图片属性

正常的jpg图片,选中右键查看属性,在详细信息一栏会发现有很多属性可以修改,简单的题目可以在这里隐藏信息

2 图种

图种就是图片后面再放点信息进去,压缩包、txt文档、或者再来一张图片,要隐藏的信息完全没有限制,cmd举例如下:

:: /b表示二进制方式
copy a.jpg/b+b.zip/b c.jpg
copy a.jpg/b+b.txt/b c.jpg
copy a.jpg/b+b.jpg/b c.jpg

得到的c.jpg就是图种了

还原也比较简单,整理几种方法:

  1. 使用工具分离,比较好用的工具有binwalk和foremost,binwalk建议使用这样的命令: binwalk -eM <file_path>,foremost直接跟文件路径就好了,一般foremost效果要好一些,可以都试一下
  2. 在16进制编辑器打开然后手动分离,这种方式比较考验对文件格式的熟悉程度,需要对常见的文件类型开头结尾比较熟悉,16进制编辑器选择自己熟悉的就好,010Editor、WinHex、HxD都是比较成熟的软件,我会用rehex
  3. 针对压缩文件的技巧,如果隐藏的信息是zip之类的压缩文件,可以直接把文件用压缩软件打开,就能提取压缩包里的文件了

注:有些图片后隐藏图片的情况,可能会把第二张图片头给去掉,然后把两张图片合在一起,由于特征没了,提取工具就没用了,使用手动分离的方法:16进制编辑器打开,找第一张图片的尾部,然后把第二张图片的头给加一下,这样就正常了

3 图层里的秘密 LSB

LSB, Least Significant Bit, 最低有效位,指图片像素的低位数据,因为低位对图片显示影响不大,所以可以用来隐藏数据
stegsolve是一个比较有名的查看图片LSB隐写的工具,一般有2种使用方法:

  1. 把图片打开,点下面的箭头切换图层,可能会显示一些隐藏信息,如二维码图片
  2. 提取低位数据:Analyse->Data Extract,可以先勾选 Red Green Blue的0位,点击 Preview试试看,一般都藏在0,1,2这些低位里面,只能试着观察了

有一个隐藏,检测,恢复的网站:http://incoherency.co.uk/image-steganography/

4 图片头损坏

有些图片会被故意修改前几个字节,导致无法显示
还原很简单,找一个类型相同的文件,在16进制编辑器里照着改回来就能正常打开了
pdf或其它有很明显固定文件头的文件也可以这么做

5 图片的高度

用16进制编辑器更改png图片的高度,会只显示图片的上面一部分,下面的部分就被隐藏了,是个藏东西的好办法
找表示宽度和高度的位置的话,010Editor比较方便,也可以先看看图片的属性,得到宽高值,转成16进制,搜索16进制值就找到了
注:

  1. png图片的保存恢复效果比较好,jpg貌似有点问题
  2. 试过改宽度,效果不好,高度很好掌握

6 图片隐写工具

图片隐写工具很多,慢慢补充,先写几个,以后再补

oursecret

这工具很强大,什么文件都能用来隐藏,完全没有限制
本来下载地址应该是: http://www.securekit.net/oursecret.htm, 但已经404了,随便搜一个在虚拟机里临时用一下吧

Outguess

支持3种用来隐藏信息的文件格式: PPM(Portable Pixel Map)、PNM(Portable Any Map)、jpg,需要密码
下载地址:https://github.com/resurrecting-open-source-projects/outguess
看着readme自己编译一下,使用方法如下:

# 隐藏
# hidden.txt是要隐藏的文件, demo.jpg是用来隐藏信息的图片, out.jpg是有隐藏信息的图片
outguess -k "my secret key" -d hidden.txt demo.jpg out.jpg
# 提取
outguess -k "my secret key" -r out.jpg hidden.txt

steghide

steghide可以在图片和音频文件中隐藏各种数据,windows和linux系统都支持
支持jpg、bmp,不支持png,密码可选

sourceforge和github地址:
http://steghide.sourceforge.net/
https://github.com/StefanoDeVuono/steghide

windows可以直接在sourceforge下载可执行文件
linux如果是debian系,可以使用apt安装: sudo apt install steghide

简单使用方法:

# 隐藏数据 To embed emb.txt in cvr.jpg
steghide embed -cf cvr.jpg -ef emb.txt
# 提取数据 To extract embedded data from stg.jpg
steghide extract -sf stg.jpg

F5

F5隐写是java编写的隐写工具,支持bmp、gif、jpg图像文件,需要密码
github地址: https://github.com/matthewgao/F5-steganography

简单使用方法:

# 隐藏数据 lopez.bmp是源图片,lopez.jpg是生成的图片,-c是注释,-e是要隐藏的文件,-p是密码
java Embed lopez.bmp lopez.jpg -c "comment hellowor.." -e hello.txt -p helloworld
# 提取数据
java Extract lopez.jpg -p helloworld

stegdetect

stegdetect 用于检测图片隐写方式

github的版本只能在linux下编译使用: https://github.com/abeluck/stegdetect

这里可以看到原始版本的介绍:
https://web.archive.org/web/20150415213536/http://www.outguess.org/detection.php

这里可以下载源码和windows版本:
https://web.archive.org/web/20150415220609/http://www.outguess.org/download.php
windows版本下载地址:https://web.archive.org/web/20150415220609/http://www.outguess.org/stegdetect-0.4.zip

2017/5/8

CTF---图片隐写相关相关推荐

  1. ctf图片隐写中改变图片高和宽

    ctf图片隐写中改变图片高和宽 利用工具 Hex Editor Neo将图片进行十六进制分解, 然后我们可以找出该图片的像素高宽,转化成十六进制然后对应找到该像素点所在位置,进行修改即可.

  2. CTF—图片隐写+数据隐写

    一.[图片隐写] 题目描述: 在实验主机上的C:\Stegano\3目录下提供了一个名为stego的文件, 找到一个形式为flag{word_word_word}的字符串. 预备知识 [TrID] T ...

  3. CTF 图片隐写之修改图片高宽

                                                 CTF WriteUp                                            ...

  4. ctf图片隐写之修改图片高度

    这里的例子是安恒2018年12月赛MISC题目 这里我们用Hex workshop修改png的高度 先看一下png的文件结构 class Chunk { public: DWORD ChunkLen; ...

  5. python图片隐写_CTF 图像隐写Python脚本处理

    CTF中经常会遇到很多图片的隐写题目需要使用脚本来解题,最常用到的就是使用python中的PIL库,所以如果要更好的解出图片隐写相关处理的题目,掌握好这个库的使用是必要的.本期就来给大家介绍下这个库的 ...

  6. 推荐几篇图片隐写技术的文章

    这几天了解与学习图片隐写相关的技术点,在查找与阅读相关的文章后,选了三篇不错的文章推荐给大家. 说明:三篇文章是一个系列,专门讲图片隐写.内容全面,有原理介绍,还有实践操作指引,可所谓用心之作,很棒! ...

  7. 【安全技术揭秘系列】探索图片隐写的奥秘

    什么是隐写?由于我们识别声音或图片的能力有限,因此稍微改动信息的某字节位的数据是不会影响我们识别声音或图片的.举个最通俗的例子,古人的藏头诗就是隐写的一种方式: 而CTF图片隐写术就是利用图片来隐藏一 ...

  8. CTF练题(5)word隐写基础题,jpg图片隐写,敲击码解密

    2022.11.2    两道misc题目. 题目一    word隐写基础 题目信息如下: 以及一个无法打开的word文档: 解题步骤: (1)将该word文档拖入010Editor中进行分析,发现 ...

  9. CTF MISC图片隐写简单题学习思路总结(持续更新)

    系列文章目录 第一篇文章: CTF Crypto简单题学习思路总结(持续更新) 文章目录 系列文章目录 前言 一.JPG类隐写 1.1 JPG文件末尾添加字符串 1.2 JPG文件中添加字符串 1.3 ...

  10. CTF学习之MISC之图片隐写与文档隐写

    CTF学习之MISC之图片隐写 隐写术概述 图片隐写技术 图片EXIF信息隐写 图片LSB低位隐写 隐写术(Stega) 隐写术(Steganography,简写Stega) 一门关于信息隐藏的技巧与 ...

最新文章

  1. Quartz.NET基础知识概述
  2. 学习JNI一些基础知识
  3. 数学大师丘成桐:中国的科技至少要倒退20年
  4. asp.net web submit链接页面_41. Web 安全之 target=quot;_blankquot; 触发钓鱼风险
  5. 如果你手头有20万,你是拿去买房还是拿去投资?
  6. Atiitt 使用java语言编写sql函数或存储过程
  7. 微信小程序下载文件,后端PHP处理流程
  8. steer clear of用法
  9. Mac虚拟机Net模式设置
  10. 2021年保育员(中级)考试及保育员(中级)考试总结
  11. 小样本学习记录————利用所有数据的元学习Few-shot Text Classification with Distributional Signatures
  12. vue+pdf.js 印章签署完后鼠标滑过显示签章信息
  13. 0006-Flink原理(Flink数据流 执行图)
  14. ThymeLeaf工具类:Objects、String、Dates、Calendars、Numbers、Booleans、Arrays、Lists、Sets、Maps工具类
  15. html的代码怎麼格式化,怎么格式化html代码? Dreamweaver格式化html代码的技巧
  16. [SSD固态硬盘技术 7] 主控核心设计
  17. 量化投资--技术篇(5) 投资法则
  18. 爬虫获取网易云音乐单曲或歌单实现音乐闹钟
  19. 大白话理解局域网以及局域网ip分配(有效引导篇)
  20. 1-基于51单片机的音乐彩灯

热门文章

  1. 2022年智能马桶行业发展趋势
  2. DTM、DEM、DSM与DOM的概念
  3. 【2018亚太数据中心峰会】黄超:从供到需-中国IDC产业发展的环境分析
  4. Python音频处理基础知识,右手就行
  5. 如何理解最小二乘法?
  6. web渗透测试----10、信息泄露
  7. 大数据分析的学习感悟
  8. 2022年全国职业院校技能大赛网络安全竞赛试题 A-1样题
  9. 智慧大脑系统在城市智慧交通管理现状方面有作用吗?
  10. 用pywinauto抓取微信公众号