
从零到通关EntraGoat 部署全流程与高频故障自救【免费下载链接】EntraGoatA deliberately vulnerable Microsoft Entra ID environment. Learn identity security through hands-on, realistic attack challenges.项目地址: https://gitcode.com/GitHub_Trending/en/EntraGoatEntraGoat 部署最容易卡住的环节往往不是代码而是环境它要在你的 Entra ID 测试租户里注入真实的身份配置错误和提权路径租户、权限、Graph SDK 任何一环没对齐脚本都会在第一步就报错。这篇文章写给第一次接触 EntraGoat 的安全新手按环境体检、三步上线、验证交付、故障自救的顺序带你把 6 个挑战场景完整跑通。 出发前环境体检清单这一步解决明明照着做却连不上的问题——EntraGoat 安装失败九成是前置条件没对齐花五分钟把下表过完后面能少走很多弯路。检查项要求快速确认方式租户专用 Entra ID 测试/试用租户绝不用生产登录租户后确认里面没有业务用户权限当前账号是 Global AdministratorEntra 管理中心 → 角色分配里能看到 GA 角色Graph SDKMicrosoft.Graph PowerShell 模块下面这条命令有版本输出即可系统与运行时Windows PowerShell 5.1 或 7GUI 路线必需Web 路线另需 Node.js 和 npmnode -v、npm -v能打印版本号网络浏览器可达 Entra 管理中心和 Graph 端点能正常打开并登录管理中心Get-Module -ListAvailable Microsoft.Graph | Select-Object Name, Version更细的前置说明可以对照 docs/getting-started.md。 第一公里三步把部署走通这一步解决东西装在哪、从哪个文件开始跑的问题。整个 EntraGoat 部署就是三步拿代码、装 SDK、选一条路线启动界面。步骤 1克隆仓库认准入口文件git clone https://gitcode.com/GitHub_Trending/en/EntraGoat cd EntraGoat入口文件是根目录的Start-EntraGoat.ps1走纯手动路线的话脚本都在scenarios/目录里。步骤 2安装 Microsoft Graph PowerShell SDKInstall-Module Microsoft.Graph -Scope CurrentUser -Force装过但版本较旧的话用Update-Module Microsoft.Graph升到最新即可不需要卸载重装。步骤 3挑一条路线启动界面路线 APowerShell GUI推荐无需 Node.js.\Start-EntraGoat.ps1窗口打开后6 个挑战按难度排列成卡片每张卡片可以直接运行 setup 和 cleanup 脚本提示词默认折叠不会剧透。界面支持CtrlPlus/CtrlMinus/Ctrl0缩放。路线 BWeb UIcd frontend npm install npm start浏览器打开http://localhost:3000点挑战卡看详情具体脚本仍需在终端执行。✅ 交作业验证部署可用这一步解决到底算不算装好了的问题——部署没有报错不等于环境就绪用下面三个检查点确认闭环成立。界面层GUI 首页能看到 6 张挑战卡片和 0/6 的进度或 Web 版在localhost:3000正常出仪表盘。脚本层在挑战页点 Run Setup终端里没有红色[-]报错、横幅流程走完到 Entra 管理中心里能看到脚本新建的用户和应用以场景 1 为例会建出Finance Analytics Dashboard应用和一组测试账号。可玩层挑战页给出起始低权限账号用它登录沿攻击链一路提权到 Global Admin最后把 flag 提交回 GUI。flag 就藏在管理员用户的extensionAttribute1里找不到就去翻这个字段。每个场景都配有攻击路径图以场景 5 为例验证通过的标志一句话setup 干净跑完、租户对象就位、能完整走一遍 setup → 提权 → flag → cleanup。 翻车自救高频故障按症状排查这一步把 EntraGoat 排障拆成症状 → 原因 → 处置三段不靠猜按对号入座的方式处理。认证卡在 Connect-MgGraph症状脚本在连接 Graph 阶段报认证错误或浏览器弹窗登录后依然失败。原因当前 PowerShell 会话没有有效的登录上下文或弹窗里误选了别的租户。处置先手动执行Connect-MgGraph -Scopes Directory.ReadWrite.All -TenantId 你的租户ID确认登录时选中的是测试租户再重跑脚本。SDK 装不上Install-Module 报错症状Install-Module Microsoft.Graph提示权限不足或无法安装。原因没加-Scope CurrentUser时系统要求管理员身份或网络策略拦了 PowerShell Gallery。处置以管理员身份重开 PowerShell 再装或保留-Scope CurrentUser普通身份安装仍失败就先解决到 Gallery 的网络连通性。setup 中途报对象已存在症状脚本跑到一半提示重名对象已存在直接中断租户里残留了半个场景。原因上次 setup 没跑完或没清理同名用户、应用还留在租户里。处置先执行cleanups/目录里对应的 cleanup 脚本清场再重跑 setup两个目录按场景编号一一对应。GUI 在 macOS / Linux 上起不来症状执行Start-EntraGoat.ps1报 WPF 相关类型找不到的错误。原因PowerShell GUI 基于 WPF 构建只支持 Windows。处置换 Web UInpm start或纯手动脚本路线功能完全等价。提示缺少 Microsoft.Graph.* 模块症状脚本报Microsoft.Graph.Users等子模块不存在。原因只装了主包但子模块没拉全或整体版本太旧。处置脚本会询问是否从 PowerShell Gallery 自动补装选 Y 即可也可以手动Update-Module Microsoft.Graph后重跑。加分项让环境更稳的进阶习惯手动精细部署跳过界面直接跑单场景cd scenarios后执行.\EntraGoat-Scenario1-Setup.ps1 -TenantId 你的租户ID适合需要精确控制或排查的场景脚本清单见 scenarios/。进度重置完成状态存在%APPDATA%\EntraGoat\state.json执行.\Start-EntraGoat.ps1 -Reset可一键清零。配额与节奏别并行跑多个场景setup 脚本内有 5~10 秒的对象复制等待属正常现象别中途掐掉。清理习惯每打完一个场景就跑对应 cleanup租户保持干净下次 setup 就不会撞重名对象。 红线合规三条底线仅用于教育和授权测试不是生产环境的诊断工具。只在专用测试租户里跑任何情况下远离生产数据。在授权范围内使用并遵守当地法规完整条款见LICENSE。跑通第一遍之后重点不是把 6 个 flag 全交掉而是回头看 setup 脚本里每一处配置错误是如何被利用起来的那才是这套环境最值钱的部分。挑战详情在 docs/challenges.md遇到问题回上面翻车自救一节对照处理即可。【免费下载链接】EntraGoatA deliberately vulnerable Microsoft Entra ID environment. Learn identity security through hands-on, realistic attack challenges.项目地址: https://gitcode.com/GitHub_Trending/en/EntraGoat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考