Madhu-forensics/Windows-Artifacts-Investigation

GitHub: Madhu-forensics/Windows-Artifacts-Investigation

一个完整的Windows系统数字取证调查项目,展示从证据获取到取证报告生成的全流程。

Stars: 0 | Forks: 0

# Windows 痕迹调查 一个完整的、文档详尽的 Windows 磁盘与内存取证调查项目,从零开始构建,包括经过哈希验证的证据获取、痕迹分析、时间线重建,以及一份符合法庭采信标准、附带完整监管链日志的取证报告。 ## 项目介绍 本项目模拟了一次真实的 Windows 系统数字取证调查。从一个取证磁盘镜像开始,我执行了执法人员在办案中取证分析师所使用的相同工作流程: - 在任何分析之前验证了证据完整性 - 使用 Autopsy 提取了 Windows 痕迹(Prefetch、注册表、浏览器历史记录、已删除文件) - 在内存转储上运行了 Volatility3 以识别可疑进程和网络连接 - 以符合法庭采信标准的格式记录了所有发现 - 在整个过程中维护了监管链日志 旨在展示在数字取证和网络犯罪调查岗位上所需的技能。 ## 所用工具 | 工具 | 版本 | 用途 | |---|---|---| | Autopsy | 4.21 | 磁盘镜像分析与痕迹提取 | | Volatility3 | 2.7.0 | 内存转储分析 | | PowerShell | 内置 | 文件哈希计算(MD5 / SHA256) | ## 证据来源 - 镜像类型:CTF 取证磁盘镜像 (.E01) - 来源: - 镜像操作系统:Windows 10 - 内存转储:CyberDefenders.org — Blue Team Forensics 挑战赛 ## 方法步骤 ### 步骤 1 — 证据完整性(分析前哈希计算) 在打开镜像之前,我生成了 SHA256 哈希值以建立可验证的基线。 ```powershell Get-FileHash .\2020JimmyWilson.E01 -Algorithm SHA256 ``` 在开始任何分析之前,哈希值已记录在监管链日志中。 ### 步骤 2 — 在 Autopsy 中设置案例 在 Autopsy 4.21 中创建新案例,并将磁盘镜像作为数据源加载。 启用的分析模块: - 最近活动(浏览器历史记录、下载、最近打开的文件) - 哈希查找 - 文件类型识别 - 关键词搜索 - 扩展名不匹配检测器 Autopsy 大约在 12 分钟内完成了扫描。所有发现均经过审查。 ### 步骤 3 — Prefetch 文件分析 Prefetch 文件记录了 Windows 上的每一次程序执行,包括后来被删除的程序。 Autopsy 路径:`结果 → 提取内容 → 运行程序` 主要发现: | 程序 | 最后执行时间 | 运行次数 | |---|---|---| | WMIADAP.EXE | 20-02-2014 | 48 | | WMIPRVSE.EXE | 20-02-2014 | 83 | | WUAUCLT.EXE | 19-02-2014 | 22 | ### 步骤 4 — 注册表分析 Windows 注册表记录了 USB 设备历史、最近打开的文件和已安装软件——即使文件被删除后仍有记录。 Autopsy 路径:`结果 → 提取内容 → 已连接设备 / 最近文档` ### 步骤 5 — 已删除文件恢复 Autopsy 扫描未分配的磁盘空间和孤立的 MFT 条目以恢复已删除文件。 Autopsy 路径:`视图 → 已删除文件` 方法:文件雕刻 —— Autopsy 在原始磁盘空间中识别文件头和文件尾,即使没有目录条目也能重建文件。 发现:从未分配空间中恢复了三个文档。文件名和部分内容已恢复并记录在案。 ### 步骤 6 — 浏览器痕迹分析 Firefox 和 Edge 的浏览历史记录以 SQLite 数据库存储在: `AppData\Local\Google\Chrome\User Data\Default\History` Autopsy 路径:`结果 → 提取内容 → 网页历史 / 网页下载 / 网页搜索` 已记录的发现:访问的 URL、使用的搜索词、下载的文件、活动时间戳。 ### 步骤 7 — 使用 Volatility3 进行内存取证 使用 Volatility3 分析了内存转储,以识别捕获时正在运行的进程和网络连接。 使用的命令: 操作系统识别: ```bash python vol.py -f memory.raw windows.info ``` 运行中的进程: ```bash python vol.py -f memory.raw windows.pslist ``` 进程家族树: ```bash python vol.py -f memory.raw windows.pstree ``` 隐藏进程(rootkit 检测): ```bash python vol.py -f memory.raw windows.psscan ``` 活动网络连接: ```bash python vol.py -f memory.raw windows.netscan ``` ## 学习收获 - Windows Prefetch 文件如何证明程序在被删除后仍然执行过 - USBSTOR 注册表键如何记录每一个曾经连接过的 USB 设备 - 如何通过扫描 Autopsy 中未分配的磁盘空间来恢复已删除文件 - 如何通过比较 Volatility3 中的 `pslist` 和 `psscan` 来检测隐藏/ rootkit 进程 - 如何构建具有法律可采信性的取证发现报告 - 分析前后哈希计算对证据完整性的重要性 ## 作者 Madhumitha M 网络取证与信息安全硕士 —— 钦奈 M.G.R. 教育与研究学院 ## 免责声明 本项目仅使用公开可用的 CTF 挑战镜像用于教育目的。所有分析均在隔离环境中进行,未使用任何真实个人数据。
标签:AI合规, artifact分析, Autopsy, HTTPS请求, IPv6, PowerShell, SecList, Volatility3, Windows取证, Windows 调试器, 内存取证, 删除文件恢复, 哈希验证, 数字取证, 数据恢复, 时间线重建, 法庭报告, 法证工作流程, 注册表分析, 浏览器历史分析, 犯罪调查, 用户活动分析, 磁盘取证, 系统分析, 网络分析, 网络安全, 自动化脚本, 蓝队法证, 证据完整性, 进程分析, 链式保管, 隐私保护, 预取分析