CTF隐写术工具

  隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接受者之外的任何人知道信息的传递事件或内容。

隐写术用到的工具

1.16进制修改器

2.binwalk(Linux)

分析文件信息,用来查看文件中是否包含其他隐藏文件,简单用法:

binwalk filename 分析构成

binwalk -e filename自动解压已知文件格式

binwalk -D=[extension] filename根据后缀名解压,如-D=zip等

3.StegSolve(Windows)

能够对常见的照片格式进行偏移、LSB提取、帧提取、拉长等

4.Stegdetect(Windows)

用于检测JPEG文件中是否包含隐藏内容,并尝试分析是哪个工具嵌入的,使用方式:

stegdetect [-nqV] [-s <float>] [-d <num>] [-t <tests>] [file.jpg]

参数信息
-q 仅显示可能包含隐藏内容的图像。
-n 启用检查 JPEG 文件头功能,以降低误报率。如果启用,所有带有批注区域的文件将被视为没有被嵌入信息。如果 JPEG 文件的 JFIF 标识符中的版本号不是1.1,则禁用 OutGuess 检测。
-s 修改检测算法的敏感度,该值的默认值为1。检测结果的匹配度与检测算法的敏感度成正比,算法敏感度的值越大,检测出的可疑文件包含敏感信息的可能性越大。
-d 打印带行号的调试信息。
-t 设置要检测哪些隐写工具(默认检测 jopi),可设置的选项如下: j 检测图像中的信息是否是用 jsteg 嵌入的。 o 检测图像中的信息是否是用 outguess 嵌入的。 p 检测图像中的信息是否是用 jphide 嵌入的。 i 检测图像中的信息是否是用 invisible secrets 嵌入的。

5.Outguess(Windows)

提取JPEG文件中使用Outguess算法的加入的隐藏信息

6.MP3Stego(Windows)

对于MP3音频文件的隐写和提取,如一个名为“123.mp3”的文件

命令 功能
decode -X -P 123.mp3 提取123mp3信息到123.txt中
encode -E 123.txt -P pass 123.mp3 把123.txt文件写入123.mp3中

下载链接

7.ZipCenOp伪加密(Windows)

命令 功能
java -jar ZipCenOp.jar e xxx.zip 加密
java -jar ZipCenOp.jar r xxx.zip 解密

D6LBon.jpg

a.压缩源文件数据区:

50 4B 03 04:这是头文件标记(0x04034b50)
14 00:解压文件所需 pkware 版本
09 00:全局方式位标记(有无加密)
08 00:压缩方式
50 A3:最后修改文件时间
A5 4A:最后修改文件日期
21 38 76 64:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
08 00:文件名长度
00 00:扩展记录长度

666C61672E7478744BCB494CAF764CC935F4D3753272D7CD0ED50D8EF20CA80500

b.压缩源文件目录区:

50 4B 01 02:目录中文件文件头标记(0x02014b50)
1F 00:压缩使用的 pkware 版本
14 00:解压文件所需 pkware 版本
09 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了)
08 00:压缩方式
50 A3:最后修改文件时间
A5 4A:最后修改文件日期
21 38 76 65:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
08 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 00 00 00:外部文件属性
00 00 00 00:局部头部偏移量
666C61672E7478740A00200000000000010018000FF504D59AC5D201461FCB8A9AC5D201461FCB8A9AC5D201

c.压缩源文件目录结束标志:

50 4B 05 06:目录结束标记
00 00:当前磁盘编号
00 00:目录区开始磁盘编号
01 00:本磁盘上纪录总数
01 00:目录区中纪录总数
5A 00 00 00:目录区尺寸大小
3F 00 00 00:目录区对第一张磁盘的偏移量
00 00 00:ZIP 文件注释长度

识别真假加密

无加密
压缩源文件数据区的全局加密应当为00 00
且压缩源文件目录区的全局方式位标记应当为00 00

假加密
压缩源文件数据区的全局加密应当为00 00
且压缩源文件目录区的全局方式位标记应当为09 00

真加密
压缩源文件数据区的全局加密应当为09 00
且压缩源文件目录区的全局方式位标记应当为09 00

把09 00 改成00 00 之后,保存,重新打开,即可看到flag

8.Steghide

9.cloacked-pixel

用于lsb解密,但是没有密码

python2 lsb.py extract flag.png 1.txt password