ridgelinecyberdefence/vanguard

GitHub: ridgelinecyberdefence/vanguard

一个跨平台的企业级应急响应工具包,将内存取证、磁盘收集、威胁狩猎和报告生成整合到单一二进制文件中,解决了 DFIR 团队在突发事件中需要同时协调多个独立工具的效率痛点。

Stars: 71 | Forks: 2

# VanGuard — 企业级应急响应工具包 VanGuard 是一个用 Go 构建的自包含应急响应工具包,它为 DFIR 团队提供了一个单一二进制文件,用于在 Windows 和 Linux 上(无论是否有网络访问权限)进行分诊、威胁狩猎、内存取证、磁盘收集、远程操作以及 Velociraptor 管理。 ## 为什么选择 VanGuard 大多数应急响应(IR)工作流程需要同时操作几十个独立的工具、记住各种命令行参数,并手动追踪证据。VanGuard 将完整的应急响应生命周期整合到一个便携式二进制文件中,内置案例管理、证据哈希校验、证据保管链和专业的 HTML 报告生成。 **核心优势:** - **单一二进制文件,无需安装** — 可以从任何目录运行,无需安装 - **Velociraptor 作为一等公民** — 通过单一界面实现完整的服务器生命周期管理、Agent 部署、离线收集器以及 VQL 查询 - **28 个预构建的应急响应用例** — 勒索软件、BEC(商业电子邮件妥协)、横向移动、凭据窃取、Rootkit 检测等 — 每个用例均带有 MITRE ATT&CK 映射和分阶段的 Artifact 收集 - **天生支持离线(Air-gapped)** — 所有功能均可离线工作;联网能力是增强功能,而非必需条件 - **双操作界面** — 用于终端/SSH 会话的键盘驱动 TUI,以及用于基于浏览器工作流的 Web UI - **内置证据完整性保障** — 双重 MD5+SHA256 哈希校验、仅可追加的(Append-only)证据保管链、HMAC-SHA256 防篡改审计日志 ## 功能特性 ### Velociraptor 操作 通过单一菜单进行完整的 Velociraptor 生命周期管理:包含自动生成证书的服务器初始化、客户端包创建、通过 WinRM/SSH/PSExec 部署 Agent、离线收集器生成、收集导入、狩猎(Hunt)管理以及 Web UI 访问。密码安全生成,绝不写入日志或配置文件中。 ### 快速分诊 (Quick Triage) 使用原生操作系统命令快速收集 Artifact — 无需外部工具。可收集 20 多种 Windows Artifact 类别(进程、服务、事件日志、计划任务、浏览器历史记录、注册表配置单元、DNS 缓存、网络连接)和 15 种以上 Linux 类别(进程、cron、systemd、SSH 配置、身份验证日志、内核模块)。每个 Artifact 都会进行哈希处理并自动注册为案例证据。 ### 威胁狩猎与扫描 集成了 Hayabusa(基于 Sigma 的事件日志分析)、Chainsaw(事件日志狩猎)、Loki(IOC 扫描)和 YARA(自定义规则扫描)。实时狩猎分析正在运行的系统状态,检测 LOLBin 执行、可疑自启动项、命名管道异常、DLL 劫持迹象、恶意的 systemd 单元、SUID 二进制文件和 C2 网络模式 — 所有这些均无需外部工具。 ### 内存取证 使用 DumpIt、WinPMEM (Windows),或 AVML、LiME (Linux) 在本地或通过 WinRM/SSH 在远程目标机器上捕获内存。使用 Volatility3 跨多个插件类别分析内存转储:进程分析、网络连接、恶意软件检测、注册表提取、时间线生成和 YARA 扫描。远程捕获使用随机化的临时路径以防止预置攻击。 ### 磁盘 Artifact 收集 Windows:基于 KAPE 目标的收集和 EZ Tools 解析(MFTECmd、EvtxECmd、PECmd、RECmd)。Linux:基于 UAC 配置文件的收集、原生日志/配置获取以及带有逐文件 SHA256 验证的目标文件复制。 ### 远程操作 跨多个远程端点同时执行分诊、狩猎和内存捕获。支持具有有界并发执行的 WinRM(NTLM 身份验证)、SSH(密钥和密码)和 PSExec。用于远程连接的凭据会被安全处理,绝不写入磁盘或日志。 ### 分析与报告 生成包含内嵌 CSS 的独立 HTML 事件报告(无外部依赖 — 可在离线环境下运行)。通过将所有解析的 Artifact 合并为按时间排序的 CSV 来构建超级时间线。将发现的结果关联到 30 分钟的主机集群中,并自动提取 MITRE ATT&CK 技术。 ### 用例库(28 个预构建工作流) **Windows (13):** | ID | 用例 | 严重性 | |----|----------|----------| | UC-WIN-001 | 勒索软件调查 | 严重 | | UC-WIN-002 | 商业电子邮件妥协 (BEC) | 高 | | UC-WIN-003 | 横向移动检测 | 高 | | UC-WIN-004 | 持久化发现 | 高 | | UC-WIN-005 | 凭据窃取 | 严重 | | UC-WIN-006 | 数据窃取 | 高 | | UC-WIN-007 | 内部威胁 | 高 | | UC-WIN-008 | PowerShell 攻击 | 高 | | UC-WIN-009 | LOLBins 调查 | 中 | | UC-WIN-010 | 初始访问 | 高 | | UC-WIN-011 | 完整系统分诊 | 中 | | UC-WIN-012 | 时间线分析 | 中 | | UC-WIN-013 | Active Directory 攻击 (DCSync, Kerberoasting) | 严重 | **Linux (12):** | ID | 用例 | 严重性 | |----|----------|----------| | UC-LNX-001 | Web 服务器被攻陷 | 严重 | | UC-LNX-002 | SSH 暴力破解 | 高 | | UC-LNX-003 | 挖矿木马检测 | 高 | | UC-LNX-004 | 容器逃逸 | 严重 | | UC-LNX-005 | Rootkit 检测 | 严重 | | UC-LNX-006 | 持久化发现 | 高 | | UC-LNX-007 | 权限提升 | 高 | | UC-LNX-008 | 日志篡改 | 高 | | UC-LNX-009 | 云凭据泄露 | 严重 | | UC-LNX-010 | 完整 Linux 分诊 | 中 | | UC-LNX-011 | 网络入侵 | 高 | | UC-LNX-012 | 供应链被攻陷 | 严重 | **跨平台 (3):** IOC 扫描、YARA 狩猎、基线比较 每个用例都定义了带有 MITRE ATT&CK 映射、预计完成时间和严重性分类的分阶段 Velociraptor Artifact 收集。可通过编辑 `usecases/` 中的 YAML 文件进行自定义。 ### 更新系统 在线:自动检查 Sigma、YARA 和 Hayabusa 规则更新,以及通过 GitHub Releases API 进行工具二进制文件更新。离线:创建包含经 SHA256 验证清单的 ZIP 格式更新包,用于离线环境下的传输和应用。 ### 案例管理与证据完整性 基于 SQLite 的案例数据库,可追踪案例、目标、证据、发现结果和时间线事件。每个收集的 Artifact 在收集时都会进行双重哈希(MD5+SHA256),并附有仅可追加的(Append-only)证据保管链记录。HMAC-SHA256 防篡改审计日志提供了证据处理过程的加密证明。 ## 集成工具 | 工具 | 用途 | 平台 | |------|---------|----------| | [Velociraptor](https://github.com/Velocidex/velociraptor) | 主要应急响应平台 — 服务器、Agent、VQL、狩猎 | Windows, Linux | | [Hayabusa](https://github.com/Yamato-Security/hayabusa) | Windows 事件日志分析(Sigma 规则) | Windows, Linux | | [Chainsaw](https://github.com/WithSecureLabs/chainsaw) | 事件日志狩猎 | Windows, Linux | | [Loki](https://github.com/Neo23x0/Loki) | IOC 扫描器(YARA + 哈希) | Windows, Linux | | [KAPE](https://www.kroll.com/en/services/cyber-risk/incident-response-litigation-support/kroll-artifact-parser-extractor-kape) | 磁盘分诊收集 | Windows | | [EZ Tools](https://ericzimmerman.github.io/) | 取证解析器(MFT, EVTX, Prefetch, 注册表) | Windows | | [UAC](https://github.com/tclahr/uac) | Unix Artifacts 收集器 | Linux | | [DumpIt](https://www.comae.com/) | 内存捕获 | Windows | | [WinPMEM](https://github.com/Velocidex/WinPmem) | 内存捕获 | Windows | | [AVML](https://github.com/microsoft/avml) | 内存捕获 | Linux | | [Volatility3](https://github.com/volatilityfoundation/volatility3) | 内存分析框架 | Windows, Linux | 所有工具均在运行时从 GitHub Releases 下载。下载仅限通过带有域验证的 HTTPS 连接进行。 ## 安装说明 ### 预构建二进制文件 从 [GitHub Releases](https://github.com/ridgelinecyberdefence/vanguard/releases) 下载: | 平台 | 二进制文件 | 校验和 | |----------|--------|----------| | Windows 64 位 | `vanguard-windows-amd64.exe` | `vanguard-checksums.sha256` | | Linux 64 位 | `vanguard-linux-amd64` | `vanguard-checksums.sha256` | ``` # Linux chmod +x vanguard-linux-amd64 sudo ./vanguard-linux-amd64 ``` ``` # Windows (以 Administrator 身份运行) .\vanguard-windows-amd64.exe ``` ### 从源代码构建 需要 Go 1.22+ 和 GCC(SQLite 需要 CGO 支持)。 ``` git clone https://github.com/ridgelinecyberdefence/vanguard.git cd vanguard CGO_ENABLED=1 go build -trimpath -o vanguard ./cmd/vanguard/ ``` Windows (PowerShell): ``` .\build.ps1 ``` ## 快速入门 1. **启动** 以管理员/root 身份运行 VanGuard 2. **创建案例** — Configuration → Case Management → New Case 3. **设置分析师姓名** — Configuration → Settings 4. **下载工具** — Configuration → Tool Management 5. **运行分诊** — Quick Triage → Local Quick Triage 6. **狩猎威胁** — Threat Hunting → 选择 Hayabusa、Loki 或 YARA 7. **生成报告** — Analysis & Reporting → Generate Report 对于基于 Velociraptor 的工作流: 1. **初始化服务器** — Velociraptor Operations → Initialize Server 2. **部署 Agent** — Velociraptor Operations → Deploy Agent (WinRM/SSH/PSExec) 3. **运行用例** — Use Cases Library → 选择一个预构建的工作流 4. **收集并分析** — 结果会自动注册为案例证据 ## 离线环境部署 VanGuard 专为无互联网接入的环境而设计: 1. 在一台联网的机器上:通过 Configuration 和 Update 菜单下载工具和规则 2. 将整个 VanGuard 目录复制到 USB 驱动器 3. 在离线目标主机上直接从 USB 运行 — 所有工具和规则均实现自包含 4. 对于规则更新:创建离线更新包(Update → Create Offline Bundle),通过 USB 传输,并在离线系统上通过 SHA256 验证后应用 ## 安全与证据处理 VanGuard 专为对证据完整性和操作安全性要求极高的环境而构建: - **防篡改审计追踪** — 对证据执行的每一项操作都会进行加密记录,为您提供可在法律诉讼中作为辩护依据的证据保管链 - **自动证据哈希** — 每个收集到的 Artifact 在捕获时都会进行双重哈希(MD5 + SHA256),以此证明证据未被修改 - **仅可追加的保管链** — 证据处理事件一旦记录便无法被追溯篡改 - **凭据隔离** — 用于远程连接的密码和密钥绝不写入磁盘或日志,从而在应急响应期间保护您的操作凭据 - **自包含报告** — HTML 报告可在无互联网访问的情况下工作,不存在可能泄露调查细节的外部依赖 ## 文档 | 文档 | 描述 | |----------|-------------| | [安装指南](docs/installation.md) | 下载、构建和部署 | | [快速入门](docs/quick-start.md) | 首次运行和常见工作流 | | [用户指南](docs/user-guide.md) | 所有模块的综合参考 | | [离线部署指南](docs/air-gapped-deployment.md) | 离线设置和更新包 | | [贡献指南](CONTRIBUTING.md) | 开发环境设置和贡献准则 | | [更新日志](CHANGELOG.md) | 版本历史和发布说明 | ## 项目结构
标签:28个预置用例, Beacon Object File, EDR, EVTX分析, Go语言, HMAC-SHA256, HTML报告, JSONLines, MD5, MITRE ATT&CK映射, PB级数据处理, PE 加载器, PSExec, SecList, SHA256, SSH, TCP SYN 扫描, TUI, Velociraptor, Web UI, WinRM, 云端取证, 企业安全, 内存取证, 凭证窃取检测, 勒索软件响应, 单文件二进制, 单机取证, 双界面, 反取证, 哈希校验, 子域名变形, 安全合规, 安全评估, 安全运维, 审计日志, 库, 应急响应, 应急响应工具包, 提权工具, 攻击溯源, 数字取证, 数据包嗅探, 无线安全, 日志审计, 案件管理, 横向移动检测, 流量嗅探, 用户态调试, 磁盘取证, 离线使用, 程序破解, 终端安全, 网络代理, 网络安全审计, 网络资产管理, 脆弱性评估, 自动化收集, 自动化时间线生成, 自动化脚本, 证据完整性, 链式保管, 零信任, 零安装