mmrjb/linux-threat-hunting-with-velociraptor
GitHub: mmrjb/linux-threat-hunting-with-velociraptor
基于 Velociraptor 的模块化 Linux 威胁狩猎框架,提供 14 个调查领域共 114 个自定义 artifact,支持可重复的全网范围收集与证据驱动的深入调查。
Stars: 1 | Forks: 0
# 使用 Velociraptor 进行 Linux 威胁狩猎
一个基于 Velociraptor artifacts、狩猎级别分类和调查笔记本构建的模块化 Linux 威胁狩猎框架。
本项目专为可重复的全网范围收集、快速分析师分类、证据驱动的深入调查以及可辩护的报告而设计。它涵盖了 14 个 Linux 调查领域,并将基线收集与更高可疑信号的调查结果分开。
## 项目状态
| 指标 | 数值 |
| --- | ---: |
| 使用的 Velociraptor 版本 | `0.76.5` |
| Artifact 定义 | 114 |
| 调查领域 | 14 |
| 已解决的内部 `LTH.*` 依赖项 | 100 / 100 |
| YAML 解析错误 | 0 |
| 重复的 Artifact 名称 | 0 |
| 硬编码的 Hunt 或 Client ID | 0 |
导出的定义已于 2026-07-29 完成了结构验证。有关范围和限制,请参阅[验证报告](docs/validation-report.md)。
## 调查工作流
```
flowchart TD
A["Fleet Hunt"] --> B["Baseline & Hunt Health"]
B --> C["Master Triage"]
C --> D["Scope & Hypothesis"]
D --> E["Targeted Investigation"]
E --> F["Evidence, Report & Detection Improvement"]
```
该工作流从覆盖范围和收集健康状况开始,而不是孤立的警报。分析师使用 Master Triage 笔记本对客户端和证据进行排名,定义假设,并深入到相关的领域笔记本或 artifact 中。
## 调查领域
| # | 领域 | 命名空间 | Artifacts | 主要关注点 |
| ---: | --- | --- | ---: | --- |
| 01 | 系统基线 | `LTH.SystemBaseline` | 10 | 主机身份、包、挂载、服务、进程、网络和 cron |
| 02 | 用户、组和权限 | `LTH.UsersPrivileges` | 6 | 账户、组、UID 0、交互式用户和 sudo 暴露情况 |
| 03 | 认证与 SSH | `LTH.AuthSSH` | 8 | 登录历史、认证日志、密钥、已知主机和 SSH 配置 |
| 04 | 进程与服务 | `LTH.ProcessServices` | 6 | 进程清单、可疑执行和服务配置 |
| 05 | 网络连接 | `LTH.NetworkConnections` | 6 | 监听端口、已建立的会话、路由、防火墙和 DNS |
| 06 | 持久化 | `LTH.Persistence` | 9 | Cron、systemd、shell 配置文件、启动文件、PAM 和 SSH 密钥 |
| 07 | 文件时间线 | `LTH.FileTimeline` | 7 | 最近的敏感更改、临时可执行文件、归档和 Web 根目录 |
| 08 | 日志与安全事件 | `LTH.LogSecurityEvents` | 5 | 认证、SSH、命令历史和安全日志审查 |
| 09 | 权限提升 | `LTH.PrivEsc` | 11 | SUID/SGID、capabilities、sudoers、可写路径和 root 进程 |
| 10 | Rootkit 与内核 | `LTH.RootkitKernel` | 9 | 模块、内核日志、preload hooks、`/proc` 异常和扫描器 |
| 11 | 恶意软件与可疑工具 | `LTH.MalwareTools` | 9 | 工具发现、包指标、字符串、哈希和进程行为 |
| 12 | 容器与云 | `LTH.ContainerCloud` | 9 | Docker、Podman、Kubernetes、runtime、云代理和配置 |
| 13 | 数据访问与外泄 | `LTH.DataExfil` | 11 | 传输工具、网络会话、归档、云 CLI 和敏感路径 |
| 14 | 配置与机密 | `LTH.ConfigSecrets` | 8 | 配置清单、机密指标、权限和进程环境 |
## 仓库布局
```
.
├── artifacts/ # 14 recursively loadable artifact groups
├── docs/ # Architecture, setup, workflow and validation
├── notebooks/ # Sanitized hunt notebook templates
├── examples/mock-results/ # Safe examples only; never production evidence
├── images/screenshots/ # Redacted screenshots for documentation
├── scripts/ # Repository validation and catalog generation
└── .github/workflows/ # Automated structural validation
```
Velociraptor 会递归搜索 artifact 定义目录,因此各个领域的子目录不会更改 artifact 名称或依赖项。
## 快速开始
### 1. 验证仓库
```
python3 -m pip install -r requirements-dev.txt
python3 scripts/validate_repository.py
```
### 2. 使用 Velociraptor server 进行验证
```
VR_BIN=/usr/local/bin/velociraptor
SERVER_CFG=/etc/velociraptor/server.config.yaml
find artifacts -type f -name '*.yaml' -print0 |
xargs -0 sudo "$VR_BIN" \
--config "$SERVER_CFG" \
artifacts verify
```
### 3. 加载定义
使用 Velociraptor GUI 的 artifact 导入工作流,或者通过受支持的 artifact 定义目录或 CLI 的 `--definitions` 选项提供仓库的 `artifacts/` 目录。请勿直接写入实时 datastore 中。
详细选项已记录在[安装和导入](docs/installation.md)中。
## 笔记本
- [Master Triage](notebooks/00-master-triage.md) 将跨客户端的进程、网络和持久化证据关联起来。
- [网络连接仪表板](notebooks/05-network-connections-dashboard.md) 清点监听和已建立的连接,并突出显示可疑的暴露情况。
每个公开的模板都使用 `HUNT_ID` 作为占位符。不包含任何生产环境中的 Hunt ID、Client ID、主机名、用户名或 IP 地址。
## 操作安全
本仓库包含收集逻辑,而不是即插即用的生产策略。在全网络范围执行之前,请审查每一个 artifact、参数、source、资源限制和上传行为。
- 某些 artifact 使用 `execve()` 来运行本地的只读发现命令。
- 八个定义包含可选或特定于 source 的 `upload()` 逻辑。
- 文件内容、机密、命令历史和进程环境的收集可能会暴露敏感数据。
- 请从一个小的 Canary 测试组开始,并使用保守的并发性。
- 除非明确要求获取证据,否则请保持禁用上传。
在部署之前,请阅读 [SECURITY.md](SECURITY.md) 和[操作注意事项](docs/installation.md#operational-considerations)。
## 验证和质量
包含的验证器会检查 YAML 解析、名称、文件名、重复 source、内部依赖项、命名 source 引用、常见机密模式以及硬编码的 Hunt 或 Client ID。
```
python3 scripts/validate_repository.py
python3 scripts/generate_artifact_catalog.py
```
生成的 [Artifact 目录](docs/artifact-catalog.md) 直接从 YAML 元数据中派生而来。
## 署名
框架设计、wrapper artifacts、调优、狩猎工作流和文档由 Mohammadmahdi Rajabzadeh 维护。
部分收集器定义改编自 Velociraptor 内置的 artifacts。上游工作仍归功于 Velociraptor 的贡献者。详情请参阅 [NOTICE](NOTICE) 和仓库许可证。本项目是独立的,不是官方的 Velociraptor 或 Rapid7 项目。
## 许可证
本项目基于 [GNU Affero General Public License v3.0](LICENSE) 分发。
标签:PB级数据处理, Velociraptor, Windows 调试器, 安全运维, 库, 应急响应, 用户态调试, 逆向工具