0%

JPEG图片隐写

jpeg图片格式详解

1.Exif信息

(1)kali下exiftool
(2)备注
(3)MagicEXIF软件下载地址

2.使用十六进制编辑器来查看

我一般使用010Editor打开
文件头:FF D8 FF
文件尾:03 FF D9
修改jpg高度:在struct SOFx sof0块中WORD Y_image为高,WORD X_image为宽
jpg文件第四个数据的第5、6位与7、8位
直接在数据尾部添加数据不影响图像的显示

3.查看色道

Stegsolve

4.JSteg隐写算法

jsteg-windows-amd64.exe hide in.jpg [FILE] [out.jpg]
jsteg-windows-amd64.exe reveal in.jpg [FILE]

5.F5隐写

java Extract hide.jpg -p 123

6.steghide

使用教程及密码爆破

1
2
3
4
5
将secret.txt文件隐藏到text.jpg中:
steghide embed -cf test.jpg -ef secret.txt -p 123456

从text.jpg解出secret.txt:
steghide extract -sf test.jpg -p 123456

7.检测方法

JPEGsnoop

JPEGsnoop是一个免费的,便携的详细图像解码器,负责审查任何文件类型的包含JPEG压缩图像。
下载地址

stegdetect

Neils Provos开发的隐写工具Stegdetect,通过统计分析技术评估JPEG文件的DCT频率系数,它可以检测到通过JSteg、JPHide、OutGuess、Invisible Secrets、F5、appendX和Camouflage等这些隐写工具隐藏的信息,并且还具有基于字典暴力破解密码方法提取通过Jphide、outguess和jsteg-shell方式嵌入的隐藏信息。

Linux环境下

项目地址

1
2
root@Kali:~/stegdetect# ./configure
root@Kali:~/stegdetect# make

使用方法:

1
root@Kali:~/stegdetect# ./stegdetect -tj -s 10.0 hidetime.jpg

选项
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-q 仅显示可能包含隐藏内容的图像。

-n 启用检查JPEG文件头功能,以降低误报率。如果启用,所有带有批注区域的文件将被视为没有被嵌入信息。如果JPEG文件的JFIF标识符中的版本号不是1.1,则禁用OutGuess检测。

-s 修改检测算法的敏感度,该值的默认值为1。检测结果的匹配度与检测算法的敏感度成正比,算法敏感度的值越大,检测出的可疑文件包含敏感信息的可能性越大。

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

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

j 检测图像中的信息是否是用jsteg嵌入的。
o 检测图像中的信息是否是用outguess嵌入的。
p 检测图像中的信息是否是用jphide嵌入的。
i 检测图像中的信息是否是用invisible secrets嵌入的。

-V 显示软件版本号。

Windows环境下

将图片复制到stegdetect.exe所在目录下,shift加右键打开PowerShell

1
2
3
4
.\stegdetect.exe -tjopi -s 10.0 .\1.jpg
#检测加密方式
.\stegbreak.exe -r .\rules.ini -f .\password.txt -t p .\1.jpg
#破解密码

8.其它隐写算法

JPHide

将图片加载到exe中,点击seek,输入密码即可(可为空密码)

OutGuess

1
2
3
4
5
6
7
8
加密:
outguess -k "my secret key" -d hidden.txt demo.jpg out.jpg
加密之后,demo.jpg会覆盖out.jpg,
hidden.txt中的内容是要隐藏的东西

解密:
outguess -k "my secret key" -r out.jpg hidden.txt
解密之后,解密内容放在hidden.txt中

FreeFileCamouflage

直接放入jpg文件解密