从零搭建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 StartedJavaScript095- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00

