数据取证三剑客 ——合天网安实验室学习笔记

article/2025/3/4 0:56:01

实验链接

通过该实验了解文件恢复、数据提取的相关技术及应用、熟练掌握三款相关开源工具foremost、scalpel、bulk_exetractor的使用。

链接:http://www.hetianlab.com/expc.do?ce=6ca30fb8-e0c2-41f3-8335-731e91774df4

实验简介

实验所属系列: 数据安全

实验对象: 本科/专科信息安全专业

相关课程及专业: 系统安全

实验类别: 实践实验类

预备知识

  • 关于foremost

    Foremost是基于文件开始格式,文件结束标志和内部数据结构进行恢复文件的程序

    Foremost参数说明

    $ 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  - 设置输出目录 (默认为为输出)-c  - 设置配置文件 (默认为foremost.conf)-q  - 启用快速模式. 在512字节边界执行搜索.-Q  - 启用安静模式. 禁用输出消息.-v  - 详细模式. 向屏幕上记录所有消息---------------------
    
  • Scalpel

    对那些没有日志机制的旧有文件系统,scalpel 工具是一个很好的选择。scalpel 是快速文件恢复工具,通过读取文件系统的数据库来恢复文件。它是独立于文件系统的。

  • Bulk_exetractor

    一个计算机取证工具,可以扫描磁盘映像、文件、文件目录,并在不解析文件系统或文件系统结构的情况下提取有用的信息,由于其忽略了文件系统结构,程序在速度和深入程度上都有了很大的提高

实验目的

通过该实验了解文件恢复、数据提取的相关技术及应用、熟练掌握三款相关开源工具foremost、scalpel、bulk_exetractor的使用。

实验环境

服务器:kali,IP地址:随机分配

测试脚本请在实验机内下载使用:http://tools.hetianlab.com/tools/T021.zip

实验步骤

步骤一

即使文件扩展名改变了或者被删去了,文件头部包含的信息可以识别出文件类型,并且通过文件头部和尾部的信息(文件开始格式,文件结束标志和内部数据结构进行恢复文件)可以尝试刻画出完整的文件数据提取是一个漫长的过程,建议使用自动化的工具来进行以节省时间。

一些常见的文件类型,当用16进制的编辑器打开时在文件头部打开时会包含如下信息:
在这里插入图片描述

本次实验专注于文件以及头部信息的分析与利用,通过上面提到的三个工具来进行本次的实验。

Foremost的使用

本次使用的镜像来自于互联网上开源的文件,可从此处下载 http://dftt.sourceforge.net/test11/index.html

Foremost是一款简单有效的命令行工具,通过分析文件头部和尾部的信息来恢复文件。通过kali左上角的application->11-Forensics->foremost启动:
在这里插入图片描述

启动后打开了一个终端:
在这里插入图片描述

关于程序的版本信息、开发人员以及一些使用选项都被呈现出来。

为了更好理解foremost和选项的使用,可以查阅foremost的系统管理员手册,输入man foremost:
在这里插入图片描述

在这个例子中主要用到的是两个选项,-i用于指定输入的文件,即前面下载的文件11-carve-fat.dd,-o用于指定一个空的文件夹,将其命名为foremost-recovery。通过foremost进行分析只需输入如下的命令就可以了:

foremost -i 11-carve-fat.dd -o foremost-recovery
在这里插入图片描述

尽管在处理过程中有些字符是乱码,但是结果已经在指定的输出的文件夹中被清楚的总结归类好了,打开foremost_recovey输出文件夹查看:
在这里插入图片描述

从上图可以看到被提取出来的文件,按照文件类型分门别类,同时还有个audit.txt,里面包含了分析过程中的详细信息,列出了foremost找到的所有文件以及文件偏移、大小规模等:
在这里插入图片描述

在audit.txt的最后,可以看到提取出的文件的总结:

在这里插入图片描述

可以看到有三个jpg的文件,这时可以在jpg子文件夹中查看:
在这里插入图片描述

可以看到foremost是一个的强大的数据恢复和文件提取的工具,文件提取所花的时间取决于源文件的规模,如果已经知道了所需提取文件的大小,可以使用使用 -t 来指定,然后进行提取,这样速度会更快。

