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 滥用、委派问题、信任攻击。您可以在安全、隔离的环境中练习进攻和防御技术。 ![GOAD-Light 架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/08621516d4235136.svg) ### 可用的实验室变体 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, 委派攻击, 攻击技术练习, 攻防演练, 故障排除, 数据展示, 漏洞实验室, 漏洞靶场, 系统提示词, 红队, 逆向工具, 防御检测, 靶场部署