| name | analyzing-disk-image-with-autopsy |
| description | 使用 Autopsy 对磁盘镜像进行全面取证分析,恢复文件、检查痕迹并构建调查时间线。 |
| domain | cybersecurity |
| subdomain | digital-forensics |
| tags | ["forensics","autopsy","disk-analysis","sleuth-kit","file-recovery","artifact-analysis"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
使用 Autopsy 分析磁盘镜像
适用场景
- 当您有取证磁盘镜像并需要对其内容进行结构化分析时
- 调查需要文件恢复、关键词搜索和时间线分析时
- 当非技术利益相关方需要从取证证据中获取可视化报告时
- 检查文件系统元数据、已删除文件和嵌入的痕迹时
- 从多个磁盘镜像构建全面案件时
前置条件
- 已安装 Autopsy 4.x(Windows)或带 The Sleuth Kit 的 Autopsy 4.x(Linux)
- raw(dd)、E01(EnCase)或 AFF 格式的取证磁盘镜像
- 最低 8GB RAM(大型镜像建议 16GB)
- Autopsy 所需的 Java 运行时环境(JRE)8+
- 足够的磁盘空间用于 Autopsy 案件数据库(镜像大小的 2-3 倍)
- 用于文件识别的哈希数据库(NSRL、已知恶意哈希)
工作流程
步骤 1:安装 Autopsy 并配置环境
sudo apt-get install autopsy sleuthkit
wget https://github.com/sleuthkit/autopsy/releases/download/autopsy-4.21.0/autopsy-4.21.0.zip
unzip autopsy-4.21.0.zip -d /opt/autopsy
/opt/autopsy/bin/autopsy --nosplash
sudo apt-get install sleuthkit
步骤 2:创建新案件并添加磁盘镜像
1. 启动 Autopsy > "New Case"(新建案件)
2. 输入案件名称: "CASE-2024-001-Workstation"
3. 设置基本目录: /cases/case-2024-001/autopsy/
4. 输入案件编号、检验员姓名
5. 点击 "Add Data Source"(添加数据源)
6. 选择 "Disk Image or VM File"(磁盘镜像或虚拟机文件)
7. 浏览至: /cases/case-2024-001/images/evidence.dd
8. 选择原始系统的时区
9. 配置摄取模块(见步骤 3)
img_stat /cases/case-2024-001/images/evidence.dd
mmls /cases/case-2024-001/images/evidence.dd
fls -o 2048 /cases/case-2024-001/images/evidence.dd
步骤 3:配置并运行摄取模块
启用以下 Autopsy 摄取模块:
- Recent Activity(最近活动): 提取浏览器历史、下载记录、Cookie、书签
- Hash Lookup(哈希查找): 对照 NSRL 和已知恶意哈希集比对文件
- File Type Identification(文件类型识别): 通过特征而非扩展名识别文件
- Keyword Search(关键词搜索): 对内容建立全文搜索索引
- Email Parser(邮件解析器): 从 PST、MBOX、EML 文件中提取邮件
- Extension Mismatch Detector(扩展名不匹配检测器): 查找扩展名错误的文件
- Exif Parser(Exif 解析器): 从图像中提取元数据(GPS、相机、时间戳)
- Encryption Detection(加密检测): 识别加密文件和容器
- Interesting Files Identifier(有趣文件识别器): 标记匹配自定义规则集的文件
- Embedded File Extractor(嵌入文件提取器): 从 ZIP、Office 文档、PDF 中提取文件
- Picture Analyzer(图片分析器): 使用 PhotoDNA 或哈希匹配分类图像
- Data Source Integrity(数据源完整性): 在摄取期间验证镜像哈希
wget https://s3.amazonaws.com/rds.nsrl.nist.gov/RDS/current/rds_modernm.zip
unzip rds_modernm.zip -d /opt/autopsy/hashsets/
步骤 4:分析文件系统并恢复已删除文件
fls -rd -o 2048 /cases/case-2024-001/images/evidence.dd
icat -o 2048 /cases/case-2024-001/images/evidence.dd 14523 > /cases/case-2024-001/recovered/deleted_document.docx
tsk_recover -o 2048 -d /Users/suspect/Documents \
/cases/case-2024-001/images/evidence.dd \
/cases/case-2024-001/recovered/documents/
istat -o 2048 /cases/case-2024-001/images/evidence.dd 14523
步骤 5:执行关键词搜索并标记证据
在 Autopsy 中:
1. 关键词搜索面板 > "Ad Hoc Keyword Search"(即席关键词搜索)
2. 搜索词: 信用卡模式、SSN 正则表达式、电子邮件地址
3. 信用卡正则示例: \b(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14})\b
4. SSN 正则示例: \b\d{3}-\d{2}-\d{4}\b
5. 查看结果 > 右键点击条目 > "Add Tag"(添加标签)
6. 创建标签: "Evidence-Critical"、"Evidence-Supporting"、"Requires-Review"
7. 为已标记条目添加注释,记录相关性
srch_strings -a -o 2048 /cases/case-2024-001/images/evidence.dd | \
grep -iE '(password|secret|confidential)' > /cases/case-2024-001/keyword_hits.txt
sigfind -o 2048 /cases/case-2024-001/images/evidence.dd 25504446
步骤 6:构建时间线并生成报告
在 Autopsy 中:
1. 时间线查看器: 工具 > 时间线
2. 选择关注的日期范围(事件窗口)
3. 按事件类型过滤: 文件创建、修改、访问、网络活动
4. 放大可疑时间段
5. 将时间线事件导出为 CSV 用于外部分析
生成报告:
1. 生成报告 > HTML 报告
2. 选择要包含的已标记条目和数据源
3. 配置报告章节: 文件列表、关键词命中、时间线
4. 导出到 /cases/case-2024-001/reports/
fls -r -m "/" -o 2048 /cases/case-2024-001/images/evidence.dd > /cases/case-2024-001/bodyfile.txt
mactime -b /cases/case-2024-001/bodyfile.txt -d > /cases/case-2024-001/timeline.csv
mactime -b /cases/case-2024-001/bodyfile.txt \
-d 2024-01-15..2024-01-20 > /cases/case-2024-001/incident_timeline.csv
核心概念
| 概念 | 定义 |
|---|
| 摄取模块(Ingest Modules) | 在导入时自动处理数据源的分析插件 |
| MFT(主文件表) | 记录所有文件条目和属性的 NTFS 元数据结构 |
| 文件雕刻(File carving) | 使用文件特征从未分配空间恢复文件 |
| 哈希过滤(Hash filtering) | 使用 NSRL 或自定义哈希集排除已知良性文件或标记已知恶意文件 |
| 时间线分析(Timeline analysis) | 按时间顺序重建文件系统和用户活动事件 |
| 已删除文件恢复(Deleted file recovery) | 恢复目录条目已删除但数据仍存在的文件 |
| 关键词索引(Keyword indexing) | 从所有文件内容(包括松弛空间)建立的全文搜索索引 |
| 痕迹提取(Artifact extraction) | 自动解析浏览器、邮件、注册表和操作系统特定痕迹 |
工具与系统
| 工具 | 用途 |
|---|
| Autopsy | 用于磁盘镜像分析的开源 GUI 取证平台 |
| The Sleuth Kit (TSK) | Autopsy 底层的命令行取证工具包 |
| fls | 列出磁盘镜像中的文件和目录,包括已删除条目 |
| icat | 通过 inode 编号从磁盘镜像中提取文件内容 |
| mactime | 从 TSK bodyfile 格式生成时间线 |
| mmls | 显示磁盘镜像的分区布局 |
| NSRL | 用于识别已知软件文件的 NIST 哈希数据库 |
| sigfind | 在扇区级别搜索文件特征 |
常见场景
场景:员工数据窃取调查
导入员工工作站镜像,运行所有摄取模块,搜索公司机密文件名和关键词,检查最近活动中的 USB 连接痕迹,查找云存储客户端痕迹,审查已删除文件中的数据暂存证据,为法律团队生成 HTML 报告。
场景:恶意软件感染取证
添加受损系统镜像,启用扩展名不匹配和加密检测模块,检查预取目录中的执行证据,搜索已知恶意软件哈希,围绕感染窗口构建时间线,提取可疑可执行文件在沙箱中进一步分析。
场景:知识产权纠纷
将多个员工磁盘镜像作为单个案件的独立数据源导入,对专有术语和项目名称执行关键词搜索,比较各来源之间的文件哈希,构建显示文件访问和传输模式的时间线,导出证据供法律审查。
输出格式
Autopsy 案件分析摘要:
案件: CASE-2024-001-Workstation
镜像: evidence.dd (500GB NTFS)
分区: 2 个(系统保留 + 主分区)
总文件数: 245,832
已删除文件: 12,456 个(可恢复: 8,234 个)
摄取结果:
哈希匹配(已知恶意): 3 个文件
扩展名不匹配: 17 个文件
关键词命中: 234 次,分布于 45 个文件
加密文件: 检测到 5 个容器
提取的 EXIF 数据: 1,245 张带元数据的图像
已标记证据:
关键: 12 条
支撑: 34 条
待审: 67 条
时间线事件: 1,234,567 条(过滤到事件窗口后: 892 条)
报告: /cases/case-2024-001/reports/autopsy_report.html