前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Foremost简介

Foremost简介

作者头像
安恒网络空间安全讲武堂
发布2019-03-08 16:48:59
2.5K0
发布2019-03-08 16:48:59
举报

前言

上周在 安恒萌新粉丝群: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的提示利用 MinGWgcc去使用源码自行编译也可以直接使用作者编译好的 exe文件

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

  • 解压缩存档
  • 编译
  • 安装
代码语言:javascript
复制
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

命令详解

代码语言:javascript
复制
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所在目录下,并输入命令

代码语言:javascript
复制
λ foremost -i zhu.jpg

在目录下会出现一个 output文件夹,分离出两张图片,相比原图多了一个二维码图片

这里还需要一个隐写,通过使用 stogslove进行色差分析即可拿到flag。

除了文件分离的功能,它还有一个特色功能就是文件恢复,如果误删了一个文件,可以使用

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

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

不过可以使用 -q来加快扫描速度,但是这个也是有个副作用: foremost只在每个扇区的开始位置与文件头进行对比,但可能会丢失一些嵌套在其他文件内的文件。

-q常连用的是 -b number, 它可以指定磁盘每个扇区的大小,默认是 512个字节。但对于 ext4文件系统来说,这个值一般是 4096shell formost-q-b numbe(4096)-t需要恢复文件类型后缀(如jpg)-i扫描的分区-o指定存放文件的目录 除此之外还有些其他用法,可以和其他工具结合起来,通过脚本完成一些自动化的工作。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 恒星EDU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 安装
  • 命令详解
  • 简单使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档