涉及知识点:
1.文件分离
2.伪加密
3.图片隐写
涉及工具:
1.winhex或foremost
2.steghide
下载方式:apt-get install steghide
如不能下载命令前加sudo
(此过程是在kali中进行)
解题思路:
1.打开压缩包是下图
2.放到winhex里查看,文件里包含一个压缩包和一张图片,进行分离,我是手动分离,分离后发现需要密码,想到可能是伪加密,仔细查看发现
是伪加密。
关于伪加密的部分解释:
压缩源文件数据区: //橙色区域
50 4B 03 04:这是头文件标记
0A 00:解压文件所需 pkware 版本
01 08:全局方式位标记(有无加密) 头文件标记后2bytes
00 00:压缩方式
8E 4E:最后修改文件时间
53 4B:最后修改文件日期
8A C4 35 B6:CRC-32校验
22 00 00 00:压缩后尺寸(22)
16 00 00 00:未压缩尺寸(16)
08 00:文件名长度
00 00:扩展记录长度
66 6C 61 67 2E 74 78 74 A7 A0 9B A6 BC 37 21 E7
B0 A7 B4 E2 22 B9 1A 43 31 BB C4 33 37 FD B7 17
B5 6D A1 FC F0 1D 10 E9 C9 56
压缩源文件目录区: //绿色区域
50 4B 01 02:目录中文件文件头标记(0x02014b50)
3F 00:压缩使用的 pkware 版本
0A 00:解压文件所需 pkware 版本
01 08:全局方式位标记(有无加密,伪加密的关键) 目录文件标记后4bytes
00 00:压缩方式
8E 4E:最后修改文件时间
53 4B:最后修改文件日期
8A C4 35 B6:CRC-32校验
22 00 00 00:压缩后尺寸(22)
16 00 00 00:未压缩尺寸(16)
08 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 00 00 00:外部文件属性
00 00 01 00:局部头部偏移量
18 00 29 39 FE E9 7C 48 D3 01 D9 46 44 DC 7C 48
D3 01 D9 46 44 DC 7C 48 D3 01
压缩源文件目录结束标志: //黄色区域
50 4B 05 06:目录结束标记
00 00:当前磁盘编号
00 00:目录区开始磁盘编号
01 00:本磁盘上纪录总数
01 00:目录区中纪录总数
5A 00 00 00:目录区尺寸大小
48 00 00 00:目录区对第一张磁盘的偏移量
00 00:ZIP 文件注释长度
这个详细的介绍了各部分的含义,修改其压缩源文件目录区的全布局方式标记比特值之后即可对文件加密或解密。
注意
加密要看压缩源文件数据区和压缩源文件目录区的全局方式位标记
全局方式位标记的四个数字中只有第二个数字对其有影响,其它的不管为何值,都不影响它的加密属性!
第二个数字为奇数时 –>加密
第二个数字为偶数时 –>未加密
3.解出可得一张图片和一个加密的压缩包。经过各种尝试才知道有steghide这个神器,用法如下:
steghide info good.jpg //看是否存在文字信息
steghide extract -sf good.jpg //将文字信息提取出来
如果不能正常运行尝试将权限提高,在命令前加sudo,如果还不能看看是否是绝对路径的问题,将图片路径打全。
4.密码方面直接回车,出题人未设密码,可得出ko.txt,打开即为压缩包密码,打开压缩包,得出flag