20232304冯天悦数字取证实验一
数字取证综合实验指导书
本实验指导书覆盖 Kali 安装、Kali 内置取证工具实践(foremost、dcfldd)、以及三种额外取证工具——内存取证(Volatility 3)、文件雕刻取证(scalpel) 和 Rootkit 检测(chkrootkit)——的安装与实战。所有步骤均可在你的 Kali 虚拟机中完成,并提供外部公开数据集的获取方式。
一、实验环境准备
1.1 Kali Linux 安装(简述)
如果你已经安装好 Kali 虚拟机,可跳过至 1.2。以下为推荐步骤(实验中无需重复操作,但报告需填写):
- 访问 kali.org 下载 VMware 或 VirtualBox 版本虚拟机镜像。
- 在虚拟机软件中导入
.ova文件。 - 启动虚拟机,默认用户名/密码为
kali/kali。 - 执行更新:
sudo apt update && sudo apt upgrade -y - 安装增强工具(VMware Tools / VirtualBox Guest Additions)以实现剪贴板共享等。
- 快照保存纯净环境。
![img]()
记录:
- 虚拟机平台:Kali Linux
- Kali 版本号:2025.3
- 分配内存/CPU:16GB RAM 32-Core-CPU
1.2 实验数据获取
本实验需要两份数据源:
| 数据 | 用途 | 获取方式 |
|---|---|---|
取证镜像 usb.img |
文件雕刻、镜像验证、雕刻工具对比 | 自行生成(见 Task 1,Task 3 复用) |
| 内存镜像 | 内存取证 | CTF 试题获取 - Windows 内存镜像(见 Task 2) |
说明:Task 3 的 scalpel 文件雕刻直接复用 Task 1 已生成的
usb.img,无需额外数据源。
二、Task 1:Kali 内置工具——foremost 与 dcfldd
目标:使用 Kali 预装的 foremost 和 dcfldd 两个磁盘取证基础工具,完成数据恢复与证据固定操作。
2.1 制作目标镜像(5 分钟)
在 Kali 终端生成一个 32MB 的 FAT32 镜像,并向其中写入测试文件后将其删除。
dd if=/dev/zero of=usb.img bs=1M count=32
mkfs.vfat usb.img
mkdir mnt_usb
sudo mount -o loop usb.img mnt_usb
# 放入一个 PDF 和一个 JPEG 文件
echo "This is a fake PDF header %PDF-1.4" > mnt_usb/readme.pdf
cp /usr/share/wallpapers/KaliTiles/contents/images/3840x2160.jpg mnt_usb/test.jpg
# 删除 readme.pdf,模拟数据丢失
rm mnt_usb/readme.pdf
sync
sudo umount mnt_usb
rmdir mnt_usb
该脚本实际运行结果如下图所示:

2.2 文件雕刻恢复(foremost,10 分钟)
# foremost 预装在 Kali 中,直接使用
foremost -v -o foremost_output usb.img
运行结果如下图所示:

