Alon101/postmortem-forensics-tool

GitHub: Alon101/postmortem-forensics-tool

一款基于 Bash 的自动化取证分诊脚本,通过一条命令对磁盘映像或内存捕获文件运行完整的提取、分析与报告 pipeline。

Stars: 0 | Forks: 0

# Postmortem — 取证分析工具 **单元:** NX212 · **作者:** Alon Agronov (s16) · **讲师:** Natalie Erez ## 功能简介 Postmortem 接收单个磁盘映像或内存捕获文件,并自动在其上运行完整的分诊 pipeline。唯一需要人工输入的是文件名——之后的所有操作(工具安装、文件提取、字符串提取、内存分析、报告生成和打包)均自动无人值守运行。 原本需要耗费一小时的繁琐且易错的手动工具操作,现在只需一条命令即可完成: ``` sudo ./postmortem.sh ``` ## Pipeline 该脚本分为四个阶段进行: **1. 设置案件** — 验证 root 权限,确认证据文件存在,检查所有必需的工具是否已安装(如缺失则自动安装),并创建带有时间戳的输出目录,以确保各次运行互不冲突。 **2. 恢复隐藏数据** — 四个提取工具分别负责寻找不同的内容: - **Foremost** — 基于签名的文件提取 - **Binwalk** — 签名扫描 + 递归提取内嵌文件 - **Bulk Extractor** — 电子邮件、URL、网络捕获文件及其他特征 - **Strings** — 可读文本,过滤出凭证、token 和可执行文件引用 **3. 查看运行状态** *(仅适用于内存映像)* — 如果证据是有效的内存捕获文件,Volatility 3 将重建捕获时机器的状态:正在运行的进程、网络连接和注册表配置单元 (registry hives)。如果该文件不是内存映像,则自动跳过此阶段。 **4. 报告与打包** — 统计所有数据,编写结构化报告(包含发现、计数、运行时间),并将整个结果目录打包成一个 ZIP 归档文件。 ## 环境要求 - Linux(在 Kali 上开发并测试) - root 权限 (`sudo`) - 若缺失则自动安装:`foremost`、`binwalk`、`bulk-extractor`、`binutils` - **Volatility 3** — 可选;若未安装,将平滑跳过内存分析。可通过 `pipx install volatility3` 安装。 ## 用法 ``` # 带有文件名 sudo ./postmortem.sh evidence.raw # 或者直接运行,它会进行提示 sudo ./postmortem.sh ``` ### 输出 结果将写入带有时间戳的目录 `results__/` 中: ``` results_.../ ├── foremost/ # carved files ├── binwalk/ # extracted files + signature scan ├── bulk_extractor/ # feature files, network captures ├── strings/ # full dump + per-keyword hit files ├── volatility/ # memory analysis output ├── logs/ # per-tool diagnostic logs └── report/report.txt # summary report ``` ...并且整个目录会被打包成同名的 ZIP 文件放置在其旁边。 ## 备注与限制 - **仅支持 Volatility 3。** 刻意选择其而非 Volatility 2,因为后者需要手动进行 profile 检测,并且(在现代系统上)安装 Python 2 非常困难。权衡之处在于:部分 plugin 在旧版 OS 映像上不受支持——但程序会平滑处理而非报错崩溃。 - 内存分析**专注于 Windows 系统**。 - 这是一个**分诊**工具。其关键词匹配结果和提取出的文件仅作为深入人工检查的线索,而非最终结论。 *作为 NX212 单元的一部分开发。*
标签:HTTP工具, PB级数据处理, SecList, 内存取证, 安全运维, 库, 应急响应, 应用安全, 数字取证, 磁盘取证, 网络安全审计, 自动化分析, 自动化脚本, 跨站脚本