参考大佬的博客: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. React中的生命周期函数

    React的生命周期函数 什么是生命周期函数:生命周期函数是指在某一个时刻组件会自动调用执行的函数 Initialization:初始化 执行Constructor,初始state和props Mou ...

  2. js面试相关

    〇,字符串,数值,数组的转化 (0)检测数据类型 参考连接:http://www.cnblogs.com/onepixel/p/5126046.html 1,, typeof 操作符 :  能检测到( ...

  3. Apache Solr JMX服务 RCE 漏洞复现

    Apache Solr JMX服务 RCE 漏洞复现 ps:Apache Solr8.2.0下载有点慢,需要的话评论加好友我私发你 0X00漏洞简介 该漏洞源于默认配置文件solr.in.sh中的EN ...

  4. linux中目录处理命令

    目录 mkdir cd pwd rmdir cp mv rm mkdir 解释 命令名称:mkdir 命令英文原意:make directories 命令所在路径:/bin/mkdir 执行权限:所有 ...

  5. Docker基础(1) 原理篇

    Docker是什么 Docker的构成 Docker的分层和写时拷贝策略 Docker与主流虚拟机的区别 Docker镜像与容器的关系 镜像的变更管理 Docker是什么 Docker是一个开源的应用 ...

  6. 常见Linux命令学习

    Linux命令学习 命令分类: 文件处理命令 权限管理命令 文件搜索命令 帮助命令 用户管理命令 压缩解压命令 网络命令 关机重启命令 1.文件处理命令 命令格式:命令 [-选项] [参数] 例:ls ...

  7. Linux 使用vim命令编辑文件内容

    在终端可以使用vim命令来直接编辑文件内容. vim,也可以叫做vi. vim有三种模式:命令模式.输入模式.底线命令模式. 命令模式 vim  文件名   进入命令模式,vim也可以写成vi. 如果 ...

  8. View Binding初探

    参考翻译:https://developer.android.google.cn/topic/libraries/view-binding View Binding是一项功能,使您可以更轻松地编写与视 ...

  9. 二、Nginx配置实例

    Nginx配置实例 一.反向代理 实例一 1.实现效果 打开浏览器,在浏览器地址栏输入地址 www.123.com ,跳转到linux系统tomcat主页面中. 2.准备工作 在linux系统中安装t ...

  10. 物联网开源框架Thingsboard使用总结

    Thingsboard中文社区:http://thingsboard.iotschool.com/ 参考网址:https://thingsboard.io/docs/getting-started-g ...