比如指定只提取jpg:

foremost -i 11-carve-fat.dd -t jpg -o faster

可以看到速度更快
在这里插入图片描述

不过生成的文件夹中也只有jpg一个子文件夹,同样有三张图片:
在这里插入图片描述
在这里插入图片描述

步骤二

Scalpel

Scalpel作为早期的foremost的升级版被开发出来,主要是针对解决foremost提取文件时高CPU占用率和ROM使用率的问题而开发。和Foremost不一样,所需提取的文件类型需要在scalpel的配置文件中设置。

配置文件的路径:
在这里插入图片描述

使用nano打开并修改,nano scalpel.conf

这是默认的:
在这里插入图片描述
在这里插入图片描述

在上图中可以看到所有类型的前面都被#注释了,如果需要使用scalpel提取某种类型的文件,将它前面的#删去就可以了。

请按照下图删除一些内容:

在这里插入图片描述也可以在文件中直接修改:
在这里插入图片描述

这样的话,如果待提取文件中有gif,jpg,png,bmp则会被提取出来。

保存并退出,接下来输入scalpel启动它。

启动后会显示使用的语法、其他选项以及关于工具的其他信息:
在这里插入图片描述

为了便于对比,同样使用前面foremost实验的那个文件。

使用-o指定输出文件夹为scalpeloutput,后面跟着输入文件:

scalpel -o scalpeloutput/ 11-carve-fat.dd
在这里插入图片描述

从上图中可以看到提取出6个文件,其中gif1个,jpg5个。

打开输出的文件夹:

在这里插入图片描述

在jpg文件夹中虽然有5个,但是只有3个确实是jpg文件:
在这里插入图片描述

这可能是因为这两个文件恰好符合jpg文件的特征,但是本身可能是无意义的数据块,从而被scalpel错误地提取出来了。

提取的特征在前面那张截图中可以看到,jpg的特征是这样子的:
在这里插入图片描述

同样在audit.txt中可以看到详细的处理信息:
在这里插入图片描述

步骤三

Bulk_extractor

在前面的实验中我们可以看到,foremost和scalpel是比较有效的文件恢复和提取的工具,但是仅限于几种特定的类型,为了进一步的提取数据,使用Bulk_exetractor。

除了foremost、scalpel能提取的恢复、提取的数据外,Bulk_exetractor还可以提取的数据包括:信用卡号码、邮箱地址、url、网页信息等。

这次使用到的文件也是互联网上公开的,可以从http://downloads.digitalcorpora.org/corpora/scenarios/2009-m57-patents/drives-redacted/下载。

在使用Bulk之前,可以-h查看帮助说明:

bulk_extractor -h
在这里插入图片描述

这次使用从terry-work-usb-2009-12-11.E01中提取信息并将输出保存至bulk_output文件夹。

输入如下命令即可:

bulk_extractor -o bulk_output terry-work-usb-2009-12-11.E01
在这里插入图片描述

在分析工作结束后,bulk会显示所有线程都完成了,并且给出分析过程及提取出的信息的总结:

在这里插入图片描述

图中还能看到md5 hash、总共处理的MB,甚至还有3个邮件特征。

列出输出文件夹中的内容:

ls -l bulk_output/
在这里插入图片描述

需要注意的是,不是所有列出来的文件都包含数据。只有在月份左边的那些数字大于0的文件才包含数据。

在输出文件夹中可以看到很多独立的txt文件:

在这里插入图片描述

可以查看上图中列出的数字大于0的文件。

比如telephone.txt:
在这里插入图片描述

显示的都是电话号码。

url.txt:

在这里插入图片描述

显示的是浏览的网页和链接等。

总结

在本次实验中,通过三款工具,学习了文件恢复和数据提取的相关技能。首先通过CTF隐写类题目中最常见的工具Foremost来进行文件提取,它会通过扫描整个镜像来搜索支持的文件类型。

Scalpel针对同一个文件进行提取,只不过需要在配置文件中针对目标文件类型做些修改。这两款工具都提供了audit.txt来总结提取出的文件列表以及分析的详细信息。

