成为他人G Suite组织超级管理员并接管控制的方法
大家好!好久没在这里发帖了 :)
众所周知,我计划撰写多年来通过微软漏洞赏金计划完成的研究报告。仍在摸索最佳撰写方式和报告选择。在此期间,我将分享一些在谷歌的研究成果。
微软和谷歌是我主要参与的两个赏金计划,谷歌计划也带来了丰硕的研究成果 :)
今天我将展示如何将自己添加为他人G Suite账户的超级管理员。
概念验证(POC)
G Suite是谷歌为组织和教育机构提供的产品套件,类似于微软的O365。在G Suite中,组织的主要管理员是超级管理员,拥有所有权限:创建群组、管理用户、修改密码等。组织应尽量减少超级管理员数量以降低账户泄露风险。
但如果能在他人G Suite组织中创建超级管理员账户呢?如果能够直接加入任何G Suite组织并成为超级管理员呢?这就是本次研究的起点。
谷歌有一个名为domains.google.com的功能,这是谷歌运营的域名注册商。在此平台上可以创建G Suite订阅并进行管理,包括添加用户、设置超级管理员、管理支付方式等。
通过domains.google.com添加用户时,会启动一个流程并发送多个请求。具体流程是:通过domains.google.com添加管理员用户 → 发送添加用户请求 → 打开支付门户为新增用户付费。通过分析请求并替换正确ID,即可向任意G Suite组织添加管理员。
请求分析
在domains.google.com添加管理员时,会发送三个请求:
第一个请求:
|
|
第二个请求:
|
|
第三个请求:
|
|
这三个请求将用户1337.baby添加到testdomain4534.com的G Suite组织。
攻击实施
需要两个关键信息:
- 目标G Suite组织的域名(如amazingpotato.org)
- 目标G Suite组织的ID(如25879957)
替换步骤:
- 将所有请求中的testdomain4534.com替换为目标域名
- 替换所有请求中的组织ID(如5896212 → 25879957)
- 替换用户ID相关信息
修改后的第一个请求示例:
|
|
完成所有三个请求的替换后,系统会弹出购买用户的提示。支付成功后,超级管理员账户将被添加到目标组织,账户密码将发送到攻击者邮箱。