猎取Azure云秘密的实战艺术

admin 2026-08-10 04:57:27 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍Azure密钥搜寻与提权技术及两款工具。MicroburstSecretsHunter离线扫描数据快速定位密钥并生成脱敏报告;SecretsStalker验证客户端秘密权限,揭示通往订阅接管的提权路径。文章强调订阅接管比全局管理员更具隐蔽性与价值,建议结合BARK利用,为云红队提供高效实战方案。 综合评分: 87 文章分类: 渗透测试,云安全,安全工具,红队,实战经验


cover_image

猎取 Azure 云秘密的实战艺术

幻泉之洲

2026年8月9日 10:05 北京

在小说阅读器读本章

去阅读

在 Azure 云渗透测试中,发现明文存储的密钥往往是突破权限的关键。本文公开两款新工具:Microburst Secrets Hunter 离线扫描 Microburst 收集的数据,快速定位密钥;Secrets Stalker 则能验证客户端秘密的实际权限,并揭示通往订阅接管的高价值攻击路径。文章通过演示与实战分析,拆解了从密钥发现到权限提升的完整思路。

云环境里挖秘密,能把一次普通的测试直接变成提权战。平平无奇的发现的旅程,跟拿下整个订阅、甚至全局管理员权限,有时就差一套找秘密的本事。

我这次放出两个工具。目的很简单:在 Azure 里搜寻那些本不该出现的秘密时,帮你省下大量时间。

Microburst 是 NetSPI 做的一个公开工具,可以用已认证的 Azure 账户枚举各种资产。想把它跑出最大效果,一般建议先有订阅读取权限。项目地址在 GitHub:https://github.com/Netspi/Microburst

通常流程是,收集完数据后,测试人员就开始翻逻辑应用、虚拟机扩展、自动化账户、Azure 资源部署日志里藏着的秘密。麻烦的是,这些动作很花时间,而且环境一大,很容易漏掉某些能帮你提权的凭证。错一个,整个方向就变了。

我让 AI 帮忙,手搓了一套功能完整的工具集,专门用来搜索 Microburst 收集到的秘密。做这事不需要多高级的大模型,关键是你得想清楚怎么搭、问对问题、做好代码审查,别搞出个大量误报的玩意儿。Microburst Secrets Hunter 就是给 Microburst 做后渗透配套的,完全离线跑,用之前枚举的数据就行。我还加了带脱敏的可操作报告,导入报告工具几乎不费力。

下载地址:https://github.com/rootsecdev/MicroburstSecretsHunter

光说不练没意思。为了保护那些存在问题的云环境,我搞了一套模拟 Microburst 输出的样例数据,用来展示命令咋用、跑出来的结果长什么样。

我加了两种使用方式,看你所处的环境,以及你对直接运行脚本和导入模块这件事有多大的戒备心。

用法示例:

克隆或拷贝此文件夹,在 PowerShell 中执行:

.\Scan-MicroBurst.ps1 -Path .\MicroBurst-2026 -Verbose

或者

导入模块并使用 cmdlet

Import-Module .\MicroBurstSecretsHunter.psd1 -Force Invoke-MBSecretScan -Path .\MicroBurst-2026

默认所有扫描结果都做脱敏处理。如果你想,也可以加开关导出完整的未脱敏数据。

导出脱敏秘密的语法:

.\Scan-MicroBurst.ps1 -Path .\MicroBurst-2026 -ShowSecrets

扫描时,会先给出各类发现的总览。

图1 – 示例扫描结果

默认产生两种格式的输出。CSV 文件会自动生成,后续写报告、记录秘密所在位置和它们能访问到什么,会省很多事。输出目录里还会有一个 .html 文件。

图2 – 输出目录

这个 .html 文件用起来像仪表盘,验证明文秘密的时候很方便。可以按规则和严重性过滤。严重性等级别当金科玉律,我只是用它来排秘密搜寻的优先级,按战略价值分。

图3 – HTML 报告

光找出秘密还不够。这篇博客要进一步说客户端秘密那点事:怎么判断 Azure 里的第三方应用是不是有更大的云访问权限。

你找到了一个客户端秘密。然后呢?拿下这个应用能不能钻进 Azure 或者 Graph API?必须验证那个秘密,还得手动枚举。可枚举起来动静不小。比如跑 AzureHound 去看失陷应用到底有多大权限,规模一大,既费时又容易触发告警。为了帮这个忙,我放出第二个免费开源工具:Secrets Stalker。地址:https://github.com/rootsecdev/SecretsStalker

强烈建议在虚拟环境里装依赖,别把系统包搞乱。

示例:

virtualenv -p python3 venv source venv/bin/activate pip3 install .

装完有几种跑法。我推荐用环境变量传凭据,避免留在 shell 历史里。

export SS_TENANT=contoso.onmicrosoft.com export SS_CLIENT_ID=11111111-2222-3333-4444-555555555555 export SS_SECRET=” python -m secret_stalker

我已经把秘密导入环境变量,跑起来后:

图4 – Secret Stalker 信息

能看到返回了一个有效秘密,还有过期时间。同时获取了 Graph 和 Azure Resource Manager (ARM) 的令牌。目前这些令牌不可导出,只是为了证明我们已经拿到了能用的客户端秘密。

往下看,这个应用确实有 Graph 权限。我还觉得同样重要的是,要在 ARM 里看看应用是否能访问管理组或订阅。这对判断应用是否具备向 Azure 订阅扩展的访问权很关键。我还加入了提权路径。下面这个例子就是应用能对目录对象(如用户和组)进行写操作。

说实话,这是我偏爱的提权路径——如果一个组有订阅所有权,直接就能接管订阅。订阅接管在我看来比全局管理员 RBAC 角色的价值更高,因为订阅有时监控更松,你在里面搞提权,被发现的概率低得多。

图5 – Graph 权限提升

我没有把 Secrets Stalker 完全武器化。这次公开的版本只是让渗透测试和红队人员能看到一个客户端秘密到底有多大访问权限。如果想探索实际的提权操作,去看 BloodHound 的攻击研究工具包 BARK:https://github.com/BloodHoundAD/BARK

祝各位,云中秘密狩猎愉快,黑得开心。


参考资料

[1] https://trustedsec.com/blog/the-art-of-hunting-azure-cloud-secrets


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:幻泉之洲 《猎取 Azure 云秘密的实战艺术》

评论:0   参与:  0