图片隐写的常见隐写方法:
三基色:RGB(Red Green Blue)
图片文件隐写
1.Firework
使用winhex打开文件时会看到文件头部中包含firework的标识,通过firework可以找到隐藏图片。
使用场景:查看隐写的图片文件
2.Exif
Exif按照JPEG的规格在JPEG中插入一些图像/数字相机的信息数据以及缩略图像,可以通过与JPEG兼容的互联网浏览器/图片浏览器/图像处理等一些软件来查看Exif格式的图像文件,就跟浏览通常的JPEG图像文件一样。
图片右键属性,查看exif或查看详细信息,在相关选项卡中查找flag信息。
Linux:使用exiftool工具(格式:exiftool 图片名)
如果拍摄图片时,开启了GPS功能,则在图片的详细信息里会记录当前位置对应的经纬度。
可以下载谷歌地球查询对应经纬度的位置。
3.Stegsolve
当两张jpg图片外观、大小、像素都基本相同时,可以考虑进行结合分析,即将两个文件的像素RGB值进行XOR、ADD、SUB等操作,看能否得到有用的信息,StegSolve可以方便的进行这些操作。
使用场景:两张图片信息基本相同。
4.LSB(最低有效位Least Significant Bit)
LSB替换隐写基本思想是用嵌入的秘密信息取代载体图像的最低比特位,原理的7个高位平面与替代秘密信息的最低位平面组合成含隐藏信息的新图形。
1. Stegsolve
2. zsteg工具
zsteg可以检测PNG和BMP图片里的隐写数据:
3. wbstego4工具
支持解密的文件格式:.bmp格式的图片、pdf文件
4.python脚本处理
将以下脚本放在kali中运行,将目标文件放在脚本同目录下,将脚本中的文件名修改为文件名,运行python即可。
#LSB.py
#coding:utf-8
import PIL.Image
def foo():
im = PIL.Image.open('01.bmp')
im2 = im.copy()
pix = im2.load()
width,height = im2.size
for x in xrange(0,width):
for y in xrange(0,height):
if pix[x,y]&0x1 == 0:
pix[x,y] = 0
else:
pix[x,y] = 255
im2.show()
pass
if __name__=='__mian__':
foo()
print ('ok.')
pass
修改脚本中的图片名,直接在kali中python3运行(python3 LSB.py)
5.TweakPNG
TweakPNG是一款简单易用的PNG图像浏览工具,它允许查看和修改一些PNG图像文件的元信息存储。
使用场景:
- 文件头正常却无法打开文件,利用TweakPNG修改CRC。
- 有时CRC没有错误,但是图片的高度或者宽度发生了错误,需要通过CRC计算出正确的高度或者宽度。
通过CRC计算出正确的高度或者宽度:
#coding:utf-8
import binascii
import struct
crcbp = open("panda.png","rb").read() #打开图片
print("读取中...")
crc32frombp = int(crcbp[29:33].hex(),16) #读取图片中的CRC校验值
print("图片中的CRC校验值:",crc32frombp)
for i in range(4000):
for j in range(4000):
data = crcbp[12:16] + struct.pack('>i',i) + struct.pack('>i',j) + crcbp[24:29]
crc32 = binascii.crc32(data) & 0xffffffff
#计算当图片大小为i:j时的CRC校验值,与图片中的CRC比较,当相同,则图片大小已经确定
if(crc32 == crc32frombp):
print("图片大小为:",i,j)
print("hex:",hex(i),hex(j))
exit(0)
6.Bftools
bftools用于解密图片信息。
使用场景:在windows的cmd下,对加密过的图片文件进行解密。
格式:
Bftools.exe decode braincopter 要解密的图片名称 --output 输出文件名
Bftools.exe run 上一步输出的文件
7.SilentEye
silenteye是一款可以将文字或者文件隐藏到图片的解密工具。
使用场景:windows下打开silentEye工具,对加密的图片进行解密。
8.JPG图像加密
(1)Stegdetect工具探测加密方式
Stegdetect程序主要用于分析JPEG文件。因此用Stegdetect可以检测到通过 JSteg、JPHide、OutGuess、Invisible Secrets、F5、appendX和Camouflage 等这些隐写工具隐藏的信息。
(2)Jphide
Jphide是基于最低有效位LSB的JPEG格式图像隐写算法。
(3)Outguess
outguess一般用于解密文件信息。
使用场景:Stegdetect识别出来或者题目提示是outguess加密的图片。
(4)F5
F5一般用于解密文件信息。
使用场景:Stegdetect识别出来是F5加密或者题目提示是F5加密的图片。
进入F5-steganography_F5目录,将图片文件拷贝至该目录下,从CMD进入该目录。
运行结束后我们可以直接在目录下的output.txt中看到结果。
9.二维码处理
-
使用二维码扫描工具CQR.exe打开图片,找到内容字段
-
如果二维码某个定位被覆盖了,该工具有时候也可以自动识别,如果识别失败,需要使用PS或画图工具将另外几个角的定位符移动到相应的位置,补全二维码。
-
如果某个二维码的定位点中间是白色,可能被反色了,使用画图工具把颜色反色回来再扫描即可
针对二维码颜色通道,可以使用Stegslove工具查看是否有加密的算法、密钥及密文。文章来源:https://www.toymoban.com/news/detail-643091.html
课程链接:https://www.bilibili.com/video/BV1eq4y1x71H/?spm_id_from=333.999.0.0文章来源地址https://www.toymoban.com/news/detail-643091.html
到了这里,关于杂项-图片隐写的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!