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, 云资产可视化, 内存取证, 安全, 库, 应急响应, 无后门, 超时处理, 逆向工具