从零搭建Active Directory实战环境:GOAD安全测试平台部署指南
环境评估:明确需求与资源规划
目标环境概述
GOAD(Game of Active Directory)是一个专注于Active Directory安全测试的虚拟化实验平台,包含多个域控制器、成员服务器和工作站,模拟真实企业网络环境。通过该平台,安全爱好者可以实践各类AD渗透测试技术,包括权限提升、横向移动和域渗透等高级攻击场景。
硬件资源需求分析
不同部署方案对系统资源的需求差异显著,以下是针对不同环境规模的硬件配置建议:
| 环境类型 | 推荐CPU | 内存要求 | 磁盘空间 | 存储类型 | 网络要求 |
|---|---|---|---|---|---|
| GOAD-Mini | 4核8线程 | 16GB | 60GB | SSD | 千兆网卡 |
| GOAD-Light | 6核12线程 | 20GB | 90GB | SSD | 千兆网卡 |
| 完整GOAD | 8核16线程 | 24GB+ | 115GB | SSD | 千兆网卡 |
[!WARNING] 不建议使用HDD存储,虚拟机IO性能不足会导致域控制器部署失败。内存低于推荐值将出现"内存溢出"错误,尤其是在运行完整环境时。
兼容性检查清单
- 操作系统支持:Windows 10/11专业版或企业版(支持Hyper-V)、Linux发行版(Debian 12推荐)
- 虚拟化技术:需启用CPU虚拟化功能(Intel VT-x/AMD-V)
- 软件依赖:Git、Python 3.8+、Vagrant 2.3.x、VirtualBox 7.0或VMware Workstation
方案选择:部署路径决策
部署方案对比分析
方案A:WSL2+Debian 12(推荐)
适用场景:Windows 10/11专业版用户,追求稳定性和资源效率
优势:隔离性好,不影响主机环境,支持所有GOAD功能
劣势:需学习WSL基本操作,网络配置较复杂
方案B:本地Windows直接部署
适用场景:资源有限的单机环境,快速体验
优势:部署步骤少,适合新手入门
劣势:可能与主机环境冲突,不支持部分高级功能
方案C:云平台部署(AWS/Azure)
适用场景:无本地硬件资源,需要弹性扩展
优势:可按需分配资源,支持团队协作
劣势:存在云服务费用,网络延迟较高
分步实施:环境搭建详解
阶段1:基础环境准备
WSL2环境配置(方案A)
# 管理员PowerShell中启用WSL功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 安装Debian 12
wsl --install -d Debian
# 验证WSL版本
wsl --list --verbose # 确保VERSION为2
虚拟化平台安装(以VirtualBox为例)
# 安装Vagrant插件(管理员PowerShell)
vagrant plugin install vagrant-reload vagrant-vbguest winrm winrm-fs winrm-elevated
# 验证安装
vagrant plugin list # 应显示已安装的所有插件
[!WARNING] 必须使用VirtualBox 7.0或更低版本,Vagrant对8.0+版本支持存在兼容性问题。安装前需卸载所有VirtualBox旧版本及残留文件。
阶段2:项目获取与依赖安装
获取GOAD源代码
# Linux/WSL环境
git clone https://gitcode.com/gh_mirrors/go/GOAD
cd GOAD
# Windows PowerShell环境
git clone https://gitcode.com/gh_mirrors/go/GOAD
cd GOAD
Python环境配置
# Linux/WSL环境
sudo apt update && sudo apt install -y python3 python3-pip python3-venv
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.yml
# Windows PowerShell环境
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r noansible_requirements.yml
阶段3:环境部署与初始化
选择部署模式
# Linux/WSL环境 - 部署GOAD-Light(平衡资源与功能)
./goad.sh -l GOAD-Light -p virtualbox
# Windows PowerShell环境
py goad.py -m vm -l GOAD-Light -p virtualbox
网络配置验证

图2:VirtualBox主机网络配置示例,需确保Host-only网络正确配置
# 验证虚拟机网络连接
vagrant status # 应显示所有虚拟机状态为"running"
ping 192.168.56.10 # 测试与DC01的连接
阶段4:环境验证与基础测试
# 进入DC01虚拟机
vagrant ssh dc01
# 验证域控制器状态
samba-tool domain level show # 应显示域功能级别
预期结果:显示"Domain and forest function level: 2016",表明域控制器部署成功。
深度优化:性能调优与功能扩展
资源分配优化
- 内存分配:为域控制器分配至少4GB内存,成员服务器2-4GB
- CPU核心:每个虚拟机分配2-4个CPU核心,总数不超过物理CPU核心数
- 磁盘IO:启用VirtualBox的"固态驱动器"选项,提升磁盘性能
网络性能优化
# 在WSL中配置端口转发(如需从主机访问虚拟机服务)
sudo iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 192.168.56.10:3389
功能扩展安装
# 安装ELK日志分析扩展
./goad.sh -e elk
排错指南:常见问题解决方案
虚拟化相关错误
错误类型:VT-x未启用
问题:虚拟机启动失败,提示"VT-x is not available"
方案:进入BIOS启用CPU虚拟化功能
验证:任务管理器→性能→CPU→虚拟化:已启用
错误类型:网络适配器冲突
问题:虚拟机无法获取IP地址
方案:
# 重置VirtualBox网络
vboxmanage hostonlyif remove vboxnet0
vboxmanage hostonlyif create
vboxmanage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1 --netmask 255.255.255.0
部署过程错误
错误类型:Ansible连接超时
问题:部署卡在"waiting for WinRM"
方案:
# 检查WinRM配置
vagrant winrm dc01 -c "winrm get winrm/config"
验证:确保"Basic"认证已启用,端口5985处于监听状态
错误类型:磁盘空间不足
问题:虚拟机创建失败,提示"no space left on device"
方案:清理Vagrant缓存
vagrant box prune # 删除未使用的虚拟机镜像
环境优化建议
- 快照管理:在关键阶段创建虚拟机快照,特别是在成功部署后和进行重大配置更改前
- 资源动态调整:根据测试需求临时调整虚拟机资源,闲置时可降低分配
- 网络隔离:为GOAD环境配置独立虚拟网络,避免与主机网络冲突
- 定期更新:通过
goad.sh update命令保持环境组件最新 - 日志管理:启用ELK扩展收集安全事件日志,增强攻击检测能力
后续学习路径
基础学习(1-2周)
- 熟悉Active Directory基本概念:域、OU、组策略、信任关系
- 练习基本操作:使用
net命令管理用户和计算机,ADUC控制台操作
中级挑战(2-4周)
- 实现常见攻击路径:AS-REP Roasting、Kerberoasting、NTLM中继
- 使用BloodHound分析域内权限关系
- 实践GPO滥用和权限维持技术
高级探索(1-2个月)
- 研究复杂域信任场景下的攻击链构建
- 尝试ADCS相关漏洞利用(ESC系列)
- 开发自定义渗透测试工具和自动化攻击脚本
通过GOAD平台的实战演练,不仅能深入理解Active Directory的安全机制,还能培养在真实环境中应对复杂安全挑战的能力。建议结合官方文档和社区资源持续学习,跟踪最新的AD安全研究成果。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0152- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112

