mcpField
D
disk-forensics

disk-forensics

github.com/briiirussell安全478370 次安装1 天前更新
代码仓库

关于 disk-forensics

disk-forensics 是用于分析磁盘镜像和文件系统的数字取证技能,指导授权调查人员恢复证据、检查痕迹并构建时间线,同时强调完整性校验、只读操作和过程记录。

主要功能

  1. 01识别镜像格式并验证完整性
  2. 02检查分区和文件系统
  3. 03恢复已删除文件及雕刻数据
  4. 04检查系统痕迹和元数据
  5. 05构建并记录事件时间线

适用场景

  1. 01分析事件响应中采集的镜像
  2. 02从磁盘镜像恢复已删除文件
  3. 03检查调查中的系统痕迹
  4. 04根据文件和日志事件构建时间线

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/briiirussell/cybersecurity-skills --skill disk-forensics

安装后在 Claude Code 中输入/disk-forensics确认已加载。

详细介绍

磁盘取证 — 数字证据分析

分析磁盘映像和文件系统,以恢复证据、重建时间线并识别取证痕迹。

交叉参考:incident-triage,了解上游遏制阶段如何捕获本技能要分析的映像——该技能制作逐位副本;本技能负责分析副本。breach-patterns,了解如何将取证发现转化为预防性控制措施,避免相同根本原因再次发生。

授权检查

分析任何映像之前,请确认:

  1. 合法依据 — 用户已获准进行此项分析(范围明确并有记录的内部调查、法院命令的工作、已签署的事件响应委托、用户自己的系统、CTF/实验环境)
  2. 证据保管链得到维护 — 映像及其哈希值的采集方式经得起证据审查,或者工作范围明确不涉及证据用途(CTF、以证据保管链为目标之外的内部分诊)
  3. 隐私范围 — 分析仅限于授权范围;不提取、分析或报告范围以外的个人数据

如果合法依据不明确,请先询问。切勿分析无法确认用户有权持有的映像。

证据处理原则

  • 始终使用副本,绝不使用原件
  • 分析前通过哈希比对验证映像完整性
  • 所有内容均以只读方式挂载
  • 记录每条命令和每项发现
  • 保留时间戳——绝不修改源证据

方法

第 1 步:映像识别与完整性验证

识别映像格式并验证完整性:

file <image>                    # Identify format (E01, dd/raw, VMDK, VHD)
sha256sum <image>               # Compare to provided hash

对于 E01 映像,使用 ewfinfo 提取元数据。

第 2 步:分区布局

检查分区结构:

fdisk -l <image>                # Partition table
mmls <image>                    # Sleuth Kit partition layout

计算挂载偏移量:sector_start × sector_size

第 3 步:挂载并检查

以只读方式挂载并检查文件系统:

mount -o ro,loop,offset=<bytes> <image> /mnt/evidence
ls -laR /mnt/evidence

对于加密卷,请识别加密类型并索取密钥/密码短语。

第 4 步:文件系统分析(Sleuth Kit)
fsstat -o <offset> <image>              # File system details
fls -r -o <offset> <image>             # Full file listing (deleted files marked with *)
icat -o <offset> <image> <inode>       # Extract specific file by inode
第 5 步:证据痕迹恢复

已删除文件: 使用 fls 查找(以 * 标记的文件),并使用 icat 按 inode 提取。

文件雕刻: 在未分配空间上运行 foremost 或 scalpel,根据文件头特征恢复文件。

隐藏数据:

  • NTFS 备用数据流
  • HFS+ 资源分支
  • 检查图像文件中是否存在隐写内容:exiftool、binwalk、steghide

系统痕迹:

  • 浏览器历史记录:~/.mozilla、~/Library/Safari、AppData\Local\Google
  • 系统日志:/var/log/*、Windows 事件日志
  • 注册表配置单元(Windows):SAM、SYSTEM、SOFTWARE、NTUSER.DAT
  • 最近访问的文件、USB 设备历史记录、预读取文件
第 6 步:元数据和时间戳
exiftool <file>                 # EXIF, XMP, IPTC metadata
stat <file>                     # MAC times (Modified, Accessed, Changed)

对于 NTFS:检查 $MFT 时间戳和 $UsnJrnl 中的更改日志条目。

使用 mactime(Sleuth Kit)根据 body 文件生成统一时间线。

第 7 步:关键词搜索
strings <image> | grep -i <keyword>    # Raw string search across image

使用 bulk_extractor 自动提取电子邮件、URL、信用卡号和其他结构化数据。

第 8 步:构建时间线

将所有时间戳汇总到统一时间线中。将文件事件与日志条目交叉对照。标记异常:

  • 时间戳早于操作系统安装日期
  • 日期在未来的文件
  • 原本连续的日志序列中出现间断
  • 时间戳与时区设置不一致

输出格式

# Forensic Analysis Report
## Case: [identifier]
## Image: [filename] — SHA256: [hash]
## Date of Analysis: [date]

### Image Integrity
- Hash verified: [yes/no]
- Algorithm: [SHA256]

### Partition Layout
| # | Type | Start | Size | File System |
|---|------|-------|------|-------------|

### Key Findings
#### Finding 1: [Title]
- **Evidence:** [file path or artifact]
- **Content:** [description]
- **Timestamp:** [UTC]
- **Significance:** [why this matters]

### Recovered Files
| File | Source | Recovery Method | SHA256 | Significance |
|------|--------|-----------------|--------|-------------|

### Timeline
| Timestamp (UTC) | Event | Source | Notes |
|-----------------|-------|--------|-------|

### Conclusions
[Summary of findings and their implications]

边界

  • 仅处理提供的映像和文件
  • 始终保持只读访问
  • 对真实调查记录证据保管链
  • 对于 CTF 挑战,重点寻找 flag 并解决挑战
  • 绝不修改证据或建议篡改证据
  • 拒绝涉及未经授权访问设备的请求

参考资料

  • NIST SP 800-86:整合取证技术指南
  • The Sleuth Kit 文档
  • SANS 数字取证速查表

评论

支持 Markdown