diemoeve/oxide-infra
GitHub: diemoeve/oxide-infra
一套结合Terraform与Ansible的自动化C2部署框架,专为红蓝对抗和紫队演练提供云端攻击基础设施与本地闭环靶场。
Stars: 2 | Forks: 0
# Oxide 基础设施
用于安全研究和紫队演练的自动化 C2 基础设施部署。
**仅供实验室使用。所有部署目标必须是您拥有或已获得明确书面授权进行测试的系统。默认目标为隔离的虚拟机实验室 (10.10.0.0/24)。请参阅 `DISCLAIMER.md`。**
## 技术栈
| 工具 | 用途 |
|------|---------|
| Terraform | VPS 配置管理 (DigitalOcean / Hetzner),DNS,重定向器 |
| Ansible | Panel 部署,重定向器配置,监控设置 |
| libvirt + Packer | 本地紫队实验室 (5台 VM 拓扑,S36,截至 v1.0-preview 仅支持 IaC) |
## 结构
```
terraform/ # Cloud attacker infra (existing)
├── modules/
│ ├── c2-server/ # Panel VPS
│ ├── redirector/ # Traffic redirector
│ └── dns/ # Domain + records
└── environments/
├── lab/ # Local VirtualBox lab (legacy)
└── cloud/ # Cloud deployment
libvirt/ # Purple lab on libvirt (S36, new)
├── network-oxide-lab.xml # Isolated host-only network 10.10.100.0/24
├── pools/ # qcow2 storage pool
└── domains/ # Domain XML templates per VM role
packer/ # Base image build templates (S36)
├── alpine-base.pkr.hcl
├── ubuntu-base.pkr.hcl
└── win11-base.pkr.hcl
ansible/
└── roles/
├── panel/ # Deploy oxide panel (cloud)
├── redirector/ # Configure nginx / Apache
├── monitoring/ # Elastic + Zeek (cloud)
├── victim/ # Legacy victim VM setup
├── lab-siem/ # S36 Wazuh 4.9 manager + indexer + dashboard
├── lab-zeek/ # S36 Zeek 6 sensor on labBr0 PROMISC
├── lab-win11/ # S36 Win11 + Defender + Sysmon (Olaf Hartong modular)
├── lab-ubuntu/ # S36 auditd victim + Wazuh agent
└── lab-attacker/ # S36 attacker VM + tooling
scripts/ # S36 lab control plane
├── bootstrap.sh # up | down | status | snapshot
├── is_up.sh # Health check
├── lab-revert.sh # Snapshot rollback per VM
└── lab-seal-base.sh # Freeze packer base into reusable qcow2
```
## 使用方法(云端)
```
cd terraform/environments/cloud && terraform apply
cd ansible && ansible-playbook site.yml
```
## 使用方法(本地 libvirt 紫队实验室,S36)
```
./scripts/bootstrap.sh up
./scripts/is_up.sh
```
**S36 状态 (v1.0-preview):** 代码已完成,运行时未经校验。首次启动时有六个已知问题需要解决。请参阅 `docs/lab/TROUBLESHOOTING.md`。摘要:
1. 从 sysinternals.com 下载 Sysmon 二进制文件(实验室为 host-only 模式)
2. Wazuh apt 安装程序在首次配置 (`siem` role) 期间需要连接互联网
3. Win11 OpenSSH Server 存在鸡生蛋还是蛋生鸡的问题(Ansible 需要 SSH;封装的基础镜像必须包含 OpenSSH)
4. 复用现有的 137 GB qcow2 作为 Win11 基础镜像,其中包含先前会话残留的未知状态
5. 将 Sigma 规则同步至 `siem.lab` 需要在宿主机和 VM 之间执行 rsync
6. 尚未测试部分启动(先启动 siem + zeek,然后启动受害者)作为分组定义的情况
该实验室是闭环基准测试路径(S36 至 S38)的一部分。0/72 stage1 路径独立于此实验室。
## 检测集成
libvirt 紫队实验室部署了 Wazuh manager + indexer + dashboard、Sysmon (Olaf Hartong 模块化配置) 以及带有 foxio/ja4 zkg 软件包的 Zeek 6。来自 oxide 主仓库 (`oxide/detection/sigma/`) 的 Sigma 规则,会在 SIEM 配置阶段通过 sigma-cli 的 `wazuh` 后端转换为 Wazuh XML 格式,转换失败的规则列表将被记录下来以便手动重写。
## 相关项目
- [oxide](https://github.com/diemoeve/oxide) - Implant + Panel
- [oxide-loader](https://github.com/diemoeve/oxide-loader) - 交付链
- [oxide-stealer](https://github.com/diemoeve/oxide-stealer) - 凭据提取
## 许可证
MIT
标签:Ansible, auditd, C2基础设施, EC2, ECS, Hetzner, IaC, libvirt, OPA, OpenCanary, Packer, Rootkit, Sysmon, Terraform, VPS, Wazuh, Windows 11, Zeek, 企业安全, 域名系统, 基础架构即代码, 应用安全, 插件系统, 数字海洋, 数据展示, 流量重定向, 特权提升, 监控, 系统提示词, 紫队训练, 红队, 网络信息收集, 网络安全, 网络资产管理, 自动化部署, 隐私保护, 靶场