Kuyenda18/volatility3-registry-memory-analysis

GitHub: Kuyenda18/volatility3-registry-memory-analysis

自定义 Volatility3 插件,用于从 Windows 内存镜像中提取注册表持久化键值并进行基线差异比对,加速 DFIR 内存取证排查流程。

Stars: 0 | Forks: 0

# Volatility3 注册表内存分析 本项目包含一个自定义的 Volatility3 插件,用于从内存镜像中进行 Windows 注册表分类排查。该插件 `windows.registry.fullinfo` 会枚举注册表配置单元(hives),提取选定的与持久化相关的键值,并支持基线/差异比对,以突出显示不同内存快照之间的注册表更改。 本项目旨在作为 Blue Team、SOC 和 DFIR 实习的作品集项目。它不声称具备生产环境部署或真实的企业事件响应经验。 ## 功能简介 `windows.registry.fullinfo` 可帮助分析师快速查看在内存取证分类排查中通常相关的 Windows 注册表工件: 1. 枚举在 Windows 内存镜像中发现的注册表配置单元。 2. 对 `SYSTEM`、`SOFTWARE`、`NTUSER` 和 `USRCLASS` 等配置单元进行分类。 3. 提取选定的自启动(autorun)和与持久化相关的注册表值。 4. 重点关注与 MITRE ATT&CK `T1547.001` 相关的位置以及附近的注册表持久化审查点。 5. 从干净的内存快照中创建基线 JSON 文件。 6. 将后续快照与该基线进行比对,并报告 `NEW`(新增)、`CHANGED`(更改)和 `DELETED`(删除)的值。 ## 安全应用场景 本项目涉及: - 基于 RAM 的 Windows 注册表分析。 - DFIR 内存取证分类排查。 - 持久化机制追踪。 - 干净快照与被修改快照之间的基线比对。 - 更快地审查注册表工件,否则这些工件需要重复执行 `printkey` 查询。 ## 技术栈 - Python 3 - Volatility3 插件框架 - Windows 内存镜像 - 内存中的 Windows 注册表配置单元 - JSON 基线与差异输出 - MITRE ATT&CK `T1547.001` ## 仓库结构 ``` . |-- README.md |-- requirements.txt |-- .gitignore |-- docs/ | |-- design.md | |-- security-review.md | `-- usage.md |-- sample-data/ | |-- baseline-clean.sample.json | `-- diff-findings.sample.json `-- volatility3/ `-- plugins/ `-- windows/ `-- registry/ `-- fullinfo.py ``` ## 插件范围 该插件审查以下注册表区域: - `HKCU\Software\Microsoft\Windows\CurrentVersion\Run` - `HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce` - `HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run` - `HKLM\Software\Microsoft\Windows\CurrentVersion\Run` - `HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce` - `HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx` - `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon` - `Image File Execution Options` 可疑值 - `SYSTEM\ControlSet*\Control\Session Manager\BootExecute` - 选定的 Shell/上下文菜单命令位置 ## 使用说明 将该插件复制到 Volatility3 的检出目录中: ``` cp volatility3/plugins/windows/registry/fullinfo.py /path/to/volatility3/volatility3/plugins/windows/registry/fullinfo.py ``` 运行默认的分类排查: ``` python3 vol.py -f memory.dmp windows.registry.fullinfo ``` 创建干净基线: ``` python3 vol.py -f clean-memory.dmp -o output windows.registry.fullinfo --baseline-out baseline-clean.json ``` 将被修改的快照与基线进行比对: ``` python3 vol.py -f modified-memory.dmp windows.registry.fullinfo --baseline output/baseline-clean.json --diff ``` 可选的 HiveScan 模式: ``` python3 vol.py -f memory.dmp windows.registry.fullinfo --scan ``` 更多详细信息请参见 `docs/usage.md`。 ## 示例数据 原始内存样本在此工作区中已不再可用。因此,仓库包含了经过脱敏处理的演示性 JSON 文件: - `sample-data/baseline-clean.sample.json` - `sample-data/diff-findings.sample.json` 样本结果基于报告中描述的验证场景: - `HKCU Run\Atomic Red Team` - `HKLM Policies Explorer\Run\atomictest` - 数值数据,例如 `calc.exe` 这些样本仅作文档演示之用,并非真实的事件数据。 ## 注意事项与局限性 - 该插件基于规则,仅关注选定的注册表持久化位置。 - 结果取决于在获取快照时内存中存在哪些配置单元以及键/值单元格。 - 它不会从事务日志中恢复已删除的历史注册表值。 - 验证过程主要针对 Windows 10 风格的内存快照和 Atomic Red Team 持久化测试而设计。 ## GitHub 安全性 原始报告的 PDF 和提取的文本包含个人学术信息,因此未包含在可公开的仓库中。在此工作区中未发现任何 API 密钥、凭据、日志、数据库或内存转储。评审说明请参见 `docs/security-review.md`。
标签:Homebrew安装, Python, SecList, Volatility3插件, Windows注册表, 内存取证, 数字取证, 无后门, 自动化脚本