ochmunkh/Tatar-scripts

GitHub: ochmunkh/Tatar-scripts

一款基于 PowerShell 的 Windows 单文件取证筛查工具,按照易失性顺序快速采集系统证据并生成带哈希校验的监管链报告。

Stars: 0 | Forks: 0

TATAR Forensic Toolkit

一个快速、单文件的 Windows 取证 / 事件响应筛查收集工具,使用 PowerShell 编写。

PowerShell 5.1+ Windows 10/11 30 modules read-only first MIT

当终端出现被入侵的迹象(访问恶意网站、运行可疑文件、无法解释的卡顿)时,你需要*快速*保留证据——而无需安装或折腾一堆独立的工具。`Tatar.ps1` 通过单次以只读优先的扫描,从 Windows 主机收集重要的易失性和非易失性数据(artifacts),并生成一份汇总报告以及用于证据监管链的 SHA-256 清单。 ## 演示 只需一条命令即可运行所有内容:

TATAR Forensic Toolkit run

每次运行都会生成一个独立且带有哈希校验的证据文件夹:

Output structure

汇总报告会在运行过程中标记出可疑活动(示例):

Sample report

## 核心亮点 - **单脚本,免安装。** 拷贝到主机(或 U 盘)上,运行即可。 - **30 个模块**,按照 **RFC 3227 易失性顺序**执行(内存 → 网络 → 进程 → … → 磁盘 / 注册表 / 日志)。 - **只读优先。** 破坏性 / 高负载操作(内存转储、注册表蜂巢保存、完整 EVTX)默认**关闭**,需通过显式开关启用。 - **监管链。** 包含每次运行的元数据、调查员 / 案件 ID,以及每个收集文件的 SHA-256 清单。 - **设计透明。** 无代码混淆,无 AMSI/AV 绕过。适合在取证主机上进行代码签名并加入白名单。 - **不提取或解密密码。** ## 环境要求 - Windows 10 / 11(Server 2016+ 也可以) - PowerShell 5.1+(支持 PowerShell 7) - 建议使用**管理员权限**(否则某些取证数据将不完整) ## 用法 ``` # 允许当前 session 运行 script Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force # 运行所有内容(single-dash 和 double-dash 均有效) .\Tatar.ps1 -All .\Tatar.ps1 --all # 列出可用 modules(不创建 collection,不创建文件夹) .\Tatar.ps1 -List # 仅运行特定 modules .\Tatar.ps1 -Modules network,process,rdp,lateral,timeline # 完整运行至外部 drive,包含 case metadata,已压缩 + 已 hashed .\Tatar.ps1 -All -OutputPath E:\Evidence -CaseId IR-2026-014 -Examiner "Enkhbat.O" -Compress ``` ### 选项 | 选项 | 描述 | |--------|-------------| | `-All` / `--all` | 运行所有模块 | | `-Modules a,b,c` | 仅运行指定的模块 | | `-List` | 列出模块并退出 | | `-Help` | 显示帮助并退出 | | `-OutputPath ` | 输出的基础目录(默认为 `C:\Forensic`;**建议使用外部驱动器**) | | `-CaseId ` | 用于监管链的案件 / 事件 ID | | `-Examiner ` | 用于监管链的调查员姓名 | | `-Compress` | 在结束时对输出进行压缩并计算 SHA-256 | | `-CollectHives` | 保存 SAM/SECURITY/SYSTEM/SOFTWARE + NTUSER(凭据材料;可能会触发 EDR) | | `-ExportEvtx` | 导出完整的 `.evtx` 日志 | | `-MemoryDump` | 通过 `tools\winpmem.exe` 获取原始内存镜像(可能会触发 EDR) | ## 模块 按照易失性从高到低的顺序: `memory` · `network` · `process` · `sessions` · `services` · `sysinfo` · `users` · `persistence` · `autoruns` · `shares` · `firewall` · `drivers` · `apps` · `prefetch` · `usb` · `pshistory` · `obfscan` · `rdp` · `lateral` · `privesc` · `browser` · `fsartifacts` · `deleted` · `shadow` · `eventlogs` · `hives` · `mft` · `indicators` · `hashes` · `timeline` 覆盖范围包括:系统/用户/网络状态,带有 LOLBAS 模式标记的运行进程、服务与驱动程序、启动项/Run键/计划任务等持久化机制、RDP 活动、横向移动痕迹(SMB 会话、映射驱动器、WMI 持久化、PsExec)、权限提升指标(未加引号的服务路径、`AlwaysInstallElevated`、令牌权限)、混淆脚本扫描、浏览器痕迹元数据(包含所有用户配置文件,不进行解密)、Recent/Amcache/Prefetch、回收站、卷影副本、关键 Windows 事件 ID、可选的注册表蜂巢及 EVTX 导出、NTFS/MFT 信息、用于 IOC 匹配的文件哈希,以及一个轻量级的超级时间线 (super-timeline) CSV。 ## MITRE ATT&CK 映射 每个收集模块都映射到了它有助于**检测 / 调查**的攻击技术。详见 [`MITRE_ATTACK.md`](MITRE_ATTACK.md)。 | 模块 / 痕迹 | ATT&CK 技术 | 战术 | |---|---|---| | `process` (LOLBAS 命令行) | T1059 · T1059.001 (PowerShell) | Execution | | `persistence` (Run 键) | T1547.001 | Persistence | | `persistence` (计划任务) | T1053.005 | Persistence | | `services` | T1543.003 | Persistence / Priv Esc | | `rdp` | T1021.001 (RDP) | Lateral Movement | | `lateral` (SMB 共享 / 会话) | T1021.002 | Lateral Movement | | `lateral` (WMI 事件订阅) | T1546.003 · T1047 | Persistence / Execution | | `lateral` (PsExec) | T1569.002 | Execution | | `hives` (SAM / SECURITY / LSASS) | T1003.002 · T1003.001 | Credential Access | | `privesc` (未加引号的服务路径) | T1574.009 | Persistence / Priv Esc | | `privesc` (AlwaysInstallElevated) | T1548 | Privilege Escalation | | `obfscan` | T1027 · T1140 | Defense Evasion | | `usb` | T1091 · T1200 | Initial Access / Exfil | | `eventlogs` (ID 1102) | T1070.001 (清除事件日志) | Defense Evasion | | `shadow` | T1490 (禁止恢复) | Impact | | `network` / `hosts` | T1071 · T1565.001 | C2 / Defense Evasion | | `browser` | T1555.003 · T1539 | Credential Access | ## 输出 ``` C:\Forensic\_\ ├─ TATAR_Report__.txt # consolidated human-readable report ├─ chain_of_custody.txt # case/examiner/times/script hash ├─ manifest_sha256.csv # SHA-256 of every collected file ├─ timeline.csv # process / prefetch / recent / installs ├─ binary_hashes.csv # SHA-256 of running/service binaries (VT/IOC) ├─ recyclebin.csv ├─ arp.txt / routes.txt / dns_cache.txt / ipconfig.txt / hosts.txt ├─ firewall_rules.txt ├─ BrowserArtifacts\ · EventLogs\ · FsArtifacts\ · RDP\ · RegistryHives\ · MFT\ └─ (optional) ..\TATAR__.zip (+ .sha256.txt) ``` ## 处理与操作注意事项 - **首选外部驱动器**(`-OutputPath E:\Evidence`)。写入系统驱动器可能会覆盖已删除文件的证据。 - 在收集过程完成之前,请**不要重启 / 关闭**主机。 - 输出内容可能包含**敏感数据**(注册表蜂巢、浏览器元数据)。请对压缩包进行加密并安全传输。 - 已知某些模块(`hives`、`memorydump`、`exportevtx`)会触发 EDR/AV。这是预期之中的——**请与您的 SOC 协调并提前将该工具加入白名单**,而不是禁用 EDR。 ### 在不绕过 AV 的情况下通过检查 该工具特意设计为**完全透明**(无混淆 / 无 AMSI 绕过)。要以正确且可审计的方式运行它而不受 AV 干扰: 1. 对脚本进行**代码签名**(`Set-AuthenticodeSignature`)。 2. **发布其 SHA-256** 哈希值,以便响应人员进行验证并将其加入白名单。 3. 在取证主机上,为该工具添加一个**特定范围的 Defender/EDR 排除项**,事后将其移除。 `SHA-256 (Tatar.ps1): <运行命令: Get-FileHash .\Tatar.ps1 -Algorithm SHA256>` ## 已知局限 - **不**提取或解密已保存的密码。 - 完整的 `$MFT` 解析需要离线工具(例如 MFTECmd / RawCopy);脚本仅记录 NTFS/MFT 元数据。 - 浏览器痕迹**仅包含元数据**(不进行数据库执行操作,不进行解密)。 - 如果没有管理员权限,某些痕迹(事件日志、注册表蜂巢、受保护进程)将不完整。 - PowerShell 5.1 中的 `Compress-Archive` 在处理非常大的输出(例如内存镜像)时会遇到困难;对于此类情况,请使用 7-Zip。 ## 可选外部工具 (`tools\`) - `winpmem.exe` — 内存镜像获取(用于 `-MemoryDump`) - `autoruns64.exe` — Sysinternals Autoruns(用于 `autoruns` 模块) 如果它们被放置在 `tools\` 子文件夹中,将会被自动调用;否则将跳过这些步骤。 ## 法律声明 仅供**授权**使用——仅限您自己拥有或获得明确书面许可进行检查的系统。您需自行负责遵守适用的法律及组织规定。 ## 作者 **Enkhbat.O** — 安全分析师 ## 许可证 MIT(详见 `LICENSE`)。
标签:AI合规, Libemu, 提权工具