Kjean13/goad-light-deployment
GitHub: Kjean13/goad-light-deployment
提供在VirtualBox上部署Orange Cyberdefense GOAD-Light脆弱AD实验室的详细步骤和故障排除指南,并额外集成了检测栈用于攻击链验证。
Stars: 1 | Forks: 0
# GOAD-Light:个人部署指南
**[完整部署报告(PDF)](docs/Jean_Koumou_Deploy_GOAD_report.pdf)**
## 免责声明
**GOAD 是 Orange Cyberdefense 的专属作品。**
本仓库对 GOAD 没有任何所有权主张,包括其架构、Ansible playbooks、PowerShell 脚本、脆弱的 AD 配置以及攻击场景。所有内容均属于 Orange Cyberdefense 及其贡献者。
您在这里找到的纯粹是**个人体验报告**:我执行的精确命令、遇到的错误、解决方法,以及之后在此实验环境上构建的内容。没有任何内容被重新分发。请始终从[官方仓库](https://github.com/Orange-Cyberdefense/GOAD)克隆 GOAD。
## 什么是 GOAD?
一个由 Orange Cyberdefense 维护的**刻意脆弱的 Active Directory 实验室**。它提供多个带有真实 AD 错误配置的 Windows Server 虚拟机、Kerberoasting、ACL 滥用、委派问题、信任攻击。您可以在安全、隔离的环境中练习进攻和防御技术。

### 可用的实验室变体
Orange Cyberdefense 在[官方仓库](https://github.com/Orange-Cyberdefense/GOAD)上维护多个变体。本指南仅涵盖 **GOAD-Light**。请参阅官方文档以获取完整和最新的列表。
| 实验室 | 虚拟机 | 所需内存 | 备注 |
|-----|-----|--------------------------|-------|
| **GOAD-Light** | 3 | 约 12 GB | 本指南。最佳起点。 |
| **GOAD** | 5 | 约 24 GB | 完整实验室,更多域和场景。 |
| **SCCM** | 4 | 约 16 GB | 专注于 SCCM/MECM 攻击路径。 |
| **NHA** | 5 | 约 20 GB | 不允许手动——无引导场景。 |
## 实验室架构
```
sevenkingdoms.local
┌───────────────────────────────────────┐
│ DC01 — 192.168.56.10 │
│ Windows Server 2016 │
│ Domain Root Controller │
└────────────────┬──────────────────────┘
│ Bidirectional trust / Trust bidirectionnel
┌────────────────▼──────────────────────┐
│ north.sevenkingdoms.local │
│ DC02 — 192.168.56.11 │
│ Windows Server 2016 │
│ Child Domain Controller │
│ │
│ SRV02 — 192.168.56.22 │
│ Windows Server 2016 │
│ Member Server · MSSQL · No Defender │
└───────────────────────────────────────┘
Host-Only network / Réseau isolé : 192.168.56.0/24
Local credentials / Credentials : vagrant / vagrant
```
## 我在此基础上构建的内容
GOAD-Light 被用作更广泛的检测实验室的**目标环境**。在同一隔离网络上添加了三个额外层:
**技术栈:**
- **GOAD-Light**:脆弱的 AD 目标
- **Kali Linux**:同一网段上的攻击机器
- **Suricata**:用于东西向流量检查的内联网关
- **Wazuh**:用于日志收集、告警关联和检测规则测试的 SIEM
此设置允许执行真正的攻击链(Kerberoasting、横向移动、DCSync...)并验证端到端的检测覆盖范围——从 Suricata 中的网络级签名到 Wazuh 中的端点遥测。
## 机器规格(已测试)
用于此部署的主机规格:
| 组件 | 规格 |
|---|---|
| 操作系统 | Ubuntu 24.04 LTS |
| CPU | Intel Core i7 — 8 核心 |
| 内存 | 16 GB |
| 磁盘 | 约 95 GB 用于实验室 |
| 虚拟机管理程序 | Oracle VirtualBox 7.x |
**每虚拟机(GOAD-Light):**
| 虚拟机 | vCPU | 内存 | 磁盘 | 操作系统 |
|----|------|-----|---------------|----|
| GOAD-Light-DC01 | 2 | 2 GB | 60 GB | Windows Server 2016 |
| GOAD-Light-DC02 | 2 | 2 GB | 60 GB | Windows Server 2016 |
| GOAD-Light-SRV02 | 2 | 2 GB | 60 GB | Windows Server 2016 |
## 安装
### VirtualBox
```
sudo apt install -y virtualbox virtualbox-ext-pack
sudo usermod -aG vboxusers $USER
sudo reboot
```
### Vagrant + Ansible
```
sudo apt install -y vagrant ansible-core python3-pip
pip3 install --user pywinrm
```
### 3. 克隆 GOAD
```
git clone https://github.com/Orange-Cyberdefense/GOAD.git ~/GOAD
cd ~/GOAD
```
### 4. 设置 Ansible 集合
**关键步骤。** 这可以避免 `module not found` 错误,并消除对 Ansible Galaxy 的任何依赖,Ansible Galaxy 可能很慢或不可用。
```
mkdir -p ansible/collections/ansible_collections
cp -r /usr/lib/python3/dist-packages/ansible_collections/* \
ansible/collections/ansible_collections/
```
### 5. 创建 `ansible.cfg`
```
cat > ansible.cfg << 'EOF'
[defaults]
collections_paths = ./ansible/collections:/usr/lib/python3/dist-packages/ansible_collections
host_key_checking = False
interpreter_python = auto_silent
timeout = 60
gather_timeout = 60
deprecation_warnings = False
[ssh_connection]
pipelining = True
EOF
```
### 6. 部署
```
./goad.sh -t install -l GOAD-Light -p virtualbox -m local
```
预计需要**约 2 小时**。请勿中断。
```
# 成功
dc01 : ok=18 unreachable=0 failed=0
dc02 : ok=33 unreachable=0 failed=0
srv02 : ok=18 unreachable=0 failed=0
[*] Lab successfully provisioned in 01:57:41
```
## 验证
```
VBoxManage list runningvms
ping -c 2 192.168.56.10 # DC01
ping -c 2 192.168.56.11 # DC02
ping -c 2 192.168.56.22 # SRV02
nc -zv 192.168.56.10 88 # Kerberos
nc -zv 192.168.56.10 389 # LDAP
nc -zv 192.168.56.10 445 # SMB
```
## 常见错误
**`NS_ERROR_FAILURE`**
→ `vboxusers` 组未激活。请重启。
**`couldn't resolve module ansible.windows`**
→ 步骤 4 失败或被跳过。请重新执行。
**`dc01 上 unreachable=1`**
→ DC01 在域提升后重启了。请等待 10 分钟,然后重新运行。Ansible 会恢复。
**`machine already exists`**
→ 旧虚拟机仍在注册。清理方法:
```
VBoxManage controlvm "GOAD-Light-DC01" poweroff 2>/dev/null
VBoxManage unregistervm "GOAD-Light-DC01" --delete
# 为 DC02 和 SRV02 重复
rm -rf ~/GOAD/workspace/*
```
**`Ansible Galaxy HTTP 500`**
→ Galaxy 宕机。如果步骤 4 已完成,则没有影响。
## 日常使用
```
# 启动
VBoxManage startvm "GOAD-Light-DC01" --type headless
VBoxManage startvm "GOAD-Light-DC02" --type headless
VBoxManage startvm "GOAD-Light-SRV02" --type headless
# 停止
VBoxManage controlvm "GOAD-Light-DC01" acpipowerbutton
VBoxManage controlvm "GOAD-Light-DC02" acpipowerbutton
VBoxManage controlvm "GOAD-Light-SRV02" acpipowerbutton
# Snapshot
VBoxManage snapshot "GOAD-Light-DC01" take "clean"
VBoxManage snapshot "GOAD-Light-DC02" take "clean"
VBoxManage snapshot "GOAD-Light-SRV02" take "clean"
```
## 致谢
**GOAD** 由 **Orange Cyberdefense** 创建和维护。
所有权利归其及其贡献者所有。
| | |
|---|---|
| 官方仓库 | [github.com/Orange-Cyberdefense/GOAD](https://github.com/Orange-Cyberdefense/GOAD) |
| 官方文档 | [orange-cyberdefense.github.io/GOAD](https://orange-cyberdefense.github.io/GOAD/) |
*作者:Jean Koumou · [GitHub](https://github.com/Kjean13) · 蓝队*
标签:ACL滥用, Active Directory安全, AD域安全, Ansible, GOAD, IPv6, Kerberoasting, Kerberos攻击, Metaprompt, Orange Cyberdefense, PowerShell, StruQ, TGT, VirtualBox, Web报告查看器, Windows Server, 委派攻击, 攻击技术练习, 攻防演练, 故障排除, 数据展示, 漏洞实验室, 漏洞靶场, 系统提示词, 红队, 逆向工具, 防御检测, 靶场部署