prakash-js/windows-forensic-artifact-collector
GitHub: prakash-js/windows-forensic-artifact-collector
一款基于Python的Windows取证分类工具,自动化收集系统痕迹、验证数字签名并生成HTML报告,支持离线分析和威胁情报增强。
Stars: 0 | Forks: 0
# Windows 事后取证分析器
一款基于 Python 的 Windows 取证分类工具,可在疑似发生安全事件后自动收集和分析系统痕迹。
该框架收集关键的取证痕迹,执行基础增强(如哈希验证和签名验证),并生成结构化的 HTML 报告,以协助调查人员进行事后分析。
## 功能特性
- 自动化 Windows 痕迹收集
- 模块化取证扫描架构
- 为可执行文件生成 SHA-256 哈希
- 数字签名验证
- 可选的威胁情报验证
- 结构化 CSV 证据存储
- 生成用于调查的 HTML 报告
## 第三方工具 / 致谢
本项目利用了 NirSoft 开发的第三方取证工具进行痕迹收集和分析。
使用了以下 NirSoft 工具:
* WinPrefetchView – 用于分析 Windows Prefetch 文件
* USBLogView – 用于提取 USB 设备连接历史
这些工具由 Nir Sofer 开发,由于许可限制,未随本代码库一起分发。
它们将在设置过程中从 NirSoft 官方网站自动下载。
NirSoft 官方网站:
感谢 Nir Sofer 开发并维护这些取证工具。
## 收集的痕迹
该框架分析多种 Windows 取证痕迹,包括:
- 系统信息
- 实时运行的进程
- 实时网络连接
- 防火墙日志
- Prefetch 执行痕迹
- 持久化机制
- 启动文件夹条目
- 新创建的服务
- 注册表 Run 键
- USB 设备活动
- 浏览器下载痕迹
## 项目结构
```
Scanner_modules/
forensic_tools/
html_templates/
app_data/
main.py
```
- **Scanner_modules** – 负责痕迹收集的模块
- **forensic_tools** – 用于专门痕迹解析的外部工具
- **html_templates** – 用于生成 HTML 报告的模板
- **app_data** – 配置和哈希数据库存储
## 安装说明
按照以下步骤设置 Windows Forensic Artifact Collector:
克隆代码库:
`git clone https://github.com/prakash-js/windows-forensic-artifact-collector.git`
进入项目目录:
`cd windows-forensic-artifact-collector`
安装所需的 Python 依赖项:
`pip install -r requirements.txt`
运行设置脚本以下载所需的第三方取证工具:
`python setup.py`
## 使用方法
运行主程序:
```
python main.py
```
该工具将收集取证痕迹并在结构化输出目录中生成输出。
## Hybrid Analysis API 配置
该框架支持使用 **Hybrid Analysis** 进行可选的威胁情报增强。
要启用此功能:
1. 在 Hybrid Analysis 上创建一个账户。
2. 从账户仪表板生成一个 API 密钥。
3. 将 API 密钥添加到框架配置中。
配置文件示例:
```
app_data/config_file.py
```
添加您的 API 密钥:
```
api_value = "your_hybrid_analysis_api_key"
```
如果未配置 API 密钥,框架将继续以 **离线模式** 运行,不进行威胁情报增强。
## 输出结构
框架在执行期间生成以下目录:
- **Core_evidence** – 收集的原始痕迹
- **Processed_evidence** – 经过过滤和增强的证据
- **Reports** – 生成的 HTML 取证报告
- **sysinfo** – 基本系统信息
## 配置
部分框架设置可通过配置文件自定义:
`app_data/config_file.py`
## 此文件允许调查人员定义白名单 IP 地址以及用于文件分析的目录。
### 防火墙日志白名单
可以将某些 IP 地址从防火墙分析中排除,以减少来自受信任基础设施的干扰。
配置示例:
```
self.whitelisted_ips = {
"ip_address": {
'8.8.8.8',
'127.0.0.1',
'8.8.4.4',
'1.1.1.1',
'224.0.0.251',
'ff02::fb',
'::1'
}
}
```
这些 IP 地址将在防火墙日志分析中被忽略。
### 用于文件分析的目录配置
调查人员可以定义应包含在文件分析中的目录。
示例:
```
self.directory_config = {
"directories": [
"add//dir//here//",
"other//dir//"
]
}
```
框架将分析这些目录中的文件,并在适用的情况下执行哈希验证、签名验证和威胁情报检查。
## 文档
框架的完整官方文档将很快添加到此代码库中。
## 免责声明
本工具旨在用于数字取证和事件响应的教育和研究目的。
标签:DAST, DNS 反向解析, HTML报告生成, HTTPS请求, HTTP工具, Incident Response, Mr. Robot, NirSoft, _PREFETCH分析, Python, SecList, Triage, USB历史记录, Windows取证, 内存取证, 启动项分析, 哈希校验, 多模态安全, 库, 应急响应, 恶意软件分析, 数字取证, 数字签名验证, 数据包嗅探, 无后门, 注册表分析, 流量嗅探, 痕迹分析, 磁盘取证, 网络安全审计, 自动化收集, 自动化脚本, 逆向工具, 防火墙日志