Bulk_exetractor是一款十分出色的工具,被用来提取数据、发现隐藏的信息,在上面的实验中已经见识它的威力了。

答题

在这里插入图片描述


http://chatgpt.dhexx.cn/article/ewYL8xH6.shtml

相关文章

开发神器之BeyondCompare4.0工程代码比较工具

超好用文件对比工具 – Beyond Compare 具备的丰富实用功能&#xff1a; - 并列比较文件夹、FTP 网站或 Zip 文件&#xff1b; - 为以后的比较保存快照&#xff1b; - 类似浏览器的界面&#xff1b; - 可扩展子文件夹&#xff1b; - 隐藏比较不需要的文件夹&#xff1b; …

6 款代码对比工具

点击上方“朱小厮的博客”&#xff0c;选择“设为星标” 后台回复”加群“获取公众号专属群聊入口 来源&#xff1a;rrd.me/fTS4c 在程序开发的过程中&#xff0c;程序员会经常对源代码以及库文件进行代码对比&#xff0c;在这篇文章里我们向大家介绍六款程序员常用的代码比较工…

Monaco-Editor在Vue中使用(实现代码编辑与diff代码比较)

Monaco在线代码编辑器使用总结 1.什么是Monaco Monaco编辑器是为VS代码提供支持的代码编辑器官方API文档 2.Monaco Editor安装及使用 2.1安装 npm install monaco-editor --save-devnpm install monaco-editor-webpack-plugin --save-dev2.2配置vue.config.js const Mona…

程序员必备 代码比较工具 Beyond Compare 4

封面图 推荐一个代码比较工具&#xff0c;名字叫 Beyond Compare 4&#xff0c;真得很好用&#xff0c;选择两个文件夹&#xff0c;然后两边会同步打开都有的文件夹/文件&#xff0c;打开文件后&#xff0c;标有红色的地方就是两个文件的不同处。唯一缺点就是试用期只有 30 天&…

代码对比工具,我就用这6个!

点击上方“程序猿技术大咖”&#xff0c;关注并选择“设为星标” 回复“加群”获取入群讨论资格&#xff01; 程序开发的过程中&#xff0c;程序员会经常对源代码以及库文件进行代码对比&#xff0c;在这篇文章里我们向大家介绍六款程序员常用的代码比较工具。 WinMerge WinMer…

代码对比工具,我就用这 6 个!

作者&#xff1a;yueliang2100 blog.csdn.net/yueliang2100/article/details/82190257 在程序开发的过程中&#xff0c;程序员会经常对源代码以及库文件进行代码对比&#xff0c;在这篇文章里我们向大家介绍六款程序员常用的代码比较工具。 1、WinMerge WinMerge是一款运行于W…

代码比较工具-beyond Compare4.0

超好用文件对比工具 – Beyond Compare 具备的丰富实用功能&#xff1a; - 并列比较文件夹、FTP 网站或 Zip 文件&#xff1b; - 为以后的比较保存快照&#xff1b; - 类似浏览器的界面&#xff1b; - 可扩展子文件夹&#xff1b; - 隐藏比较不需要的文件夹&#xff1b; …

程序员喜欢的5款最佳代码比较工具

俗话说&#xff1a;三句不离本行&#xff0c;对于程序员这个可爱的群体来说也是一样&#xff0c;即使面对无休无止的编程工作&#xff0c;程序员们依旧任劳任怨的埋头苦干&#xff0c;梦想着用自己码下的代码改变世界。工欲善其事,必先利其器&#xff0c;每一位程序员都有自己私…

几款比较常用的代码比较工具

文章来源&#xff1a;分享几款比较常用的代码比较工具 俗话说&#xff1a;三句不离本行&#xff0c;对于程序员这个可爱的群体来说也是一样&#xff0c;即使面对无休无止的编程工作&#xff0c;程序员们依旧任劳任怨的埋头苦干&#xff0c;梦想着用自己码下的代码改变世界。工欲…

Beyond Compare 代码比较工具

