零依赖、亚秒级 Windows 实时数字取证与事件响应(DFIR)分诊引擎,适用于 USB 应急响应设备。
零依赖、亚秒级 Windows 实时数字取证与事件响应(DFIR)分类引擎,专为快速 USB 响应器设计。
在实时事件响应中,时间和隐蔽性就是一切。传统的分类脚本存在严重缺陷:
dwShareMode)锁定其 SQLite History 数据库,导致标准收集器崩溃或失败,除非强制终止浏览器(从而破坏易失性内存证据)。OmniTriage 干净利落地解决了这些问题:完全基于 100% 纯 Python 标准库(winreg、sqlite3、ctypes、subprocess、hashlib、struct)从零构建。无需 pip install,无外部二进制文件,零磁盘噪音,执行时间 不到 1 秒,并生成交互式独立暗色模式 HTML 报告以及结构化 JSON。
ConsoleHost_history.txt),带启发式关键词标记(IEX、DownloadString、mimikatz、bypass、vssadmin)。Win+R 对话框历史)。%TEMP%、%APPDATA% 和 %LOCALAPPDATA% 中的可疑二进制文件(.exe、.dll、、、、、)。OmniTriage/
├── collectors/
│ ├── __init__.py
│ ├── sysinfo.py # OS build, InstallDate/Format date, Uptime (GetTickCount64), RAM
│ ├── execution.py # PowerShell history, RunMRU, UserAssist (ROT13), BAM
│ ├── browser.py # Chrome, Edge, Brave SQLite lock bypass & download records
│ ├── network.py # Wi-Fi SSIDs, USBSTOR device history, active TCP sockets
│ ├── filesystem.py # Executables/scripts in %TEMP%, SHA-256 hashing, Recent .lnk
│ └── persistence.py # Registry Run/RunOnce keys & Startup folder audit
├── reporters/
│ ├── __init__.py
│ ├── json_reporter.py # Normalized JSON serialization
│ └── html_reporter.py # Standalone dark-mode HTML dashboard
├── omnitriage.py # Main CLI orchestrator & banner
├── run_usb_triage.bat # One-click USB rapid response launcher
├── LICENSE # MIT License
└── README.md
git clone https://github.com/prox0959/OmniTriage.git
cd OmniTriage
python omnitriage.py
将 OmniTriage 文件夹复制到事件响应 USB 驱动器上。插入目标机器后,执行:
run_usb_triage.bat
或直接通过命令行:
python omnitriage.py --out D:\Evidence\Case_101
options:
-h, --help show this help message and exit
--out OUT, -o OUT Output directory for reports (default: triage_output)
--quick, -q Quick mode (skips deep file hashing)
--json-only Only produce JSON report
--html-only Only produce interactive HTML dashboard
--no-browser Skip browser history acquisition
--no-fs Skip staging directory filesystem scans
--lang {en,tr} Console output language (default: en)
____ _ _____ _
/ __ \____ ___ ____ (_)__ \_ __(_) __ _ __ _ ___
/ / / / __ `__ \/ __ \/ / / /\/ '__/ / _` |/ _` |/ _ \
/ /_/ / / / / / / / / / / / / | | / / (_| | (_| | __/
\____/_/ /_/ /_/_/ /_/_/ \/ |_|/_/ \__,_|\__, |\___|
|___/
[::] OmniTriage v1.0.0 | Pure Python DFIR Live Triage Engine
[::] Author: Çınar (prox0959) | Zero External Dependencies
[*] Starting live forensic acquisition on target system...
[*] Destination: C:\Forensics\Case_01
[*] Acquiring OS telemetry, InstallDate, and Uptime...
[+] Host: DESKTOP-IR01 | User: analyst
[+] OS: Windows 10 Home (Build: 26200.9457)
[+] Windows Format/Install Date: 2026-07-03 16:31:44
[+] System Uptime: 0d 6h 52m (Boot: 2026-09-24 17:29:51)
[*] Collecting program execution evidence (PowerShell, RunMRU, UserAssist)...
[+] PowerShell history: 89 commands (0 flagged)
[+] RunMRU (Win+R history): 2 items
[+] UserAssist GUI applications: 100 items decoded
[*] Bypassing SQLite locks & harvesting browser history...
[+] Browser activity: 300 URLs, 19 downloads acquired
[*] Harvesting Wi-Fi profiles, USB connection history, and active sockets...
[+] Wi-Fi & Network Profiles: 2 profiles discovered
[+] Historical USB storage devices: 3 drives logged
[+] Active TCP sockets: 139 connections
[*] Scanning staging directories (%TEMP%, %APPDATA%) for suspicious executables...
[+] Executables in %TEMP%: 40 found
[+] Recent shortcut items: 40 items
[*] Auditing autostart persistence mechanisms (Run/RunOnce, Startup)...
[+] Registry Run/RunOnce keys: 20 entries
[+] Startup folder items: 4 files
[*] Compiling forensic reports...
[+] JSON Report written: C:\Forensics\Case_01\Triage_DESKTOP-IR01_20260925_002236.json (193.21 KB)
[+] HTML Dashboard written: C:\Forensics\Case_01\Triage_DESKTOP-IR01_20260925_002236.html (88.56 KB)
=================================================================
[+] Forensic acquisition completed in 0.24 seconds.
=================================================================
本软件严格用于授权的数字取证、事件响应、系统审计和教育研究。在任何计算机系统上获取工件之前,请务必获得适当的授权和同意。
.bat.ps1.vbs.js.scr.lnk 快捷方式活动跟踪。USBSTOR 获取供应商、产品 ID、序列号)。HKCU 和 HKLM 的 Run 和 RunOnce 自启动键。Startup 目录。ipconfig /displaydns)以检测活动的命令与控制基础设施(例如 ngrok、duckdns、pastebin、discord webhooks)。fDenyTSConnections)和终端服务登录会话(事件 ID 21/24/25)。IEX、DownloadString、mimikatz、encodedcommand)。10ts 结构)。揭示已删除恶意软件可执行文件的历史路径!schtasks),以检测从 %TEMP%、%APPDATA% 或 Users\Public 运行的可疑自动触发器。Triage_<HOST>_<TIMESTAMP>.html),零 CDN 依赖(完全可离线使用)。Triage_<HOST>_<TIMESTAMP>.json),可直接用于 SIEM 摄取(Splunk、Elastic、Sentinel)。| MITRE ATT&CK ID | 战术 | 技术 | OmniTriage 收集器 |
|---|
| T1059.001 | 执行 | PowerShell 命令历史与 ScriptBlocks | execution.py、remote_exec.py |
| T1021 | 横向移动 | 远程服务(RDP、WinRM) | collectors/remote_exec.py |
| T1071.004 | 命令与控制 | DNS 域名解析 | collectors/dns_cache.py |
| T1204 | 执行 | 用户执行(RunMRU / UserAssist / ShimCache) | execution.py、shimcache.py |
| T1053.005 | 持久化 | 计划任务持久化 | collectors/tasks.py |
| T1070 | 反取证 | 主机上的指标移除(日志清除) | collectors/event_logs.py |
| T1543.003 | 持久化 | Windows 服务创建(事件 7045) | collectors/event_logs.py |
| T1036 | 防御规避 | 在 %TEMP% / %APPDATA% 中伪装 | collectors/filesystem.py |
| T1547.001 | 持久化 | 注册表 Run 键 / 启动文件夹 | collectors/persistence.py |
| T1082 | 发现 | 系统信息与 InstallDate | collectors/sysinfo.py |
| T1049 | 发现 | 系统网络连接与 Wi-Fi | collectors/network.py |
| T1005 | 收集 | 浏览器数据与下载日志 | collectors/browser.py |
| T1005 | 收集 | 浏览器数据与下载日志 | collectors/browser.py |