参考大佬的博客:https://blog.csdn.net/a_small_rabbit/article/details/79644078

深有感触,觉得写得比较全,因此将此篇文章记录在此方便以后用得到。

0x01图像隐写术进行数据隐写分为以下几类:

  • 1.在图片右击查看属性,在详细信息中隐藏数据
  • 2.将数据类型进行改写(rar或者zip数据改为jpg等格式)
  • 3.根据各种类型图像的固定格式,隐藏数据
  • 在编译器中修改图像开始的标志,改变其原来图像格式
  • 在图像结束标志后加入数据
  • 在图像数据中加入数据,不影响视觉效果情况下修改像素数据,加入信息
  • 4.利用隐写算法将数据隐写到图片中而不影响图像(仅限于jpg图像) 隐写常用的算法有F5,guess jsteg jphide。

0x02破解隐写术方法及步骤

  • 1.查看图像属性详细信息是否有隐藏内容
  • 2.利用winhex或nodepad++打开搜索ctf,CTF,flag,key等关键字是否存在相关信息
  • 3.检查图像的开头标志和结束标志是否正确,若不正确修改图像标志恢复图像,打开查看是否有flag或ctf信息,(往往gif属于动图,需要分帧查看各帧图像组合所得数据 若不是直接的ctf或flag信息 需要考虑将其解码)
  • jpg图像开始标志:FF D8 结束标志 :FF D9
  • gif图像开始标志:47 49 46 38 39 61 (GIF89)结束标志:01 01 00 3B
  • bmp图片开始标志:42 4D //92 5B 54 00 00 00 00 00 结束标志:00
  • png图片开始标志:89 50 结束标志:60 82
  • 4.将图片放置在kail系统中,执行binwalk xxx.jpg 查看图片中是否是多个图像组合或者包含其他文件(若存在多幅图像组合,再执行foremost xxx.jpg会自动分离;若检测出其他文件修改其后缀名即可,如zip)
  • 5.使用StegSolve对图像进行分通道扫描,查看是否为LSB隐写
  • 6.在kail下切换到F5-steganography,在java Extract运行
  • 命令:java Extract 123456.jpg图片的绝对地址 -p 123456
  • 判断是否为F5算法隐写
  • 7.在kali系统中使用outguess-master工具(需要安装),检测是否为guess算法隐写

0x03算法隐写的具体操作

1.F5算法隐写

具体操作:在kail下切换到F5-steganography,在java Extract运行

命令:java Extract 123456.jpg图片的绝对地址 -p 123456

2.LSB算法隐写

具体操作:在Stegsolve.jar分析data Extract的red blue green

3.guess算法隐写

具体操作:在kail下切换到outguess目录下,直接用命令即可

命令:outguess -r /root/angrybird.jpg(绝对路径) 123.txt(信息存放的文本)

0x04工具使用

1.MP3stego

encode -E hidden_text.txt -P pass svega.wavsvega_stego.mp3

Decode.exe -X -P pass(密码) svega_stego.mp3(要拷贝到目录下) //解码

2.stedgetect

Stegdetect可以检测到通过JSteg、JPHide、OutGuess、Invisible Secrets、F5、appendX和Camouflage等这些隐写工具隐藏的信息
s – 修改检测算法的敏感度,该值的默认值为1。检测结果的匹配度与检测算法的敏感度成正比,算法敏感度的值越大,检测出的可疑文件包含敏感信息的可能性越大。

d – 打印带行号的调试信息。

t – 设置要检测哪些隐写工具(默认检测jopi),可设置的选项如下:

j – 检测图像中的信息是否是用jsteg嵌入的。

o – 检测图像中的信息是否是用outguess嵌入的。

p – 检测图像中的信息是否是用jphide嵌入的。

i – 检测图像中的信息是否是用invisible secrets嵌入的。
命令:stegdetect.exe -tjopi -s10.0 xxx.jpg

