Anoop-Kumar-Sharma/WinTriage

GitHub: Anoop-Kumar-Sharma/WinTriage

这是一个实时 Windows 取证分类工具,通过快速收集并交叉比对多种系统线索,以检测反取证、可疑执行及入侵后活动。

Stars: 0 | Forks: 0

# WinTriage WinTriage 从在线 Windows 系统中收集并交叉比对取证线索,以揭示反取证、可疑执行和入侵后活动的迹象——仅需数秒,无需人工深挖。 ## 功能 WinTriage 对 Windows 取证线索进行协调扫描,并自动标记异常情况: | 线索 | 检查内容 | |---|---| | **BAM 注册表** | 启动后运行的未签名或已删除的可执行文件 | | **Prefetch** | 重复哈希、只读 `.pf` 文件、无文件存在 | | **USN 日志** | 通过 `fsutil` 的删除事件、NTFS 事件 ID 501 以及文件时间 | | **MFT (`$MFT`)** | 未签名的 EXE/DLL、Python/batch/JAR 执行、已删除文件痕迹 | | **事件日志** | 安全日志已清除(事件 1102) | | **PCA (Program Compatibility Assistant)** | 来自 `PcaAppLaunchDic.txt` / `PcaGeneralDb` 的未签名或已删除的可执行文件 | | **DPS 内存转储** | 通过 strings 提取的未签名可执行文件路径 | | **服务与进程** | 启动后的重启(BAM、DPS、EventLog、DiagTrack 等) | | **回收站** | 过去 24 小时内的修改 | | **最近使用的文件** | 未签名的 LNK 目标、最近访问的 Python 脚本 | | **Unicode 线索** | Prefetch 中的 Unicode 文件名、执行注册表键中的 Unicode 值名称 | | **USB 设备** | 通过 devicehunt.com 进行 VID/PID 查询 | | **PC 重置** | 48 小时内的操作系统安装日期 | ## 要求 - Windows 10 / 11(64 位) - Python 3.10+ - **管理员权限**(访问 BAM、MFT、内存转储和事件日志所必需) ### Python 依赖项 ``` pip install requests beautifulsoup4 colorama pywin32 pandas psutil ``` ### 自动下载的工具(首次运行时) WinTriage 会自动将以下工具下载到 `%TEMP%\Sysinternals`: - [PECmd](https://ericzimmerman.github.io/) — Prefetch 解析器 - [MFTECmd](https://ericzimmerman.github.io/) — MFT 解析器 - [ProcDump](https://learn.microsoft.com/en-us/sysinternals/downloads/procdump) — 内存转储工具 - [Strings](https://learn.microsoft.com/en-us/sysinternals/downloads/strings) — 字符串提取工具 - `bd.exe` — BAM 删除检查器 ## 使用方法 从提升的(管理员)命令提示符运行: ``` python wintriage.py ``` 输出直接打印到控制台。红色文本表示高置信度异常。黄色表示值得调查的警告。如果某项检查没有输出,则表示未发现可疑情况。 ## 输出示例 ``` Sysmain restarted 14 minutes ago (10:32:11 14-03-2025) USN Journal Deleted 2 hours, 4 minutes ago (08:43:02 14-03-2025) ⚠️ No .pf files found. Executed Unsigned (After Boot Time): Last Execution Time Path 2025-03-14 10:41:02 C:\Users\User\AppData\Local\Temp\loader.exe Deleted BAM Entries: C:\Users\User\Downloads\tool.exe Unsigned Executables (MFT): C:\ProgramData\Microsoft\temp\svc.exe Recycle Bin Modified 3 hours, 12 minutes ago (07:34:55 14-03-2025) ``` ## 架构 ``` wintriage.py ├── setup_sysinternals_tools() # Download/extract tools on first run ├── System baseline │ ├── get_system_uptime() │ ├── get_install_date() │ └── get_file_time_from_fsutil() ├── Anti-forensics detection │ ├── check_usn_journal_deletions() │ └── event_logs_cleared() ├── Execution artifacts │ ├── bam_detection() # BAM registry (PowerShell) │ ├── deleted_bam_check() # bd.exe cross-reference │ ├── parse_prefetch_files() # PECmd + duplicate hash detection │ ├── parse_pca() # PCA AppLaunch + GeneralDb │ └── mft() # MFTECmd async signature sweep ├── Memory analysis │ └── dump_services_and_processes_and_extract_strings() ├── Filesystem & UI artifacts │ ├── check_prefetch_files_for_read_only() │ ├── unicode_search() │ ├── check_recent_files() │ └── get_latest_modification_time() → Recycle Bin ├── Service/process health │ ├── check_service_status() │ └── check_process_status() └── External ├── get_usb_devices() # devicehunt.com VID/PID lookup └── regex_dps() # Unsigned paths from DPS dump ``` ## 限制 - **仅限在线系统** — WinTriage 不支持离线镜像分析 - **仅限 Windows** — 不支持 macOS 或 Linux - MFT 解析需要未锁定的 `C:\$MFT`;在活动频繁的系统上结果可能会有所不同 - USB 查询需要互联网访问 - 内存转储可能会被端点安全产品阻止 ## 免责声明 WinTriage 旨在供事件响应人员、取证分析师和系统管理员在其获得授权检查的系统上使用。未经明确许可,请勿在系统上使用此工具。作者对误用不承担任何责任。 ## 许可证 MIT 许可证。详情请参阅 [LICENSE](LICENSE)。
标签:AI合规, BAM注册表, DAST, HTTPS请求, MFTECmd, MFT分析, PECmd, Prefetch解析, ProcDump, Python安全工具, SecList, SQL, USN日志, Windows 10, Windows 11, Windows取证, 事件日志分析, 入侵后活动, 内存取证, 反取证检测, 取证自动化, 可疑执行检测, 实时取证, 库, 应急响应, 恶意软件分析, 数字取证, 注册表取证, 痕迹分析, 系统审计, 自动化脚本, 逆向工具