foremost使用简介

前言

上周在安恒萌新粉丝群:928102972分享介绍了binwalk,今天分享一款同样可以用来文件还原分离的神器。foremost是一个控制台程序,用于根据页眉,页脚和内部数据结构恢复文件Foremost可以处理图像文件,例如由ddSafebackEncase等生成的图像文件,或直接在驱动器上。页眉和页脚可以由配置文件指定,也可以使用命令行开关指定内置文件类型。这些内置类型查看给定文件格式的数据结构,从而实现更可靠,更快速的恢复。在数字取证中和CTF中常用来恢复、分离文件。它默认支持19种类型文件(jpg, gif, png, bmp, avi, exe, mpg, mp4, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, html, cpp 等文件)的扫描识别恢复,还可以通过(通过配置它的配置文件foremost.conf)增加新的支持类型。

安装

foremostkali linux已经预装, 网上大部分是linux版本,不过有好心的网友编译出win版本并上传到了GitHub仓库里,你可以根据README的提示利用MinGW gcc去使用源码自行编译也可以直接使用作者编译好的exe文件

具体下载地址可以看安恒萌新粉丝群公告:【安恒萌新粉丝の周一福利1.28】
linuxmacOS的安装方法看开源仓库README,已经很详细了。

  • 解压缩存档
  • 编译
  • 安装
LINUX:
$ tar zxvf foremost-xx.tar.gz
$ cd foremost-xx
$ make
$ make install

BSD:
$ tar zxvf foremost-xx.tar.gz
$ cd foremost-xx
$ make unix
$ make install

SOLARIS:
$ tar zxvf foremost-xx.tar.gz
$ cd foremost-xx
$ make solaris
$ make install

OSX:
$ tar zxvf foremost-xx.tar.gz
$ cd foremost-xx
$ make mac
$ make macinstall

命令详解

foremost使用简介_第1张图片

c:\> foremost [-v|-V|-h|-T|-Q|-q|-a|-w-d] [-t <type>] [-s <blocks>] [-k <size>]
    [-b <size>] [-c <file>] [-o <dir>] [-i <file]

-V  - 显示版权信息并退出
-t  - 指定文件类型.  (-t jpeg,pdf ...)
-d  - 打开间接块检测 (针对UNIX文件系统)
-i  - 指定输入文件 (默认为标准输入)
-a  - 写入所有的文件头部, 不执行错误检测(损坏文件)
-w  - 向磁盘写入审计文件,不写入任何检测到的文件
-o  - 设置输出目录 (默认为./output)
-c  - 设置配置文件 (默认为foremost.conf)
-q  - 启用快速模式. 在512字节边界执行搜索.
-Q  - 启用安静模式. 禁用输出消息.
-v  - 详细模式. 向屏幕上记录所有消息。

注: 未指定输出目录,结果放在foremost所在目录的output文件夹内,配置文件为所在目录的foremost.conf

简单使用

ctf这类文件分离的题目,大多时候可以使用binwalk或者winhex也可以使用dd命令,这些在前几周也都介绍过,具体可以看公众号往期文章和群文件和公告。可以使用foremost,相对来说binwalk更加强大,速度也快,但是有时候如果不能分离出来,就可以试试看foremost
这里使用1月新春贺岁赛题目演示,大家可以去周周练下载题目,练习使用喔。
题目给的一张zhu.jpg的图片:
foremost使用简介_第2张图片
将图片放在foremost所在目录下,并输入命令

λ foremost -i zhu.jpg

在目录下会出现一个output文件夹,分离出两张图片,相比原图多了一个二维码图片
foremost使用简介_第3张图片
这里还需要一个隐写,通过使用stogslove进行色差分析即可拿到flag。
foremost使用简介_第4张图片
除了文件分离的功能,它还有一个特色功能就是文件恢复,如果误删了一个文件,可以使用

formost -t 需要恢复文件类型后缀(如jpg) -i 扫描的分区 -o 指定存放文件的目录

注意: 指定存放文件的目录必须为空,不然会报错。
-T 选项让foremost自动根据当前时间戳来生成output目录,这时生成的目录是类似这样的 output_Wed Jan 30 16_01_56 2019
foremost 需要扫描整个磁盘或镜像文件来查找可能的文件,这个扫描速度令人堪忧。

不过可以使用-q来加快扫描速度,但是这个也是有个副作用:foremost只在每个扇区的开始位置与文件头进行对比,但可能会丢失一些嵌套在其他文件内的文件。
foremost使用简介_第5张图片
-q常连用的是-b number, 它可以指定磁盘每个扇区的大小,默认是512个字节。但对于ext4文件系统来说,这个值一般是4096

formost -q -b numbe(4096) -t 需要恢复文件类型后缀(如jpg) -i 扫描的分区 -o 指定存放文件的目录

除此之外还有些其他用法,可以和其他工具结合起来,通过脚本完成一些自动化的工作。
foremost使用简介_第6张图片

你可能感兴趣的:(工具使用教程)