查看恢复结果:
ls -R foremost_output/
file foremost_output/*/*
运行结果如下图所示:

记录:
恢复出的文件类型及数量:恢复出1个audit.txt文件和1个jpg文件
其中 readme.pdf 是否被恢复?(是/否)否
foremost 输出目录结构(主要子目录名):foremost_output/jpg
问题 1:foremost 基于什么原理恢复文件?为什么删除后仍能恢复?
foremost基于文件头和文件尾的标志恢复文件。文件头和文件尾的标志是文件系统在写入文件时添加的,即使文件被删除,这些标志仍然存在。foremost通过搜索这些标志来恢复文件。
2.3 镜像完整性校验(dcfldd,10 分钟)
dcfldd 是 dd 的增强版,支持哈希计算。用它为 usb.img 生成校验值并验证。
# 计算整个镜像的 SHA-256
dcfldd if=usb.img hash=sha256 | grep -E "Total|SHA256"
运行结果如下:

再将图像复制一份,并修改副本中的一个字节,验证完整性。
cp usb.img usb_tampered.img
echo -n 'X' | dd of=usb_tampered.img bs=1 seek=1024 conv=notrunc
dcfldd if=usb_tampered.img hash=sha256 | grep -E "SHA256"
运行结果如下:

记录:
原始镜像 SHA‑256:448e41fcaf2f15a9404eb5dab811319dc9afdf9ef55a167ecdffbcd0ae7c3814
修改后镜像 SHA‑256:5607690ac129c797e51f1b325ba3a2e5b5e4c84311fcce2501e4c7ba4693393c
两次哈希值是否一致?否
问题 2:dcfldd 与普通 dd 相比,在取证中有什么优势?为什么必须对原始镜像先计算哈希值?
dcfldd支持哈希计算,而普通dd不支持。dcfldd可以在不改变镜像内容的情况下计算哈希值,而dd不能。
三、Task 2:额外工具安装(一)——内存取证工具 Volatility 3
注意:Volatility 3 不是 Kali 预装工具(Kali 预装为 Volatility 2),需手动安装。
类别:内存取证工具
变更说明:原计划使用 DFRWS 2009 公开内存镜像,因该镜像内核过老(Linux 2.6),Volatility 3 无法解析其结构。最终改为使用 CTF 试题中提供的 Windows 内存镜像,Volatility 3 对 Windows 支持更为成熟,分析效果更好。
3.1 安装 Volatility 3
在 Kali 终端执行:
sudo apt update
sudo apt install -y pipx
pipx ensurepath
pipx install volatility3
vol --help # 验证安装
安装结果如下:


Volatility 版本号:2.28.1
3.2 获取 Windows 内存镜像
说明:最初计划使用公开的 DFRWS 2009 内存镜像,但该镜像过于老旧(Linux 2.6 内核),Volatility 3 无法正确解析其结构。后续尝试使用自建 Kali 虚拟机快照,但 Linux 内存镜像涉及 ISF/符号表适配问题。最终改为使用 CTF 试题中提供的 Windows 内存镜像,Volatility 3 对 Windows 的支持更为成熟稳定,命令运行后更有成就感。
本实验使用的 Windows 内存镜像文件从 CTF 试题中获取,放置于家目录下:
ls -lh ~/memory.img
3.3 内存取证实践
使用 Volatility 3 分析 CTF 中的 Windows 内存镜像(~/memory.img),逐步完成以下任务:
(a)识别操作系统版本
vol -f ~/memory.img windows.info.Info

记录操作系统信息(版本、内核、架构):Windows Server 2003 SP1 (NT 5.2 Build 3790),32 位(非 PAE),内核基址 0x80800000,系统根目录 C:\WINDOWS
(b)列出运行进程
注意:
windows.pslist.PsList对本镜像返回为空(可能是 Volatility 3 对 Windows 2003 链表遍历兼容性问题),换用物理内存扫描插件windows.psscan.PsScan成功获取进程列表。
vol -f ~/memory.img windows.psscan.PsScan

运行结果如下(关键进程):
| PID | PPID | 进程名 | 创建时间 | 备注 |
|---|---|---|---|---|
| 4 | 0 | System | N/A | 系统内核进程 |
| 380 | 4 | smss.exe | 2018-12-07 | 会话管理器 |
| 580 | 380 | winlogon.exe | 2018-12-07 | 登录管理器 |
| 660 | 580 | lsass.exe | 2018-12-07 | 安全子系统 |
| 648 | 580 | services.exe | 2018-12-07 | 服务控制管理器 |
| 1992 | 1664 | explorer.exe | 2018-12-07 | 桌面进程 |
| 3660 | 1992 | DumpIt.exe | 2019-04-25 | ⚠ 内存镜像导出工具 |
记录可疑进程名:DumpIt.exe(内存导出工具,用于抓取本内存镜像)
(c)查看网络连接
注意:
windows.netscan.NetScan和windows.netstat.NetStat均报错NotImplementedError: This version of Windows is not supported: 5.2 15.3790!,Volatility 3 的网络相关插件不完全支持 Windows Server 2003。
vol -f ~/memory.img windows.netscan.NetScan
# 报错:NotImplementedError
vol -f ~/memory.img windows.netstat.NetStat
# 同样报错

记录活跃连接/监听端口:Volatility 3 网络插件不支持 Win2003,网络连接信息未能提取
(d)查看命令行历史
vol -f ~/memory.img windows.cmdline.CmdLine
记录可疑命令行参数:cmdline 插件返回为空,未能提取命令行参数
(e)提取注册表信息
vol -f ~/memory.img windows.registry.hivelist.HiveList

记录关键注册表路径:Volatility 3 对 Win2003 的 hivelist 插件在本次测试中返回为空(注册表数据应存在于镜像中,可尝试 Volatility 2 的 hivelist 命令提取)
Volatility 3 对老旧 Windows 兼容说明:本镜像为 Windows Server 2003 SP1 (NT 5.2),属于较老版本。Volatility 3 对 Windows 8/10/11 支持最好,对 NT 5.x 系列部分插件(网络、注册表、命令行)存在兼容限制。针对此类场景,可考虑使用 Volatility 2(
--profile=Win2003SP1x86)作为补充分析工具。
问题 A:根据进程列表分析,DumpIt.exe 进程的存在说明该内存镜像是通过 DumpIt 工具抓取的(PID 3660,创建于 2019-04-25,而其他进程均运行于 2018-12-07)。分析:(1)镜像生成方式为 DumpIt 工具;(2)系统环境为运行了大量 VMware Tools 相关服务的虚拟机(vmacthlp.exe、vmtoolsd.exe、VGAuthService.exe)。
四、Task 3:额外工具安装(二)——文件雕刻取证工具 scalpel
注意:scalpel 不是 Kali 预装工具,需通过
apt安装。
类别:磁盘/文件系统取证
4.1 安装 scalpel
在 Kali 终端执行(scalpel 不在 Kali 预装软件包中):
sudo apt update
sudo apt install -y scalpel
scalpel -h # 验证安装

记录 scalpel 版本:1.60
4.2 配置 scalpel 签名文件
scalpel 默认禁用所有文件类型,直接编辑系统配置文件取消注释目标类型:
sudo nano /etc/scalpel/scalpel.conf
# 或使用 GUI 编辑器:sudo mousepad /etc/scalpel/scalpel.conf
在文件中找到 pdf 和 jpg 两行(大约在第 60–70 行),删除行首的 # 注释符,保存退出(Ctrl+X → Y → Enter)。


说明:
scalpel.conf中内置了数十种文件类型的签名规则,每行以#开头的为禁用状态。直接删#即可启用,无需复制文件。
4.3 复用 Task 1 的 usb.img 进行文件雕刻
直接使用 Task 1 中已生成的 usb.img(含已删除的 readme.pdf 和未删除的 test.jpg),运行 scalpel:
# 清理旧输出(如有)
rm -rf scalpel_output
# 运行 scalpel(-o 指定输出目录,-c 指定配置文件)
scalpel -c /etc/scalpel/scalpel.conf -o scalpel_output usb.img

运行后查看恢复结果:
ls -R scalpel_output/
file scalpel_output/*/*
记录:

