wertheimuri/the-analyzer
GitHub: wertheimuri/the-analyzer
该工具将 HDD 和内存取证分析的全流程自动化,通过整合多个开源取证工具实现从证据分流到报告打包的一站式调查。
Stars: 0 | Forks: 0
# ANALYZER v1.0
### 用于 HDD 和内存分析的数字取证流水线
## 概述
THE ANALYZER 是一个自动化的端到端数字取证流水线,专为“分流到打包”(Triage-to-Package)的证据分析而设计。它消除了手动配置工具的繁琐,减少了人为错误,并确保在所有分析阶段保持取证完整性。
给定内存转储或 HDD 镜像,THE ANALYZER 会运行完整的调查流程——从表面分流到深度内存取证——并生成一个结构化、已打包的证据归档文件,可直接提交给首席调查员或用于法庭审查。
## 漏斗策略
```
Surface Triage → Rapidly extracting human-readable patterns (passwords, IPs, emails)
Physical Reconstruction → Carving fragmented & deleted files from raw storage
Logical Analysis → Reconstructing the "living" state of the machine via memory forensics
```
## 功能
- **自修复安装** — 如果缺失 Python 3、pip3、Volatility 3、Foremost 和 Bulk Extractor,会自动进行安装
- **MD5 完整性哈希校验** — 在分析前对源文件进行哈希计算,以保证证据未被篡改
- **自定义关键字追踪** — 将目标搜索词(用户名、恶意软件名称、域名)注入到 Strings 模块中
- **自动化预警** — 在最终报告中使用 `[ALERT]` 标签标记可疑进程和路径
- **模块化流水线** — 每个分析阶段独立运行;某一阶段的失败不会影响其他阶段
- **取证报告** — 所有发现均汇总到一个单独的 `forensic_report.txt` 文件中
- **证据打包** — 将完整的调查结果压缩成带有时间戳的 `.zip` 归档文件以便交付
## 工具与插件
| 工具 / 插件 | 作用 |
|---------------|------|
| `Strings` (自定义) | 表面分流 — 提取可读文本、密码、IP、电子邮件 |
| `Foremost` | 物理雕刻 — 基于文件头/尾从原始磁盘中重建已删除/孤立的文件 |
| `Bulk Extractor` | 特征提取 — 查找基于文件的雕刻工具遗漏的 PCAP 文件、信用卡号、电子邮件 |
| `Volatility 3` | 内存取证引擎 |
| `Vol: windows.info` | 身份检查 — 操作系统版本、架构、系统时间 |
| `Vol: pslist` | 执行审计 — 识别活动、隐藏或恶意的进程 |
| `Vol: netscan` | 网络取证 — 活动的 TCP/UDP 连接和 C2 回调 |
| `Vol: cmdline` | 意图发现 — 精确揭示用户或恶意软件执行的命令 |
| `Vol: hivelist` | 注册表映射 — 定位 SYSTEM、SAM、SOFTWARE 注册表配置单元 |
## 流水线流程
```
1. Initialization → Dependency check + auto-install + analysis folder creation
2. MD5 Hashing → Source file hashed for forensic integrity
3. Strings Triage → Extract human-readable artifacts + custom keyword search
4. Physical Carving → Foremost reconstructs deleted files from raw storage
5. Bulk Extraction → High-speed artifact identification (emails, PCAP, credit cards)
6. Memory Forensics → Volatility 3 plugins analyse memory dump
7. Reporting & Packaging → forensic_report.txt aggregated → timestamped ZIP archive
```
## 用法
```
# 以管理员权限运行
sudo bash analyzerV01.sh
```
交互式 CLI 将引导您完成以下操作:
1. **证据文件路径** — 提供您的 `.mem` 或 HDD 镜像的完整路径
2. **自定义关键字** — 输入以空格分隔的用户名、恶意软件名称或域名(或跳过)
3. 该工具会自动处理其余的所有工作
## 解读结果
所有发现都会保存在带有时间戳的分析文件夹中(例如 `file.mem_analysis_20260401_112706`):
| 产物 | 位置 | 内容 |
|----------|----------|----------|
| `forensic_report.txt` | 分析根目录 | 主报告 — MD5 哈希值、Foremost 细分、Volatility 分流、Bulk 摘要 |
| `_STRINGS/` | 分析根目录 | 自定义关键字 `.txt` 文件 + 前 30 个高亮内容 |
| `FOREMOST/` | 分析根目录 | 按类型雕刻的文件 (JPG, PDF, EXE, DLL...) |
| `BULK/` | 分析根目录 | Bulk Extractor 产物 |
| `Volatility_Data/` | 分析根目录 | 所有 Volatility 插件的输出 |
| `*.zip` | 父目录 | 准备好可交付的完整取证包 |
## 技术挑战与解决方案
| 挑战 | 解决方案 |
|-----------|---------|
| 失效的 APT 镜像阻止了安装 | 实现了 `--fix-missing` 标志以绕过无法访问的软件包镜像 |
| PEP 668 Python 环境限制 | 使用 `--break-system-packages` 标志在虚拟机中全局安装 Volatility 3 |
| 死循环 ZIP 错误(路径递归) | 子 shell 导航 (`cd $PARENT && zip`) 从目标目录外部对证据进行打包 |
## 目标环境
- **主要操作系统:** Kali Linux (滚动发布版)
- **兼容性:** 基于 Debian 的发行版 (Ubuntu, Mint),需具有 sudo 权限
- **架构:** x86_64
## ⚠️ 免责声明
此工具专为**教育目的**和**授权的取证调查**开发。请仅对您拥有或获得明确书面许可的系统及镜像进行分析。未经授权访问计算机系统是违法行为。
## 截图
### 欢迎与启动

### 文件路径输入与文件夹创建

### 系统检查与工具安装

### 安装 Volatility 3

### 运行 Strings — 交互式关键字追踪

### Volatility 内存分析结果

### Foremost 雕刻结果

### 最终取证清单与成功

### 证据包 — ZIP 归档及其内容

## 鸣谢与致谢
**机构:** John Bryce 培训中心,特拉维夫 — Cyber Magen 项目
**平台:** ThinkCyber — 学习环境与实验室基础设施
**导师:** David Schiffman — ThinkCyber 创始人 | RTX Red Team eXpert 项目
## 作者
**Uri Wertheim** — 网络安全学生 | 音频工程师
[GitHub](https://github.com/wertheimuri) · [LinkedIn](https://www.linkedin.com/in/uri-wertheim-48734027/)
标签:Bash, JARM, 内存分析, 应用安全, 数字取证, 磁盘分析, 自动化分析, 自动化脚本, 跨站脚本