mahmoudbahnsey/Memory-Forensics-Analyzer
GitHub: mahmoudbahnsey/Memory-Forensics-Analyzer
基于 Volatility3 和 YARA 的自动化内存取证与事件响应平台,提供进程注入分析、网络连接恢复、凭据检测及结构化报告导出等 SOC 级 DFIR 能力。
Stars: 0 | Forks: 0
# 项目:内存取证与易失性数据分析
本项目提供了一套实用的内存取证工作流,用于分析内存转储,使用了以下工具:
- Volatility3:用于提取进程/网络/内存特征
- YARA:用于恶意软件签名检测
- Python:用于逻辑串联和自定义检测
- PyQt5:用于交互式 GUI 分析
## 功能
1. **内存转储解析器 (Windows/Linux/Mac)**
- 从内存特征中自动检测可能的 OS profile。
- 允许在 CLI 或 GUI 中手动覆盖(`windows`、`linux`、`mac`)。
- 使用特定于 OS 的 Volatility 插件,并带有回退机制。
2. **进程提取与注入分析**
- 通过 `pslist` 进行进程列表提取,并带有回退机制。
- 通过 `malfind` 获取注入指标(RWX 内存、VAD/注入/shellcode 提示)。
- 将类表格输出解析为结构化的进程记录。
3. **网络套接字恢复**
- 通过 `netscan` / `netstat` 插件族提取连接。
- 返回可能的套接字信息行(TCP/UDP/endpoints)。
- 将类表格输出解析为结构化的连接记录。
4. **加密密钥与凭据检测**
- 检测可能的 AES 密钥、密码、token、私钥头。
- 如果插件失败,则回退到直接从内存转储中提取可打印字符串。
5. **YARA 签名扫描**
- 编译 `rules.yar` 并扫描内存转储。
- 返回清理后的匹配规则名称列表。
6. **结构化报告导出**
- 将完整分析结果导出为 JSON 和 TXT。
- 包含元数据、解析记录、发现结果以及 YARA 结果。
## 项目文件
- `main.py`:CLI/GUI 入口
- `ui.py`:PyQt5 界面
- `volatility_runner.py`:Volatility 执行与插件回退助手
- `process_analysis.py`:进程与注入分析
- `network_analysis.py`:网络分析
- `secrets_analysis.py`:密钥/凭据检测
- `yara_scan.py`:YARA 扫描助手
- `os_profile.py`:自动 OS profile 检测
- `parsers.py`:Volatility 文本到记录的解析助手
- `report_export.py`:JSON/TXT 报告生成
- `rules.yar`:初始 YARA 规则
- `TEST_WORKFLOW.md`:演示与验证清单
## 安装
```
python -m pip install -r requirements.txt
```
此外,请确保 Volatility3 CLI 在 PATH 中以 `vol` 可用。
## 运行
### GUI(默认)
```
python main.py
```
出现提示时选择 `gui`。
### CLI
```
python main.py
```
选择 `cli`,然后提供:
- 内存转储路径
- 目标 OS profile(或接受自动检测的默认值)
- 确认导出报告文件
## 注意事项
- 仅使用合法获取的内存转储。
- 根据插件和系统资源的情况,大型转储可能需要一些时间。
- 若用于评分/演示,请遵循 `TEST_WORKFLOW.md`。
## 需求覆盖证据
1. **内存转储解析器 (Windows/Linux/Mac)**
- OS profiling 与解析器流程:`os_profile.py`、`volatility_runner.py`
- 报告证据字段:`os_profile`、`memory_file`
2. **进程提取与分析 (线程、DLL、code caves)**
- 进程与注入模块:`process_analysis.py`
- 使用的插件:`pslist/psscan`、`pstree`、`threads`、`dlllist`(或最接近的平台回退插件)、`malfind`
- 报告证据字段:`process_records`、`process_tree_records`、`thread_records`、`dll_records`、`suspicious_injection`
3. **网络套接字恢复与连接追踪**
- 网络模块:`network_analysis.py`
- 使用的插件:`netscan` / `netstat` 系列
- 报告证据字段:`connection_records`
4. **加密密钥与凭据检测**
- 检测模块:`secrets_analysis.py`
- 报告证据字段:`secrets_findings`
5. **已知恶意软件的 YARA 签名扫描**
- YARA 模块:`yara_scan.py`,规则文件:`rules.yar`
- 报告证据字段:`yara_matches`
标签:IP 地址批量处理, Python, SecList, Volatility3, YARA, 云资产可视化, 内存取证, 安全, 库, 应急响应, 无后门, 超时处理, 逆向工具