scalpel 恢复出的文件类型及数量:恢复出 1 个 audit.txt 和 1 个 jpg 文件(00000000.jpg,JPEG 3840×2160,JFIF 标准)
其中 readme.pdf 是否被 scalpel 恢复?(是/否)否
scalpel 输出目录结构:scalpel_output/(含 audit.txt 和子目录 jpg-1-0/00000000.jpg)
说明:Task 1 中创建的
readme.pdf并非真正的 PDF 文件,而是echo "This is a fake PDF header %PDF-1.4" > mnt_usb/readme.pdf写入的一行文本。虽然该字符串包含%PDF-1.4,但文件头签名不在 foremost/scalpel 期望的偏移位置(文件开头),且文件内容过短、缺乏 PDF 交叉引用表等必要结构。因此 foremost 在 Task 1 中无法恢复该"PDF",scalpel 预期结果相同——这恰恰验证了文件雕刻工具并非简单字符串匹配,而是基于结构化的签名偏移与最小文件完整性判断。
问题 B:foremost 与 scalpel 均基于文件头/文件尾签名(magic bytes)进行文件雕刻,核心原理相同——在磁盘镜像中扫描已知文件类型的十六进制特征码,不依赖文件系统元数据,因此都能恢复已删除的文件。主要差异:(1)配置方式不同:foremost 通过命令行参数指定类型或使用默认配置,scalpel 必须编辑配置文件取消注释才能启用目标类型;(2)性能与精确度:scalpel 在高负载场景下更高效,支持更精细的最小文件大小控制;(3)foremost 输出子目录以扩展名命名(如 jpg/),scalpel 输出子目录以"类型-编号"命名(如 jpg-1-0/)。本次实验中两者恢复效果完全相同:均恢复出 1 个 jpg 文件,均无法恢复假 PDF。这说明对于正常结构文件两者能力相当,假 PDF 因缺乏合规文件结构(签名不在偏移 0、无交叉引用表、内容过短),两者都无法恢复——验证了雕刻工具并非简单字符串匹配。
五、Task 4:额外工具安装(三)——Rootkit 检测工具 chkrootkit
注意:chkrootkit 不是 Kali 预装工具,需通过
apt安装。
类别:Rootkit 检测工具
5.1 安装 chkrootkit
在 Kali 终端执行:
sudo apt update
sudo apt install -y chkrootkit
chkrootkit -h # 验证安装


