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)、发现和横向移动指标。 ## 截图 image ## 许可证 MIT — 见 [LICENSE](LICENSE) *ZavetSec — 为实战 DFIR 构建,而非演示。*
标签:AI合规, DAST, HTTPS请求, IPv6, Libemu, Mr. Robot, OpenCanary, PB级数据处理, PowerShell, Prefetch分析, SecList, TGT, Triage, Windows取证, Windows 调试器, 事件日志分析, 内存取证, 取证自动化, 后渗透, 多人体追踪, 安全运维, 库, 应急响应, 恶意软件分析, 持久化检测, 攻击痕迹收集, 攻防演练, 数字取证, 数据包嗅探, 无依赖, 日志收集, 注册表取证, 浏览器历史分析, 现场取证, 红队检测, 网络安全审计, 自动化脚本