一、下载 官网下载地址&#xff1a; https://www.scootersoftware.com/download.php 选择 Windows 系统&#xff0c;简体中文版本&#xff0c;点击下载。 下载完成 二、安装 步骤1&#xff1a;双击安装包 步骤2&#xff1a;进入安装向导&#xff0c;点击下一步 步骤3&a…

分享几款比较常用的代码比较工具

公众号关注 “大鱼机器人” 设为 “星标”&#xff0c;重磅干货&#xff0c;第一时间送达&#xff01; 素材来源&#xff1a;网络 作者&#xff1a;yueliang2100 整理&#xff1a;strongerHuang 俗话说&#xff1a;三句不离本行&#xff0c;对于程序员这个可爱的群体来说也是一…

程序员代码对比工具,就用这7个!

来源公众号&#xff1a;搜云技术库 在程序开发的过程中&#xff0c;程序员会经常对源代码以及库文件进行代码对比&#xff0c;在这篇文章里我们向大家介绍7款程序员常用的代码比较工具。 一、WinMerge 图片 WinMerge是一款运行于Windows系统下的文件比较和合并工具&#xff0c;…

代码比较工具Beyond Compare 4(亲测有效)

代码比较工具Beyond Compare 4 一、便携免安装破解版&#xff0c;下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1vGKnPh6WMhk_bYJyJyKqXw 提取码&#xff1a;dasf 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 便携免安装破解版&#xff0…

程序员常用的代码比较工具,你更喜欢哪款?

目录 &#x1f4a1; Linux 命令行的对比工具 一. diff 二. vimdiff命令 &#x1f4a1; GUI 比对工具 三. WinMerge 四. Diffuse 五. Code Compare 六. Beyond Compare 七. UltraCompare 八. Altova DiffDog 九. Kompare 十. Meld 十一. XXdiff 十二. KDiff3 十…

9款代码比较工具

对于经常写代码&#xff0c;又改代码的程序员来说&#xff0c;如果之前写的代码&#xff0c;过了很久又需要改&#xff0c;那么查找不同之处相当困难。如果这时候有一款代码比较工具&#xff0c;将会非常方便。W3Cschool 资深用户归纳总结 9 款常用的代码比较工具&#xff0c;赶…

VSCode批量代码比较

前言 最近因为工作原因&#xff0c;需要找出一个工程里面修改过的地方。VSCode里自带代码比较功能&#xff0c;可以高亮代码不同的地方。然而手动一个个打开文件来比较显然非常的繁琐&#xff0c;在网上检索后发现并没有相关的方法。因此&#xff0c;为了解决这个问题&#xf…

三款免费好用的代码对比工具,丢弃BeyondCompare

代码比较是日常开发经常需要做的工作&#xff0c;比如说源代码对比、文档对比&#xff0c;甚至是excel表格对比。 这里推荐三款免费的对比工具。 1、winMerge 下载地址&#xff1a;https://winmerge.org/downloads/?langen winMerge的大小只有7M&#xff0c;轻量级&#xf…

开发者需要的 9 款代码比较工具

对于经常写代码&#xff0c;又改代码的程序员来说&#xff0c;如果之前写的代码&#xff0c;过了很久又需要改&#xff0c;那么查找不同之处相当困难。如果这时候有一款代码比较工具&#xff0c;将会非常方便。W3Cschool 资深用户归纳总结 9 款常用的代码比较工具&#xff0c;赶…

9款优秀的代码比对工具

我们知道两个文件之间&#xff0c;或者同一个文件的不同版本之间经常需要做内容比对。在 Windows下有个很强大的工具叫作 BeyondCompare &#xff0c;那在 Linux下需要用到什么工具呢&#xff1f; 本文介绍 9 种 Linux 下常用的 9 种代码比对工具&#xff0c;不仅有命令行工具…

代码对比工具,我就用这6个

文章工具来源于微信公众号 IT星球 在程序开发的过程中&#xff0c;程序员会经常对源代码以及库文件进行代码对比&#xff0c;在这篇文章里我们向大家介绍六款程序员常用的代码比较工具 WinMerge WinMerge是一款运行于Windows系统下的文件比较和合并工具&#xff0c;使用它可…