基于 AWS 的 Terraform 部署红队操作员实验环境:Mythic、Sliver 和 Adaptix C2 位于生产级 Apache 重定向器之后,配有 Kali/Windows 主机和 Guacamole 门户。专为授权培训和自托管网络靶场而构建。

参加 DEF CON 34? 点击此处查看演讲时间以及研讨会所需的先决条件。
一套部署在 AWS 上的红队操作员技术栈,约 45 分钟即可搭建完成:三个 C2 框架(Mythic、Sliver、Adaptix)、一个 Apache 重定向器、Kali 和 Windows 工作站,以及一个 Guacamole 门户,分布在两个对等 VPC 中,具备请求头 + URI 门控和扫描器拦截功能。有两种运行方式:直接访问,针对你自己的自托管网络靶场;或隧道访问,通过 OpenVPN 接入托管培训平台、Hack Smarter Labs、Hack The Box、OffSec Proving Grounds/Labs、VulnLab,或任何提供
.ovpn的平台。
[!TIP] redStack 现在有了一个与提供商无关的继任者:redStackPRO。 它是一个 Web 画布,可将红队基础设施和网络靶场组合为与提供商无关的拓扑,然后将该拓扑编译为完整、可运行的 Terraform 和 Ansible 目录,由你自己运行。GCP 和 AWS 已通过端到端测试;Azure、Proxmox 和 ESXi 已在路线图中。由 devZero Security 构建和维护。参见 redstackpro.com。
该 Wiki 是事实上的操作员手册。本 README 只是一个简短的落地页,方便你找到入口。部署、验证、运行 C2 演练、故障排除或扩展实验环境所需的一切都在那里。
[!IMPORTANT] redStack 不是关于如何使用 C2 框架的教程。它是一个消除基础设施障碍的环境,让你能够专注于学习。本实验环境严格仅用于授权培训和实验环境(网络靶场、自托管环境、个人实验虚拟机等)。不适用于真实世界的项目,也不适用于你并不拥有且未获得明确书面许可进行测试的目标。
[!CAUTION] AWS 服务条款:使用风险自负。 在 AWS 上托管 C2 基础设施可能会引起 AWS 可接受使用政策 方面的担忧。部署前,请审阅 AUP 并提交 AWS 渗透测试 / 模拟事件请求表单。只要你将 redStack 专门用于个人实验工作和授权培训平台,通常就没有问题。为安全起见,请从专用的、单一用途的一次性 AWS 账户运行 redStack。
| # | 内容 | 位置 |
|---|---|---|
| 1 | 首次 AWS 设置(账户、IAM、CLI、SSH 密钥、Kali Marketplace 订阅) | 先决条件 |
| 2 | 选择开放或封闭环境 | 部署模式 |
| 3 | 配置 tfvars 并执行 terraform apply | 部署 |
| 4 | 确认 Guacamole + Windows + 内部 DNS | 验证 |
| 5 | 建立首个 beacon:选择一个 C2 | Mythic · Sliver · Adaptix |
总耗时: 首次部署约 30-60 分钟。后续部署:约 20-30 分钟。
回访操作员? 快速开始 是精简路径。
七个 EC2 实例,分布在两个对等 VPC 中。其中两个拥有公网弹性 IP(Guacamole 门户 + 重定向器);其余所有实例只能通过 Guacamole 访问。
| 主机名 | 角色 | 公网 IP |
|---|---|---|
guac | Guacamole 门户(Web SSH/RDP) | 是 |
redirector | Apache 反向代理 + C2 前端 | EIP 仅暴露 80/443 |
mythic | Mythic C2 服务器 | 否 |
sliver | Sliver C2 服务器 | 否 |
adaptix | Adaptix C2 teamserver(无头模式) | 否 |
windows | Windows Server 2022 工作站 | 否 |
kali | Kali Linux 工作站(AD 枚举 + 攻击工具集) | 否 |
运行时计算资源约为 $0.27/小时。若在会话之间执行 terraform destroy(推荐),按典型每周 5-10 小时的学习节奏,预计每月成本约为 $15-20/月。完整明细(包括停止与销毁的权衡):成本管理。
[!CAUTION] 忘记已部署的实验环境是意外 AWS 账单的首要原因。在首次执行
terraform apply之前,请设置 CloudWatch 账单告警。
故障排查 涵盖了实际会遇到的故障模式:Mythic SSL 证书、Sliver 缺失、Adaptix 构建失败、agent 未回连、Marketplace OptInRequired、VPC 限制、redirect.rules 下载问题、Kali 用户重命名、ssh -R 绑定行为等。
入门: 首页 · 快速开始 · 先决条件 · 部署模式 · 部署 · 验证 · 首次运行
参考: 实验环境架构 · 实验环境清单 · Guacamole · 成本管理
C2 后端: Mythic · Sliver · Adaptix
基础设施: Guacamole · Redirector · OpenVPN-Tunnel-Environments
帮助: 故障排除
redStack/
├── README.md This file (the landing page)
├── LICENSE MIT + Commons Clause (also inlined below)
├── assets/ Static images (banner)
├── rs-rsa-key.pem Your AWS SSH key (gitignored, place here)
└── terraform/ All Terraform code
├── main.tf VPC, subnets, ENIs, Mythic, Guacamole, Windows
├── variables.tf Input variables
├── security_groups.tf Per-host security groups
├── sliver.tf Sliver SG, ENI, instance
├── adaptix.tf Adaptix SG, ENI, instance
├── redirector.tf Redirector VPC, peering, SG, ENI, instance
├── kali.tf Kali SG, ENI, instance
├── outputs.tf deployment_info + network_architecture
├── terraform.tfvars Your local config (gitignored)
├── terraform.tfvars.example Sample config
└── setup_scripts/ Cloud-init scripts templated by templatefile()
Terraform 代码按角色划分,每个角色一个文件:Sliver、Adaptix、Redirector 和 Kali 各自拥有自己的 .tf 文件;Mythic / Guacamole / Windows 则与共享的 VPC 脚手架一起位于 main.tf 中。terraform/setup_scripts/ 中的安装脚本会在 apply 时渲染进 user-data。
工作流程:
cd terraform
terraform init
terraform apply
SSH 私钥(rs-rsa-key.pem)位于仓库根目录;terraform.tfvars.example 在 terraform/ 内部将其引用为 ../rs-rsa-key.pem。
感谢 P3n3tr@t0r、Cr4ck3rj4ck5、cyberbandit74 和 wcmocha 测试 redStack 并提供反馈,这些反馈塑造了该平台及其文档。
MIT 许可证附带 Commons Clause。可自由用于任何目的的使用、部署、修改和分享。 商业用途(销售 redStack 或基于其构建付费产品或服务)需要 书面许可。
商业授权请联系:[email protected]。完整条款请参阅 LICENSE。