zavetsec/Invoke-ZavetSecTriage
GitHub: zavetsec/Invoke-ZavetSecTriage
一款零依赖的 Windows DFIR 取证快采脚本,纯 PowerShell 实现无需外部工具,可一键采集 17 类关键取证数据并打包输出。
Stars: 1 | Forks: 0
# ZavetSec Triage
```
____ _ ____
|_ /__ ___ _____ ___ | |_ / __/__ ___
/ // _` \ V / -_) _|| _\__ \/ -_) _|
/___\__,_|\_/\___\__| |_| |___/\___\__|
EXPRESS TRIAGE v1.0 // DFIR // PowerShell 5.1
```
## 功能
从运行的 Windows 系统中收集 17 类取证数据,并将所有内容打包成单个 ZIP 文件。完全在 PowerShell 5.1 中运行,无需外部工具。
| # | 模块 | 关键数据 |
|---|--------|--------------|
| 1 | 系统基线 | OS、域、运行时间、补丁、已安装软件 |
| 2 | 运行中的进程 | SHA256 哈希、签名、父进程链、伪装检测 |
| 3 | 网络状态 | TCP/UDP 连接、DNS 缓存、ARP 表、命名管道 (C2) |
| 4 | 持久化 | Run 键、Winlogon、IFEO、LSA SSP、计划任务、服务、WMI |
| 5 | 用户账户 | 本地用户/组、活动会话、Kerberos 票据 |
| 6 | PowerShell 数据 | 历史记录(所有用户)、语言模式 |
| 7 | 事件日志 | 定向 Event ID 导出为 CSV + 原始 EVTX 导出 |
| 8 | Prefetch | 执行证据,自动标记 30+ 种攻击者工具 |
| 9 | 文件活动 | LNK 最近文件(纯 .NET 解析器,无 COM) |
| 10 | 注册表取证 | UserAssist (ROT13 解码)、MUICache、TypedURLs |
| 11 | 凭据安全 | WDigest、Credential Guard、LSA PPL 状态 |
| 12 | 配置 | Hosts 文件、防火墙规则 (入/出)、ADS 扫描 |
| 13 | 卷影副本 | VSS 枚举 —— 缺失标记为 T1490 (勒索软件 IOC) |
| 14 | 浏览器历史 | 16 种浏览器、所有用户、CSV + 原始 SQLite DB 副本 |
| 15 | BITS 作业 | 隐蔽下载检测 (T1197) |
| 16 | 剪贴板 | 文本捕获、凭据模式检测 |
| 17 | 元数据与摘要 | 高亮 CSV/JSON、文件清单、最终 ZIP |
## 使用方法
```
# 本地 - 以 Administrator 运行
.\Invoke-ZavetSecTriage.ps1
# 自定义输出目录
.\Invoke-ZavetSecTriage.ps1 -OutputDir C:\DFIR
# 通过 PsExec 远程 (静默,以 SYSTEM 运行)
psexec \\TARGET -s -d powershell.exe -NonInteractive -WindowStyle Hidden `
-ExecutionPolicy Bypass -File "\\share\Invoke-ZavetSecTriage.ps1" `
-OutputDir "\\share\output"
```
**输出:** `ZavetSec_<主机名>_<时间戳>.zip`
## 系统要求
- PowerShell 5.1+
- 本地管理员权限(推荐 —— 部分模块在没有权限时会降级)
- 无需网络连接
- 无需外部二进制文件
- `sqlite3.exe` 可选 —— 启用完整的浏览器历史解析
## 读取输出
| 格式 | 工具 |
|--------|------|
| `.csv` | Excel, LibreOffice Calc |
| `.json` | VS Code, 任意浏览器 |
| `.evtx` | Windows Event Viewer, Chainsaw, Hayabusa |
| `.db` (SQLite) | DB Browser for SQLite |
对收集的日志进行基于 Sigma 的批量分析:
```
chainsaw hunt Logs\ --sigma rules\ --mapping mapping.yml
hayabusa csv-timeline -d Logs\ -o timeline.csv
```
## 建议
### 查看 CSV 输出
为获得最佳分析体验,请使用 Eric Zimmerman (SANS / ex-FBI) 的 **Timeline Explorer**
而不是 Excel —— 它是专门为 DFIR CSV 工作流构建的。
- 快速过滤和跨大文件的多列搜索
- 颜色编码行、列固定、调查期间为行添加书签
- 处理大型 CSV (10万+行) 而不卡顿
- 包含深色模式
下载:https://www.sans.org/tools/timeline-explorer/
### 使用 EvtxECmd 解析收集的 EVTX 日志
ZavetSec Triage 将原始 `.evtx` 文件收集到 `Logs\` 文件夹中。
要将其转换为结构化的 CSV 以便分析,请使用同样由 Eric Zimmerman 开发的 **EvtxECmd**。
```
# 将所有收集的 EVTX 解析为单个 CSV
EvtxECmd.exe -d "Logs\" --csv "output\" --csvf events.csv --sync
# 解析单个文件
EvtxECmd.exe -f "Logs\Security.evtx" --csv "output\"
```
- 将二进制 EVTX 转换为具有标准化字段名的规范化 CSV
- `--sync` 自动下载最新的事件映射 (400+ 事件 ID 定义)
- 输出的 CSV 可直接在 Timeline Explorer 中打开以进行统一分析
- 支持 VSS —— 可自动解析卷影副本日志
下载:https://www.sans.org/tools/evtxecmd/
GitHub:https://github.com/EricZimmerman/evtx
### 批量 Sigma 扫描
用于跨收集的日志进行自动威胁检测:
```
chainsaw hunt Logs\ --sigma rules\ --mapping mapping.yml
hayabusa csv-timeline -d Logs\ -o timeline.csv
```
- Chainsaw: https://github.com/WithSecureLabs/chainsaw
- Hayabusa: https://github.com/Yamato-Security/hayabusa
### 浏览器 SQLite 数据库
`Forensics\Browser_\` 中的原始 `.db` 文件可以使用 **DB Browser for SQLite** 进行检查 —— 免费、跨平台、支持已删除记录恢复。
下载:https://sqlitebrowser.org
## MITRE ATT&CK 覆盖范围
脚本会自动用 ATT&CK 技术 ID 标记发现的结果。覆盖范围包括持久化 (T1053, T1547, T1546)、凭据访问 (T1552, T1003)、防御规避 (T1197, T1490)、发现和横向移动指标。
## 截图
## 许可证
MIT — 见 [LICENSE](LICENSE)
*ZavetSec — 为实战 DFIR 构建,而非演示。*
## 许可证
MIT — 见 [LICENSE](LICENSE)
*ZavetSec — 为实战 DFIR 构建,而非演示。*标签:AI合规, DAST, HTTPS请求, IPv6, Libemu, Mr. Robot, OpenCanary, PB级数据处理, PowerShell, Prefetch分析, SecList, TGT, Triage, Windows取证, Windows 调试器, 事件日志分析, 内存取证, 取证自动化, 后渗透, 多人体追踪, 安全运维, 库, 应急响应, 恶意软件分析, 持久化检测, 攻击痕迹收集, 攻防演练, 数字取证, 数据包嗅探, 无依赖, 日志收集, 注册表取证, 浏览器历史分析, 现场取证, 红队检测, 网络安全审计, 自动化脚本