enablepedro/imperial-memory-forensics
GitHub: enablepedro/imperial-memory-forensics
一个使用基础命令行工具从Windows内存转储中恢复凭据以解锁加密存档的内存取证实验。
Stars: 1 | Forks: 0
# 帝国内存 — 内存取证与凭据恢复
## 概述
一项数字取证调查涉及在受损工作站上发现的两个文件:一个 Windows 内存转储文件 (`Emperor.vmem`) 和一个受密码保护的加密存档 (`gift.7z`)。目标是确定是否可以使用命令行取证工具,直接从易失性内存中恢复存档密码——无需借助传统取证软件。
## 工具与技术
| 工具 | 用途 |
|------|------|
| **strings** | 从内存转储中提取所有可读的可打印字符 |
| **grep** | 过滤并精炼字符串输出以识别凭据痕迹 |
| **7-Zip** | 针对加密存档验证恢复的密码候选 |
| **md5sum** | 生成恢复文件的加密哈希值作为最终取证输出 |
## 关键发现
| 发现 | 详情 |
|------|------|
| **内存痕迹** | `Emperor.vmem` — 包含明文凭据字符串的 Windows 内存转储 |
| **加密存档** | `gift.7z` — 需要凭据恢复的密码保护存档 |
| **技术方法** | 从 RAM 中恢复凭据 — 演示了易失性内存暴露风险 |
| **恢复的隐藏文件** | 嵌入在存档内部文档结构中的 `secret.txt` |
| **最终 IOC (MD5)** | `0f235385d25ade312a2d151a2cc43865` — `secret.txt` 的哈希值作为取证输出 |
## 方法论
1. 审查了工作站桌面上的两个证据文件:`Emperor.vmem` 和 `gift.7z`
2. 使用 `strings` 从内存转储中提取所有可读文本到工作文件:
```
strings ~/Desktop/Emperor.vmem > ~/Desktop/ramstrings.txt
```
3. 使用 `grep` 搜索可能暗示存储凭据或程序配置数据的有意义关键词和模式:
```
grep -i "remember this answer" ~/Desktop/ramstrings.txt
grep -i "keep" ~/Desktop/ramstrings.txt | head -20
grep -i "memory" ~/Desktop/ramstrings.txt | head -20
```
4. 从内存输出中识别出应用程序存储的响应字符串和内部配置代码作为密码候选
5. 使用 7-Zip 测试每个恢复的值,直到正确的密码解锁了存档
6. 发现目标文件并非直接可见——使用 7-Zip 导航存档的内部文档结构以定位隐藏的 `secret.txt`
7. 为取证文档生成恢复文件的最终 MD5 哈希值:
```
md5sum secrets.txt
# 0f235385d25ade312a2d151a2cc43865 secrets.txt
```
## 结果
成功仅使用原生命令行工具从 Windows 内存转储中恢复了存档密码。定位了嵌入在存档内部结构中的隐藏文件,并生成了经验证的 MD5 哈希值作为最终取证交付成果——展示了在内存取证、凭据恢复和 DFIR 文档记录方面的实践技能。
## 建议
- 通过安全的凭据管理实践,消除内存中的明文凭据存储
- 部署能够在易失性取证证据丢失前捕获它的 EDR 解决方案
- 限制从不受信任来源执行密码保护的存档文件
- 维护结构化的 DFIR 响应剧本,以标准化内存取证流程
## 报告
📄 https://github.com/enablepedro/imperial-memory-forensics/blob/c2579afb63ec30680579f7182ab4aae382e5fc64/Imperial%20Memory%20Report.pdf
*本人网络安全作品集的一部分 — UCF 网络安全训练营 | IronCircle IR 专家认证*
标签:7-Zip, grep过滤, MD5哈希, meg, Ruby on Rails, SecList, Windows系统, 信息安全, 内存取证, 内存泄露, 内存转储, 凭证恢复, 加密存档, 取证调查, 字符串分析, 密码提取, 工具分析, 数字取证, 数字证据, 漏洞分析, 网络安全, 自动化脚本, 路径探测, 隐私保护