fevra-dev/Vigil
GitHub: fevra-dev/Vigil
一款纯浏览器端的 Windows 事件日志取证分析工具,无需后端即可完成 Sigma 规则匹配、PowerShell 解码、勒索软件链路关联等多维度威胁检测与可视化分析。
Stars: 1 | Forks: 0
# Vigil
**适用于“就地取材”时代的 Windows 事件日志取证工具。**
[](https://react.dev)
[](LICENSE)
[](https://attack.mitre.org)
[](https://sigmahq.io)
Vigil 是一款客户端 DFIR 工具,无需后端即可检测 Windows 事件日志中的威胁。它能够导入 Hayabusa、Chainsaw 或原始 EVTX 导出文件,并运行实时的 Shannon 熵分析、Sigma 规则匹配、PowerShell 混淆解码、ScriptBlock 重组、勒索软件链路关联、凭据访问检测以及进程谱系重建——所有这些操作完全在浏览器中进行。
Vigil 得名于“vigil”(守夜)——一段保持警惕的时期。Vigil 时刻监视着您的日志,让攻击者无法遁形。
## 快速开始
```
git clone https://github.com/fevra-dev/Vigil.git
cd Vigil/vigil-run
npm install
npm run dev
```
打开 `http://localhost:5173` 并点击仪表盘上的 **Load demo file** 以查看完整管道的实际运行效果,或者拖入您自己的 Hayabusa/Chainsaw 输出文件。
### 生成测试数据
```
# Hayabusa (推荐)
hayabusa json-timeline -d /path/to/evtx/ -o results.jsonl
# Chainsaw
chainsaw hunt /path/to/evtx/ -s sigma/ --json > results.json
```
## 检测功能
| 检测模块 | 技术 | MITRE ATT&CK |
|---|---|---|
| **Sigma 引擎** | 31 条规则,涵盖 LotL、持久化、凭据访问、横向移动、勒索软件 | 多项 |
| **勒索软件链** | 针对每台主机的多阶段预部署关联(vssadmin、bcdedit、wbadmin、netsh) | T1490 |
| **横向移动** | SMB 扫描(3 次及以上的 Type 3 登录)、RDP 异常、PsExec 模式检测 | T1021.001, T1021.002 |
| **凭据访问** | SAM 注册表转储、DCSync (EID 4662)、Kerberoasting 爆发 (EID 4769 RC4) | T1003.002, T1003.006, T1558.003 |
| **PowerShell 分析** | 12 种混淆类别 + 自动 Base64 解码 + ScriptBlock 重组 (EID 4104) | T1059.001, T1027 |
| **熵评分** | Shannon 熵 + 字符类型变化频率,用于混淆检测 | T1027.010 |
| **进程谱系** | 通过 Sysmon ProcessGuid 或启发式 PID 链接进行父子进程树重建 | T1059 |
| **基线比对** | PersistenceSniper CSV/JSON 差异比对——抑制已知良好项,暴露攻击者植入的持久化项 | T1547 |
## 选项卡
| 选项卡 | 用途 |
|---|---|
| **仪表盘** | 文件拖放区、事件直方图、EID 频率、严重性统计、威胁摘要、攻击者画像 |
| **日志分析器** | 可搜索的事件表,支持正则表达式、点击透视筛选、熵评分、PowerShell 解码面板 |
| **关联引擎** | 多事件攻击链重建,带有杀伤链阶段映射 |
| **攻击图谱** | 双车道 SVG 时间轴,通过战术着色展示主机之间的横向移动 |
| **进程谱系** | 可展开的进程祖先树视图,按主机分组,支持命令行检查 |
| **登录摘要** | EID 4624/4625 登录时间轴、登录类型细分、按账户标记的异常 |
| **勒索软件链** | 5 阶段预部署杀伤链可视化,带置信度评分 |
| **横向移动** | SMB 扫描、RDP 异常、PsExec 模式关联及序列可视化 |
| **基线比对** | 针对已知良好基线的实时差异比对——仅显示增量部分 |
| **Sigma 工作坊** | 浏览、搜索和检查全部 31 条规则,并支持实时 KQL/SPL/EQL/VQL 导出 |
| **ATT&CK 地图** | 覆盖 8 个战术、35 个技术的技术覆盖范围热力图 |
| **LOLBin 雷达** | 来自 LOLBAS + PersistenceSniper 目录中 18 个 LOLBin 的检测状态 |
## 架构
```
File Drop
│
▼
┌────────────────────────────────┐
│ Format Detection │
│ Hayabusa JSONL · Chainsaw │
│ Raw EVTX · Vigil JSON │
└──────────────┬─────────────────┘
│
▼
┌────────────────────────────────┐
│ Normalization + Reassembly │
│ Unified VigilEvent schema │
│ EID 4104 ScriptBlock stitch │
└──────────────┬─────────────────┘
│
▼
┌────────────────────────────────┐
│ Enrichment Pipeline │
│ │
│ 12 processing modules │
│ Entropy · Sigma · PS decode │
│ Ransomware · LM · Kerberos │
│ Lineage · Baseline diff │
└──────────────┬─────────────────┘
│
▼
┌────────────────────────────────┐
│ Output │
│ 12 interactive analysis tabs │
│ KQL/SPL/EQL/VQL rule export │
│ JSON/CSV event export │
└────────────────────────────────┘
```
## 检测覆盖范围
31 条采用开放标准编写的 Sigma 规则,映射至 MITRE ATT&CK v15。
| ID | 技术 | MITRE | 严重性 |
|---|---|---|---|
| SIGMA-001 | Impacket WMIExec 横向移动 | T1047, T1021.002 | Critical |
| SIGMA-002 | WMI 持久化三组件(Filter + Consumer + Binding) | T1546.003 | Critical |
| SIGMA-003 | GhostTask — 通过直接写入注册表创建计划任务 | T1053.005, T1112 | Critical |
| SIGMA-004 | 通过 comsvcs.dll MiniDump 转储 LSASS | T1003.001, T1218.011 | Critical |
| SIGMA-005 | 域控上的 DSRM 后门 | T1098, T1112 | Critical |
| SIGMA-006 | LOLBin 链 — certutil 下载 + 编码的 PowerShell | T1105, T1059.001 | High |
| SIGMA-007 | Suborner — 通过 RID 劫持隐藏管理员 | T1136.001, T1098 | Critical |
| SIGMA-008 | PowerShell 配置文件持久化 | T1546.013 | High |
| SIGMA-009 | 通过 AppCompatFlags 实现的 TelemetryController 持久化 | T1053.005, T1112 | High |
| SIGMA-010 | mshta.exe 远程 HTA 执行 | T1218.005 | Critical |
| SIGMA-011 | regsvr32.exe Squiblydoo(远程 COM 脚本) | T1218.010 | High |
| SIGMA-012 | bitsadmin.exe 通过 BITS 作业下载文件 | T1105, T1197 | High |
| SIGMA-013 | wmic.exe 远程进程创建 | T1047 | Critical |
| SIGMA-014 | cmstp.exe 通过 INF 实现 UAC 绕过 | T1218.003 | High |
| SIGMA-015 | 安全事件日志被清除(反取证) | T1070.001 | Critical |
| SIGMA-016 | vssadmin 删除卷影副本(勒索软件) | T1490 | Critical |
| SIGMA-017 | bcdedit 禁用恢复(勒索软件) | T1490 | Critical |
| SIGMA-018 | wbadmin 删除备份目录(勒索软件) | T1490 | Critical |
| SIGMA-019 | netsh 禁用防火墙(防御规避) | T1562.004 | High |
| SIGMA-020 | 注册表 Run 键持久化(Sysmon EID 13) | T1547.001 | High |
| SIGMA-021 | 可疑服务安装 — 非标准路径(EID 7045) | T1543.003 | High |
| SIGMA-022 | 通过写入 CLSID 注册表进行 COM 对象劫持 | T1546.015 | High |
| SIGMA-023 | 创建计划任务 — EID 4698 | T1053.005 | Medium |
| SIGMA-024 | 从可疑路径加载 DLL(Sysmon EID 7) | T1574.001 | High |
| SIGMA-025 | PowerShell ScriptBlock — 检测到攻击性工具 | T1059.001 | Critical |
| SIGMA-026 | 通过 PowerShell 尝试绕过 AMSI | T1562.001 | Critical |
| SIGMA-027 | 从可疑目录执行 PowerShell | T1059.001 | High |
| SIGMA-028 | 通过 MavInject 或 odbcconf 进行的 LOLBin DLL 注入 | T1218 | Critical |
| SIGMA-029 | 通过 reg.exe 转储 SAM 注册表配置单元 | T1003.002 | Critical |
| SIGMA-030 | DCSync — 通过 EID 4662 进行的目录复制 | T1003.006 | Critical |
| SIGMA-031 | Kerberos RC4 服务票据请求(Kerberoasting) | T1558.003 | High |
## 项目结构
```
Vigil/
├── vigil-run/ The application (React 19 + Vite)
│ ├── src/
│ │ ├── components/ 18 UI components (12 tabs + atoms + tokens)
│ │ ├── engine/ 12 processing modules
│ │ ├── data/ 7 reference data files (31 Sigma rules, 18 LOLBins, MITRE map)
│ │ └── store/ EventContext (central state management)
│ └── public/sample/ Bundled 43-event Hayabusa demo file
├── .github/workflows/ GitHub Pages deployment
├── LICENSE MIT
└── README.md
```
## 关键设计决策
- **零后端** — React 19 + Vite,完全在客户端运行。没有数据会离开浏览器。
- 除了 React 之外**没有其他运行时依赖** — 熵计算、Sigma 匹配、PS 解码、链路关联、谱系构建和查询导出均在纯 JavaScript 中运行。
- **多格式导入** — 自动检测 Hayabusa JSONL、Chainsaw JSON、原始 EVTX JSON 以及 Vigil 原生重新导入。
- **规则导出** — 每条 Sigma 规则都可以导出为 KQL (Sentinel/Defender)、SPL (Splunk)、EQL (Elastic) 或 VQL (Velociraptor),并带有针对特定平台的字段映射。
## 作者
**Fevra** — 安全开发者
[](https://github.com/fevra-dev/Vigil)
[](https://fevra.dev)
## 许可证
MIT License — 详见 [LICENSE](LICENSE)。
MITRE ATT&CK 是 The MITRE Corporation 的注册商标。
标签:ATT&CK框架, Chainsaw, Cloudflare, EVTX解析, Hayabusa, Living off the Land, LotL攻击, MITRE ATT&CK, OpenCanary, PowerShell反混淆, PowerShell解密, React, Sigma引擎, Sigma规则匹配, Syscalls, Web安全应用, Windows事件日志, 代理, 凭证访问检测, 前端安全工具, 前端防御, 勒索软件关联, 勒索软件链路分析, 子域名变形, 安全熵分析, 客户端分析, 库, 应急响应, 数字取证, 数据可视化, 无文件攻击, 无需后端, 横向移动检测, 浏览器端处理, 网络安全, 脚本块重组, 自动化脚本, 自定义脚本, 进程关系重建, 进程血缘分析, 隐私保护, 香农熵