项目介绍:Realm
Realm 是一个专注于扩展性、可靠性和自动化的对抗模拟框架。这个项目性能卓越,无论是小规模还是多达数千个信标的大规模任务,它都能轻松应对。
功能亮点
-
Eldritch:面向进攻安全的 Pythonic DSL
Realm 推出了 Eldritch,这是一种基于 Google Starlark 的领域专用语言(DSL)。使用 Eldritch,用户可以编写清晰、简洁且可重用的代码,从而简化进攻操作。Eldritch 原生编译为 Rust,提供了针对低级系统交互的高性能抽象。 -
轻松多主机管理
在复杂的任务中,常常需要同时管理多个机器,而 Realm 则简化了这个过程,使用户能够同时控制多个主机上的代理。 -
原生 Google Cloud Platform 集成
Realm 无缝集成了 GCP(Google Cloud Platform)服务,用户可以在红队任务中直接利用 GCP 的强大功能和可扩展性。 -
无状态服务器架构
Realm 官方支持 GCP 部署,但用户也可以将其无状态 Docker 容器部署到任何符合需求的环境中。 -
注重可靠性
Realm 始终将质量置于首要地位,通过广泛的测试和严格的代码审查,确保其可靠性。而直观的设计和清晰的文档,使得学习曲线更为平缓。
快速开始
Realm 提供简单的部署流程,用户可以快速启动并运行一个生产就绪的实例:
# 克隆 Realm
git clone https://github.com/spellshift/realm.git && cd realm
# 启动 Tavern(服务器)
go run ./tavern
# 在一个新的终端中启动 Imix(代理)
cd realm/implants/imix && cargo run
项目组件
Agent (imix)
- 用 Rust 编写,支持 MacOS、Linux 和 Windows。
- 支持实时读取任务输出。
- 可设置回调时间间隔。
- 采用简单的文件配置。
- 支持嵌入式文件。
- 内置解释器。
Server (tavern)
- 提供 Web 界面。
- 支持群组操作。
- 提供 GraphQL 后端,便于 API 访问。
- 支持 OAuth 登录。
- 云原生部署,提供生产部署的预构建 Terraform 模板。
内置解释器 (eldritch)
- 提供反射 DLL 加载功能。
- 提供端口扫描功能。
- 支持通过 SSH 进行远程执行。
- 更多功能详见官方文档。
支持与反馈
如果在使用 Realm 时遇到问题,用户可以通过 GitHub 的问题页面创建问题,我们会尽快提供帮助和支持。同时,Realm 欢迎各种功能请求和用户反馈,以持续改进和发展这个项目。用户与项目的互动,不仅帮助项目更好地满足用户需求,也更加丰富用户的体验。