1、LSB(最低有效位Least Significant Bit)

LSB替换隐写基本思想使用嵌入的秘密信息取代载体图像的最低比特位,原来的7个高位平面与替代秘密信息的最低位平面组成含隐藏信息的新图形

例如在PNG图片的储存中,每个颜色会有8bit,LSB隐写就是修改了像素中的最低的1bit。在人眼中看来是看不住来区别的,也把信息隐藏起来了。如:把A转成16进制的0*61在转成二进制的01100001,在修改为红色通道的最低位为这些二进制串。
像素三原色(RGB)
通过修改像素中最低为的1bit来达到隐藏的效果
工具:stegsolve、zsteg、wbstego4(通常用于.bmp和.pdf)、Python脚本

因为不确定Red、Blue、Green的排列顺序,所以需要依次选择RGB、BGR……

zsteg(这个方法很厉害)
zsteg是一个命令行工具,linux下输入gem install zsteg进行安装
使用:zsteg 图片名
zsteg会把所有可能情况RGB、BGR……中的文本信息依次显示出来

工具cloacked-pixel (用这个工具解密lsb是需要有密码的,所以一般有密码的lsb要想到这个工具,outguess也是需要密码的)
https://github.com/livz/cloacked-pixel
首先可以用solvelance判断是lsb隐写,再用cloacked-pixel解密
我把它放在kali里面了

python2 .\lsb.py extract .\goddess.png flag.txt 123456


我的使用出现了问题,不知道怎么给python2安装模块

2、CRC检验出错

当PNG文件头正常但无法正常打开文件,可能是CRC校验出错。可以尝试通过TweakPNG打开PNG,会弹处校验错误的提示,比如显示CRC是fe1a5ab6,正确的是b0a7a9f1,打开问winhex或010editor找到CRC值fe1a5ab6将其改为b0a7a9f1

3、图片高度或宽度错误

有时CRC没有错误,但是图片的高度或宽度发生了错误,需要通过CRC计算出正确的宽度和高度

前八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头,该段格式是固定的
前四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13,数据块包含了png图片的宽高等信息,该段格式是固定的
之后的四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示,该段格式也是固定的

之后进入13位数据块,前8个字节00 00 01 69 00 00 03 25中:前四个字节00 00 01 69代表该图片的宽,该段数据是由图片的实际宽决定的,后四个字节00 00 03 25代表该图片的高,该段数据是由图片的实际高度决定的
剩余的4位98 6B 9E 93为该png的CRC检验码

1
2
3
4
5
6
7
8
9
10
11
12
#crc爆破宽高的脚本
import os
import binascii
import struct
crcbp=open("flag.png","rb").read()
for i in range(2048):
for j in range(2048):
data=crcbp[12:16]+struct.pack('>i',i)+struct.pack('>i',j)+crcbp[24:29]
crc32=binascii.crc32(data)&0xffffffff
if crc32== 0x00BF122A: #这里的值也需要根据图片的crc值进行更改
print(hex(i),hex(j))

4、图片加密

Bftools
在windows的cmd下,对加密过的图片文件进行解密
格式:
Bftools.exe decode braincopter 要加密的图片名称 -output 输出文件名
Bftools.exe run 上一步输出文件名

Stegdetect
只适用于jpg加密
Stegdetect工具探测加密方式,主要用于分析PEG文件,因此用stegdetcct用于检测到通过JSteg、JPHide、OutGuess、Invisible Secret、F5、appenddX和Camouflage这些隐写工具隐藏的信息
格式:
.\stegdetect.exe xxx.jpg
.\stegdetect.exe -s 敏感度 xxx.jpg
.\必不可少
#敏感度最大为10,敏感度越大检测结果越准确,所以一般都是
.\stegdetect.exe -s 10.0 xxx.jpg
.\stegdetect.exe -tjopi -s 10.0 1.jpg


在stegdetect.exe所在位置右键“在Windows终端打开”,因为我下载了PowerShell

F5隐写:
进入F5-steganography/目录下
java Extract Misc.jpg -p '密码'

5、Steghide隐写

kali自带
steghide extract -sf xxx.jpg

6、BPG图片查看


BPG Image format (bellard.org)