MISC中图片隐藏文件分离

1 介绍

在CTF的MISC中,经常会将flag隐藏在图片中。我们可以用Linux下的binwalk或者foremost进行图片文件的分离,这里我们选用分别介绍两种方法。
在Kali Linux上安装binwalk和foremost:

# apt-get install binwalk
# apt-get install foremost

题目中给出的图片如下图所示,图片名称为2.jpg,从图片中我们得不到任何信息:

2 Binwalk

2.1 分析

我们用binwalk分析图片的组成:

# binwalk 2.jpg


从分析结果中我们可以看到,图片文件中隐藏了一个名为flag.txt的文件,而且是被压缩过的,其起始块是40078。

2.2 分离

我们使用dd命令分理出隐藏在图片中的.zip文件:

# dd if=2.jpg of=1.zip skip=40078 bs=1

其中if=2.jpg是输入文件,of=1.zip是输出文件,skip是指定从输入文件开头跳过40078个块后再开始复制,bs设置每次读写块的大小为1字节 。

然后我们将分离出来的1.zip解压,就可以看到flag:

2 Foremost

利用以下命令:

foremost 2.jpg

可以直接将图片文件中包含的所有文件分离,输出到一个output文件夹中。打开这个文件夹,我们可以看到audit.txt为记录分离过程的文件,jpg为该图片文件中包含的所有.jpg文件,zip为该图片文件中包含的所有.zip文件。打开zip文件,并解压其中的00000078.zip,就可以得到flag。

文章作者: Alston
文章链接: https://lizitong67.github.io/2020/02/21/MISC%E4%B8%AD%E5%9B%BE%E7%89%87%E9%9A%90%E8%97%8F%E6%96%87%E4%BB%B6%E5%88%86%E7%A6%BB/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Alston's blog