Digital-Defense-Institute/openrelik-pipeline
GitHub: Digital-Defense-Institute/openrelik-pipeline
这是一个集成多个DFIR工具的自动化管道,通过Docker部署,简化取证文物处理和时间线生成流程。
Stars: 48 | Forks: 7
# openrelik 管道
### 简介
本仓库通过 Docker Compose 部署 Timesketch、OpenRelik、Velociraptor 以及自定义的 OpenRelik Pipeline 工具,提供了一个一体化的 DFIR 解决方案。它允许用户向 API 端点发送取证文物(例如 Windows 事件日志或使用 Velociraptor 生成的完整分诊数据采集),从而触发一个工作流将文件上传至 OpenRelik 并生成时间线。根据配置,该工作流可以使用 log2timeline (Plaso) 或 Hayabusa 来生成时间线,并将其直接推送至 Timesketch。这种自动化方法简化了文物摄入与分析流程,将过去多个独立的处理过程转变为更便捷的“一键式”部署。
### 步骤 1 - 安装 Docker
请按照官方安装说明[安装 Docker Engine](https://docs.docker.com/engine/install/)。
### 步骤 2 - 克隆项目并设置环境变量
```
sudo -i
git clone https://github.com/Digital-Defense-Institute/openrelik-pipeline.git /opt/openrelik-pipeline
```
如果是在云服务器、虚拟机(虚拟机的 IP)或 WSL(WSL 的 IP)上部署,请将 `IP_ADDRESS` 更改为您的公网或 IPv4 地址。
```
export TIMESKETCH_PASSWORD="YOUR_DESIRED_TIMESKETCH_PASSWORD"
export VELOCIRAPTOR_PASSWORD="YOUR_DESIRED_VELOCIRAPTOR_PASSWORD"
export OPENRELIK_ADMIN_PASSWORD="YOUR_DESIRED_OPENRELIK_PASSWORD"
export IP_ADDRESS="0.0.0.0"
```
### 步骤 3 - 运行安装脚本以部署 Timesketch、OpenRelik、Velociraptor 和 OpenRelik Pipeline
根据您的网络连接情况,此过程可能需要 5-10 分钟。
```
chmod +x /opt/openrelik-pipeline/install.sh
/opt/openrelik-pipeline/install.sh
```
### 步骤 4 - 验证部署
验证所有容器是否已启动并正在运行。
```
docker ps -a
```
访问 Web 用户界面:
* OpenRelik - http://0.0.0.0:8711
* Velociraptor - https://0.0.0.0:8889
* Timesketch - http://0.0.0.0
访问管道:
* OpenRelik Pipeline - http://0.0.0.0:5000
再次提醒,如果在其他地方、虚拟机或使用 WSL 部署,请使用您为 `$IP_ADDRESS` 设置的 IP。
### 步骤 5 - 访问与使用
#### 使用 curl
现在您可以向其发送文件进行处理和时间线生成。
我们提供了一个 curl 的示例,方便您轻松转换为其他方式。
从您的 Windows 事件日志生成 Hayabusa 时间线并推送到 Timesketch:
```
curl -X POST -F "file=@/path/to/your/Security.evtx" http://$IP_ADDRESS:5000/api/hayabusa/timesketch
```
生成 Plaso 时间线并推送到 Timesketch:
```
curl -X POST -F "file=@/path/to/your/triage.zip" http://$IP_ADDRESS:5000/api/plaso/timesketch
```
#### 使用 Velociraptor
本仓库附带[多个 Velociraptor 文物](./velociraptor),用于将数据采集结果 POST 到管道。这些已由 `install.sh` 预先导入到 Velociraptor 中——无需手动导入。请在 `Server.Events` 下的 `Server.Utils.Triage*OpenRelik*` 中查找它们。
它们被配置为访问以下每个可用端点:
* `/api/plaso`
* `/api/plaso/timesketch`
* `/api/hayabusa`
* `/api/hayabusa/timesketch`
您可以前往 Velociraptor GUI 中的 `Server Events`,将它们添加到服务器事件监控表中,以配置它们自动运行。
默认情况下,它们被配置为在端点上的 `Windows.Triage.Targets` 文物完成后运行。
它将压缩数据采集结果,并通过管道发送到 OpenRelik 进行处理。
**操作步骤:**
1. 导航到 `Server Events`(服务器事件)

2. 点击 `Update server monitoring table`(更新服务器监控表)

3. 选择一个或多个要在后台运行的分诊文物,然后点击 Launch(启动)

4. 新安装的监控文物将很快出现在 `Select artifact`(选择文物)下拉菜单中,并附带日志

### 许可证
此项目(本仓库中的 openrelik-pipeline 源码)基于 [Apache 许可证 2.0 版](./LICENSE) 授权。
请注意,`install.sh` 部署的上游工具受其自身许可证约束,不由本仓库重新分发:
- Timesketch、OpenRelik、Plaso 和 OpenRelik 工作节点 — Apache-2.0
- Velociraptor 和 Hayabusa — AGPL-3.0
标签:Active Directory, API, Docker, Docker Compose, Hayabusa, OpenRelik, Plaso, Timesketch, Velociraptor, 取证工具, 安全防御评估, 工作流, 数字取证, 版权保护, 用户态调试, 网络安全, 网络调试, 自动化, 自动化分析, 自动化脚本, 请求拦截, 跨站脚本, 逆向工具, 部署脚本, 隐私保护