记录 chkrootkit 版本:0.58b
5.2 Rootkit 检测实践
直接执行 chkrootkit 即可对系统进行全面的 rootkit 扫描,结果将滚动显示:
chkrootkit
运行结果如下图所示:

注意:chkrootkit 的检查过程依赖部分系统命令(如
ls、ps、find等)。如果服务器已被入侵,这些系统命令可能也已被攻击者替换(植入木马版本),chkrootkit 的扫描结果将变得完全不可信——甚至连ls等基础文件查看命令的输出也不可信。因此,chkrootkit 最适合在系统刚安装后、尚未接入网络时建立基线扫描记录。
列出 chkrootkit 已测试的所有项目,可运行带有 -l 参数的命令:
chkrootkit -l
运行结果如下图所示:

在测试过程中如需在屏幕上看到更详细的检测信息,可使用 -x 参数进入专家模式(expert mode),显示所有检测结果:
chkrootkit -x
运行结果如下图所示:

记录:
检测项目总数(-l 列出数量):69
-x 专家模式是否比普通模式输出更多细节?是,-x 专家模式对每个检测项输出详细的检查步骤和中间结果(如搜索路径、匹配模式、比对命令返回值等),而普通模式仅输出最终结论(not infected / not found / WARNING)。
扫描结果中是否发现可疑 rootkit?否,未发现已知 rootkit。但出现两处 WARNING:(1) 可疑文件/目录——均来自 Debian 软件包(如 hashcat/.gitkeep、python3-numpy/.f2py_f2cmap 等),属于误报;(2) sniffer 检测——eth0 和 eth1 上发现 NetworkManager 的 PACKET SNIFFER socket(PID 1034),属正常网络管理服务行为,非恶意嗅探器。
问题 C:chkrootkit 的工作原理是什么?为什么说"如果系统已被入侵,chkrootkit 的结果不可信"?
chkrootkit 通过一系列 shell 脚本和 C 程序检测已知 rootkit 的特征签名,包括:检查关键系统目录中是否存在已知 rootkit 的文件名;比对
ps、ls、find、netstat等系统命令的输出是否包含异常字符串(某些 rootkit 会修改这些命令以隐藏自身);检查/proc文件系统中的异常条目;扫描网络接口是否处于混杂模式等。但由于 chkrootkit 本身依赖系统的ls、ps、grep等基础命令来执行检测,如果攻击者已经替换了这些命令(植入木马版本),这些被篡改的命令会向 chkrootkit 返回虚假信息,导致扫描结果完全不可信。因此,在取证场景中,建议从可信介质(如 Kali Live CD)启动后再运行 chkrootkit,或者使用静态编译的独立版本。
六、Task 5:综合取证分析
结合五个子任务,回答:
-
磁盘取证中的文件雕刻恢复(foremost 和 scalpel)能够恢复已被删除的文件,这与内存取证(Volatility 3)中看到的进程信息有何互补关系?分别总结每项取证技术能发现的关键证据类型。
磁盘取证(文件雕刻)从持久化存储层面恢复已删除文件,可发现被刻意隐藏/销毁的文档、图片等静态证据;内存取证(Volatility 3)从易失性内存中提取进程列表、网络连接等动态运行时信息。两者互补:磁盘取证回答"曾存储过什么",内存取证回答"正在运行什么"。例如,若攻击者删除了恶意程序文件,磁盘取证可恢复该文件,而内存取证可发现其运行时进程痕迹(如 DumpIt.exe)。关键证据类型:磁盘取证——文档、图片、压缩包、可执行文件等文件级证据;内存取证——进程列表、内存字符串、网络连接、注册表缓存、命令行参数等运行时状态证据。 -
试比较 foremost 与 scalpel 两种文件雕刻工具在使用方式和文件恢复原理上的差异,分别描述各自的优势。
foremost 优势:Kali 预装、开箱即用,默认配置覆盖常见文件类型,命令行参数简洁(-v -o即可),适合快速应急响应。scalpel 优势:雕刻算法更高效,可精细控制最小文件大小和签名匹配严格度,配置文件集中管理所有类型规则,适合大规模批量恢复。两者原理相同(文件头/尾签名匹配),但 scalpel 提供更细粒度的调优能力,foremost 更注重易用性。
七、实验报告模板
以下为完整的、可直接填空的实验报告。请按要求填入你的实验记录。
# 数字取证综合实验报告
## 一、实验环境
### 1.1 Kali Linux 信息
- 虚拟机平台:_Kali Linux(VMware 虚拟机)_
- Kali 版本号:_2025.3_
- 内核版本:_Linux 6.x(Kali 2025.3 默认内核)_
- 分配内存/CPU:_16GB RAM / 32-Core CPU_
### 1.2 使用工具清单
| 工具 | 是否 Kali 预装 | 版本 | 安装方式 |
|------|----------------|------|----------|
| foremost | 是 | 1.5.7(系统预装) | 系统预装 |
| dcfldd | 是 | 1.3.4-1(系统预装) | 系统预装 |
| Volatility 3 | 否 | 2.28.1 | pipx 安装 (PyPI) |
| scalpel | 否 | 1.60 | apt 安装 |
| chkrootkit | 否 | 0.58b | apt 安装 |
---
## 二、Kali 内置工具实践:foremost & dcfldd
### 2.1 文件雕刻恢复
- 恢复出的文件类型及数量:_恢复出 1 个 audit.txt 和 1 个 jpg 文件_
- readme.pdf 是否恢复:_否_
- foremost 输出子目录:_foremost_output/jpg 和 foremost_output/audit.txt_
问题1:_foremost 基于文件头/文件尾签名(magic bytes)恢复文件。删除操作仅移除文件系统的目录索引项(inode/目录记录),文件数据块本身仍保留在磁盘上,直到被新数据覆盖。foremost 通过直接扫描磁盘原始数据与已知文件类型特征码做匹配,不依赖文件系统元数据,因此在数据块未被覆盖前即可恢复。_
### 2.2 镜像完整性验证
- 原始镜像 SHA-256:_448e41fcaf2f15a9404eb5dab811319dc9afdf9ef55a167ecdffbcd0ae7c3814_
- 篡改后镜像 SHA-256:_5607690ac129c797e51f1b325ba3a2e5b5e4c84311fcce2501e4c7ba4693393c_
- 两次哈希一致与否:_否_
问题2:_dcfldd 在 dd 的块复制基础上集成了实时哈希计算(SHA-256/MD5 等),可边复制边校验,无需事后单独运行 hash 工具,从而减少镜像被意外修改的风险。取证流程要求先对原始介质(或原始镜像)计算并记录哈希值(建立"证据基线"),后续所有分析都在只读副本上进行,最终比对哈希以证明在整个取证分析过程中证据未被篡改——这就是电子证据的"完整性证明链"。_
## 三、内存取证:Volatility 3
### 3.1 安装记录
- 版本:_2.28.1_
### 3.2 实验数据说明
- 内存镜像来源:_CTF 试题 - Windows 内存镜像(原始计划使用 DFRWS 2009 公开内存镜像,因内核过于老旧、Volatility 3 无法解析,改为 Windows 内存镜像)_
- 镜像文件大小:_约 512 MB_
### 3.3 分析结果
- 操作系统版本:_Windows Server 2003 SP1 (NT 5.2 Build 3790),32 位(非 PAE),内核基址 0x80800000,系统根目录 C:\WINDOWS_
- 可疑进程(cmd/powershell/网络工具):_DumpIt.exe(内存镜像导出工具,PID 3660,创建于 2019-04-25)_
- 网络连接摘要:_Volatility 3 网络插件(netscan/netstat)不支持 Windows Server 2003,报 NotImplementedError,网络连接信息未能提取_
- 监听端口/远程连接:_同上,未能提取_
- 可疑命令行参数:_cmdline 插件返回为空,未能提取命令行参数_
- 关键注册表路径:_hivelist 插件返回为空(Volatility 3 对 Win2003 注册表支持有限)_
问题4:_原始 DFRWS 2009 镜像为 Linux 2.6 内核,Volatility 3 对老旧 Linux 内核需自建 ISF/符号表,适配复杂度高。本实验改为使用 CTF 试题中的 Windows 内存镜像,虽然版本较老(Win2003),但 Volatility 3 的 windows.info 和 windows.psscan 插件仍能成功提取操作系统版本和进程列表,验证了内存取证可以在不启动目标系统的情况下,还原其运行时状态。_
---
## 四、文件雕刻取证:scalpel
### 4.1 安装与配置记录
- 版本:_1.60_
- 配置启用的文件类型:_jpg(JPEG/JFIF)和 pdf(PDF)_
### 4.2 分析结果
- 恢复出的文件类型及数量:_恢复出 1 个 audit.txt 和 1 个 jpg 文件(00000000.jpg,JPEG 3840×2160,JFIF 标准)_
- readme.pdf 是否被恢复:_否_
- scalpel 输出目录结构:_scalpel_output/(含 audit.txt 和子目录 jpg-1-0/00000000.jpg)_
问题5(foremost 与 scalpel 对比):_两者均基于文件头/尾签名(magic bytes)进行文件雕刻,原理相同——扫描磁盘原始数据中的十六进制特征码,不依赖文件系统元数据。foremost 优势:Kali 预装、开箱即用,默认配置覆盖常见文件类型,适合快速应急响应;scalpel 优势:雕刻算法更高效,可精细控制最小文件大小和签名匹配严格度,配置文件集中管理所有类型规则,适合大规模批量恢复。本次实验中两者恢复效果相同(各恢复 1 个 jpg,均无法恢复假 PDF)。_
---
## 五、Rootkit 检测:chkrootkit
### 5.1 安装与配置记录
- chkrootkit 版本:_0.58b_
- 安装方式:_apt 安装_
- 检测项目总数(`-l` 列出数量):_69_
### 5.2 分析结果
- `-x` 专家模式是否比普通模式输出更多细节:_是,`-x` 专家模式对每个检测项输出详细的检查步骤和中间结果(如搜索路径、匹配模式、比对命令返回值等),而普通模式仅输出最终结论(not infected / not found / WARNING)。_
- 扫描结果中是否发现可疑 rootkit:_否,未发现已知 rootkit。但出现两处 WARNING:①可疑文件/目录——均来自 Debian 软件包(如 hashcat/.gitkeep、python3-numpy/.f2py_f2cmap 等),属于误报;②sniffer 检测——eth0 和 eth1 上发现 NetworkManager 的 PACKET SNIFFER socket(PID 1034),属正常网络管理服务行为,非恶意嗅探器。_
问题6:_chkrootkit 通过一系列 shell 脚本和 C 程序检测已知 rootkit 的特征签名,包括:检查关键系统目录中是否存在已知 rootkit 的文件名;比对 `ps`、`ls`、`find`、`netstat` 等系统命令的输出是否包含异常字符串(某些 rootkit 会修改这些命令以隐藏自身);检查 `/proc` 文件系统中的异常条目;扫描网络接口是否处于混杂模式等。但由于 chkrootkit 本身依赖系统的 `ls`、`ps`、`grep` 等基础命令来执行检测,如果攻击者已经替换了这些命令(植入木马版本),这些被篡改的命令会向 chkrootkit 返回虚假信息,导致扫描结果完全不可信。因此,在取证场景中,建议从可信介质(如 Kali Live CD)启动后再运行 chkrootkit,或者使用静态编译的独立版本。_
---
## 六、综合结论
(300–500 字,结合五个子任务,描述攻击场景、分析思路及多维度取证的价值)
_本实验通过五个子任务实现了磁盘取证、Rootkit 检测与内存取证的交叉验证,形成了一条完整的数字取证分析链。_
_在 Task 1 中,使用 Kali 预装的 foremost 和 dcfldd 完成了 FAT32 镜像的文件雕刻恢复与完整性校验。foremost 成功从 usb.img 中恢复出已删除的 test.jpg,验证了基于文件头/尾签名的雕刻原理在数据恢复中的有效性;dcfldd 演示了如何通过 SHA-256 哈希建立证据完整性证明链——原始镜像与篡改后镜像哈希值不同,说明单字节修改即可被检测到,这在实际取证中至关重要。_
_在 Task 2 中,安装了 Volatility 3 并成功分析 Windows Server 2003 内存镜像。提取到操作系统版本(NT 5.2 Build 3790)、进程列表等关键信息,发现 DumpIt.exe 进程(镜像导出工具),证明了内存取证可以在不启动目标系统的情况下,还原其运行时状态。同时暴露了 Volatility 3 对老旧 Windows 的兼容性局限(网络/注册表插件不支持),得出针对 NT 5.x 系列应结合 Volatility 2 的实践结论。_
_在 Task 3 中,安装并配置 scalpel 1.60,通过编辑 /etc/scalpel/scalpel.conf 启用 jpg/pdf 签名规则,从同一 usb.img 中恢复出 1 个 jpg 文件,假 PDF 未能恢复。与 foremost 对比发现两者原理相同、结果一致,差异主要体现在配置方式和使用便利性上。_
_在 Task 4 中,安装并运行 chkrootkit,通过直接执行、`-l` 列出全部检测项、`-x` 专家模式三种方式对系统进行全面 Rootkit 扫描,验证了 Rootkit 检测工具的可用性,同时也揭示了其"依赖系统命令"的局限性——若系统已被入侵,chkrootkit 结果不可信,应从可信介质启动后运行。_
_五个任务共同说明:磁盘取证、Rootkit 检测与内存取证是互补的——前者回答"曾存储过什么",中者回答"系统是否已被植入后门",后者回答"正在运行什么"。在真实攻击场景中,攻击者可能删除恶意文件(磁盘取证可恢复)、植入 rootkit 隐藏行踪(chkrootkit 可检测),但无法清除内存中的进程痕迹(内存取证可捕获)。多维度取证能最大程度还原攻击全貌,提高证据链的完整性和说服力。_
---
## 八、附录(关键截图/命令输出)
(可粘贴终端截图或关键命令文本)
九、评分参考
| 维度 | 分值 | 细则 |
|---|---|---|
| 实验环境搭建 | 10% | Kali安装正确,额外工具安装成功,镜像/数据获取完整 |
| Kali 内置工具(foremost/dcfldd) | 25% | 镜像制作、foremost文件雕刻恢复、dcfldd哈希校验与完整性验证 |
| 内存取证(Volatility 3) | 20% | 正确安装、加载镜像、提取进程/网络/历史命令并推理 |
| 文件雕刻取证(scalpel) | 15% | 正确安装、配置签名文件、雕刻恢复文件、与foremost对比分析 |
| Rootkit 检测(chkrootkit) | 15% | 正确安装、执行基本扫描、-l 列出检测项、-x 专家模式分析 |
| 实验报告填写 | 15% | 报告完整、结论有逻辑、截图清晰 |
安全提醒:所有分析操作务必在只读挂载或镜像副本上进行。内存镜像若从网络下载,应在隔离的虚拟机实验环境中打开。


浙公网安备 33010602011771号