cisagov/RedEye
GitHub: cisagov/RedEye
RedEye 是一款用于红蓝对抗中 C2 日志可视化、标记和演示的开源分析平台,帮助团队快速复盘攻击路径并生成报告。
Stars: 2740 | Forks: 285
# **RedEye**:Red Team C2 日志可视化
## ⚠️ 此仓库当前处于维护模式 ⚠️
此 GitHub 仓库已不再积极开发。我们会审查社区问题和拉取请求以修复错误,但不考虑任何新功能的添加。
RedEye 是由 [CISA](https://www.cisa.gov/) 和 [DOE](https://www.energy.gov/) 的 [Pacific Northwest National Laboratory](https://www.pnnl.gov/) 开发的开源分析工具,用于帮助 [Red Teams](https://en.wikipedia.org/wiki/Red_team) 可视化和报告指挥控制活动。该工具允许操作员评估和展示复杂数据,评估缓解策略,并在 Red Team 评估后实现有效的决策。该工具解析日志,例如来自 [Cobalt Strike](https://www.cobaltstrike.com/) 的日志,并以易于理解的格式呈现数据。用户可以对工具中显示的活动进行标记和添加评论。操作员可以使用 RedEye 的演示模式向利益相关者展示发现和工作流程。
RedEye 可以帮助操作员高效地:
- 重放并演示 Red Team 的评估活动,而不是手动翻阅成千上万行日志文本。
- 展示和评估复杂的评估数据,以实现有效的决策。
- 更清晰地了解在 Red Team 评估或透测试期间所采取的攻击路径和被攻陷的主机。
| **Red Team** | **Blue Team** |
|:------------:|:-------------:|
| [](https://cloud.cypress.io/projects/rsybgk/runs) | [](https://cloud.cypress.io/projects/46ahz3/runs) |
## 快速开始
1. **下载** 最新的 RedEye 二进制文件(适用于您的操作系统 [\*](#platform-support)),来源于 [Releases](https://github.com/cisagov/RedEye/releases) 页面。
2. **选择模式** 并 **运行服务器**
- [ **Red Team mode**](#red-team) 启用完整功能集:上传 C2 日志、探索数据、创建演示。_在 Red Team 模式下运行时必须提供密码_。在终端中运行以下命令以在 Red Team 模式下启动服务器。
```
./RedEye --redTeam --password
```
- [**Blue Team mode**](#blue-team)(默认)启用简化的只读 UI,用于查看 Red Team 导出的活动。要在 Blue Team 模式下启动服务器,请在终端中运行以下命令。
```
./RedEye # 或者双击 "RedEye" 可执行文件
```
3. 在浏览器中访问 http://127.0.0.1:4000 使用 Web 应用。RedEye 二进制文件在终端窗口中作为服务器运行,并会自动在默认浏览器中打开 Web 应用 UI。必须关闭终端窗口才能退出 RedEye 服务器。
4. 尝试导入 [gt.redeye](https://github.com/cisagov/RedEye/raw/develop/applications/redeye-e2e/src/fixtures/gt.redeye) 示例数据集以开始使用。或尝试其他 [example dataset](#example-datasets)。
_**MacOS 问题** - 第一次运行 RedEye 时,可能会出现 “未验证” 错误。必须前往 “系统偏好设置” > “安全性与隐私” > “通用”,并点击 “仍然打开”。更多信息请参见 [Apple support page](https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/)。_
### 按照 [User Guide](https://github.com/cisagov/RedEye/blob/develop/docs/UserGuide.md) 学习 RedEye 的功能集。
## Red Team 与 Blue Team 模式
RedEye 有两种模式,覆盖 Red Teaming 过程的两个阶段。[Red Team mode](#red-team) 允许导入 C2 数据、编辑导入的数据、以及添加评论和演示。策划并注释活动数据后,Red Team 可以将其活动导出为独立的 `.redeye` 文件并 [hand it off to a Blue Team](#blue-team-presentation-handoff) 用于报告和修复。[Blue Team mode](#blue-team) 在简化的只读模式下运行 RedEye,用于查看 Red Team 导出的策划数据。
_注意:Red 与 Blue Team 两种模式均可从同一 RedEye 应用二进制文件启动。_
### Red Team
下载的二进制文件分为两部分:
- `RedEye` 应用二进制文件
- 包含解析器二进制文件的 `parsers` 文件夹(例如 `cobalt-strike-parser` Cobalt Strike 日志解析器二进制文件)
有三种方式在 Red Team 模式下运行 RedEye:
1. 运行下载的二进制文件,传入 `--redTeam` 和密码选项:
```
./RedEye --redTeam --password
```
2. 克隆、安装并直接运行项目(在 [Local Build](#local-build) 部分有说明)。
3. Docker Compose
1. 克隆仓库
2. 更新 `docker-compose.yml` 中的环境变量
3. 运行:
```
docker-compose -f docker-compose.yml up -d redeye-core
```
### Blue Team
Blue Team 模式是一个简化的只读 UI,用于显示已被 Red Team 策划、注释并导出的数据。此模式默认运行,以简化 Blue Team 的启动。
Blue Team 版本可通过双击 “RedEye” 应用二进制文件运行。RedEye 在 http://127.0.0.1:4000(默认)运行,并会自动打开默认浏览器。
### Blue Team 演示交接
如果在与 `RedEye` 应用相同的目录中存在 `campaigns` 文件夹,RedEye 将尝试导入其中的任何 `.redeye` 活动文件。活动文件可以在 Red Team 模式下导出。
准备 Blue Team 版本,请按以下两步操作:
1. 将 `RedEye` 应用二进制文件复制到空文件夹中。
2. 在同一目录下创建 `campaigns` 文件夹,并放入要发送的 `.redeye` 活动文件。
```
Folder/
RedEye
campaigns/
Campaign-01.redeye
Campaign-02.redeye
```
`.redeye` 文件也可以在 Blue Team 模式下通过 “+ Add Campaign” 对话框上传。
## 示例数据集
本仓库中提供了可下载的示例数据集,位于 [./applications/redeye-e2e/src/fixtures](https://github.com/cisagov/RedEye/tree/develop/applications/redeye-e2e/src/fixtures) 文件夹。
- **gtdataset** - 可通过 [gt.redeye](https://github.com/cisagov/RedEye/raw/develop/applications/redeye-e2e/src/fixtures/gt.redeye) 或 [Cobalt Strike Logs](https://github.com/cisagov/RedEye/tree/develop/applications/redeye-e2e/src/fixtures/gtdataset) 获取
- **smalldata** - 可通过 [smalldata.redeye](https://github.com/cisagov/RedEye/raw/develop/applications/redeye-e2e/src/fixtures/smalldata.redeye) 或 [Cobalt Strike Logs](https://github.com/cisagov/RedEye/tree/develop/applications/redeye-e2e/src/fixtures/smalldata) 获取
- **testdata** - 可通过 [Cobalt Strike Logs](https://github.com/cisagov/RedEye/tree/develop/applications/redeye-e2e/src/fixtures/testdata) 获取
您可能想使用 [download-directory.github.io](https://download-directory.github.io/) 之类的工具仅下载 GitHub 仓库的单个文件夹