首页 > 编程知识 正文

fore and foremost,for the foremost

时间:2023-05-06 11:15:15 阅读:257377 作者:2133

前言

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

安装

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

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

解压缩存档编译安装 LINUX:$ tar zxvf foremost-xx.tar.gz$ cd foremost-xx$ make$ make installBSD:$ tar zxvf foremost-xx.tar.gz$ cd foremost-xx$ make unix$ make installSOLARIS:$ tar zxvf foremost-xx.tar.gz$ cd foremost-xx$ make solaris$ make installOSX:$ tar zxvf foremost-xx.tar.gz$ cd foremost-xx$ make mac$ make macinstall 命令详解

c:> foremost [-lmdlz] [-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所在目录下,并输入命令

λ foremost -i zhu.jpg

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

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

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

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

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

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

与-q常连用的是-b number, 它可以指定磁盘每个扇区的大小,默认是512个字节。但对于ext4文件系统来说,这个值一般是4096。

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

除此之外还有些其他用法,可以和其他工具结合起来,通过脚本完成一些自动化的工作。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。