GOAD项目安装指南:从环境准备到配置详解
项目概述
GOAD(Game of Active Directory)是一个专注于Active Directory安全研究的实验环境项目,它提供了完整的AD域环境构建,可用于红队演练、安全测试和防御技术研究。本文将详细介绍GOAD的安装过程,帮助用户快速搭建实验环境。
系统环境准备
GOAD支持多种操作系统和虚拟化平台,在安装前需要做好基础环境准备:
Linux系统准备
- 确保系统已安装Python 3.10或更高版本
- 安装必要的系统工具:sshpass、lftp、rsync等
- 配置合适的虚拟化环境(VirtualBox/VMware等)
Windows系统准备
- 若使用WSL,需确保已启用WSL2功能
- 安装必要的Windows子系统组件
- 配置网络环境以支持虚拟机运行
快速安装指南(TLDR)
对于Ubuntu 22.04用户,可通过以下命令快速完成安装:
# 安装VirtualBox
sudo apt install virtualbox
# 安装Vagrant及其插件
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install vagrant
vagrant plugin install vagrant-reload vagrant-vbguest winrm winrm-fs winrm-elevated
# 安装其他依赖
sudo apt install sshpass lftp rsync openssh-client python3.10-venv
# 获取GOAD项目并验证安装
git clone https://github.com/Orange-Cyberdefense/GOAD.git
cd GOAD
./goad.sh -t check -l GOAD -p virtualbox
# 执行完整安装
./goad.sh -t install -l GOAD -p virtualbox
# 进入交互模式
./goad.sh
完整安装流程解析
GOAD安装分为三个关键阶段:
-
模板生成阶段(Templating)
- 为Proxmox和Ludus平台生成必要的虚拟机模板
- 此阶段仅特定平台需要
-
虚拟机实例化阶段(Provisioning)
- 根据选择的虚拟化平台创建虚拟机实例
- 支持多种平台:VirtualBox、VMware、Proxmox等
-
环境配置阶段(Configuration)
- 使用Ansible完成所有实验环境的自动化配置
- 安装AD域控制器、成员服务器等组件
安装脚本参数详解
GOAD提供的安装脚本支持多种参数配置:
-p
:指定虚拟化平台(vmware/virtualbox/proxmox等)-l
:选择实验环境类型(GOAD/GOAD-Light/SCCM等)-m
:安装方法选择(local/runner/docker/remote)-ip
:自定义IP地址范围
推荐新手使用交互模式启动脚本:./goad.sh
,然后通过帮助菜单(?
)了解各项功能。
Python依赖管理
GOAD的核心管理脚本已从Bash迁移到Python,提供了更灵活的扩展能力。项目包含多个Python依赖模块:
核心依赖
- rich:终端美化输出
- psutil:系统资源监控
- Jinja2:模板引擎
- pyyaml:YAML文件处理
Ansible相关依赖
- 根据Python版本不同需安装对应版本的ansible-core
- pywinrm:Windows远程管理支持
云平台特定依赖
- Azure:azure-identity, azure-mgmt-compute等
- AWS:boto3
- Proxmox:proxmoxer, requests
用户可通过-d
参数禁用不需要的模块,减少依赖安装。例如仅使用Docker方式时可禁用本地和runner方法。
配置文件详解
全局配置文件($HOME/.goad/goad.ini)
首次运行时自动生成,包含:
- 默认实验环境配置
- 各虚拟化平台的专用参数
- AWS/Azure等云服务的区域设置
- Proxmox的API连接信息
全局设置文件(globalsettings.ini)
Ansible使用的全局配置,可自定义:
- 键盘布局设置
- 网络代理配置
- 路由规则
- DNS转发器设置
- WinRM通信的SSL配置
最佳实践建议
- 环境隔离:建议使用Python虚拟环境安装依赖
- 资源分配:根据实验规模合理分配CPU和内存资源
- 网络规划:提前规划好IP地址范围,避免冲突
- 备份配置:修改重要配置文件前做好备份
- 分步验证:先执行检查模式(-t check)验证环境
通过本文的详细指导,即使是初学者也能顺利完成GOAD实验环境的搭建,为后续的Active Directory安全研究奠定基础。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考