CTF之图片隐写术解题思路的更多相关文章

  1. 【CTF】图片隐写术 · 修复被修改尺寸的PNG图片

    前言 今天我们想来介绍一下关于图片隐写相关处理,以及修复被修改尺寸的PNG图片. 关于PNG图片的相关处理,是CTF Misc图片隐写术中极为基础的一项操作,笔者这里是想要提一些做题过程中发现的小技巧 ...

  2. 记一次CTF比赛过程与解题思路-MISC部分

    前言 最近好久没更新博客和公众号了,有朋友问是不是在憋大招,但我不好意思说其实是因为最近一段时间太懒了,一直在当咸鱼- 意识到很久没更新这个问题,我是想写点什么的,但好像一直当咸鱼也没啥可分享的,最近 ...

  3. 【CTF】图片隐写术 · 盲水印

    前言 盲水印同样是CTF Misc中极小的一个知识点,刚刚做到一题涉及到这个考点的题目. 感觉还挺有意思的,就顺便去了解了下盲水印技术. 数字水印 数字水印(Digital Watermark)一种应 ...

  4. 阿里聚安全攻防挑战赛第三题Android PwnMe解题思路

    阿里聚安全攻防挑战赛第三题Android PwnMe解题思路 大家在聚安全挑战赛正式赛第三题中,遇到android app 远程控制的题目.我们今天带你一探究竟,如何攻破这道题目. 一.题目 购物应用 ...

  5. [LeetCode] Largest Rectangle in Histogram 解题思路

    Given n non-negative integers representing the histogram's bar height where the width of each bar is ...

  6. n皇后2种解题思路与代码-Java与C++实现

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了n皇后问题的解题思路,并分别用java和c++实现了过程,最后,对于算法改进 ...

  7. [LeetCode] 16. 3Sum Closest 解题思路

    Given an array S of n integers, find three integers in S such that the sum is closest to a given num ...

  8. [LeetCode] 234. Palindrome Linked List 解题思路

    Given a singly linked list, determine if it is a palindrome. Follow up:Could you do it in O(n) time ...

  9. [LeetCode] 76. Minimum Window Substring 解题思路

    Given a string S and a string T, find the minimum window in S which will contain all the characters ...

随机推荐

  1. 前端之gojs插件的基本使用

    gojs是一个前端插件,可以通过代码动态的生成流程图,各自展示图 参考网址:https://gojs.net/latest/index.html 如果你想使用,需要先下载对应的文件 我们能用的到的其实 ...

  2. 不懂怎么创建可视化大屏?手把手教你使用数据可视化BI软件创建工厂车间数据监控大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以工厂车间数据监控大屏为例 ...

  3. linux中其他搜索命令(locate/which/whereis/grep)

    目录 locate which whereis grep locate 解释 命令名称:locate 命令所在路径:/usr/bin/locate 执行权限:所有用户 功能描述:在文件资料库中查找文件 ...

  4. JS-重写内置的call、apply、bind

    首先看call和apply,第一个参数就是改变的this指向,写谁就是谁,如果是非严格模式下,传递null或undefined指向的也是window,二者唯一的区别是执行函数时,传递的参数方式不同,c ...

  5. 12.python内置模块之sys模块介绍

    python的sys模块是与python解释器交互的一个接口,提供对解释器使用或维护的一些变量的访问,即与解释器强烈交互的函数. sys模块的常用函数: 1.sys.argv:命令行参数列表.第一个元 ...

  6. update mysql row (You can't specify target table 'x' for update in FROM clause)

    sql语句(update/delete都会出现此问题) update x set available_material_id = null where id not in (select id fro ...

  7. Charles证书下载报Name lookup failed

    背景 1.charles https抓包需要在手机上安装证书. 2.近期疫情影响,通过openVPN远程办公. 问题现象 按照网上教程配置好charles proxy配置,证书安装的时候,iPhone ...

  8. 前后端分离-crud&svn

    前后端分离-crud&svn 1. 跨域 1.1 什么是跨域 请求方与服务方的源不同,即跨域,包括: 1. 协议不同 2. 域名不同 3. 端口不同 1.2 跨域不一定存在跨域问题 什么情况下 ...

  9. java使用原生MySQL实现数据的增删改查以及数据库连接池技术

    一.工具类及配置文件准备工作 1.1 引入jar包 使用原生MySQL,只需要用到MySQL连接的jar包,maven引用方式如下: <dependency> <groupId> ...

  10. 数据库->神奇的concat_ws函数

    神奇的concat_ws函数 了解到concat_ws函数起因是因为:朋友给我发了一份面试题,其中有一句看似很简单的查询,但是我就是没做出来.如下图:   经查阅资料了解通过两个字段拼接并且用“_”进 ...