挖洞经验 | 谷歌云服务平台的组织资源名称可修改漏洞($7500)

作者:深圳市网安计算机安全检测技术有限公司 | 国际 2019/03/07 13:49:59 484
文章来源:https://www.freebuf.com/vuls/196339.html

谷歌云服务平台(Google Cloud Platform,GCP)可用来方便用户集中管理开发工程、账单账户或IAM角色等多种资源服务项目(Resource)。在这篇文章中,作者发现了谷歌云服务中组织资源名称的可修改漏洞,可利用这种可修改特性,结合谷歌云服务中的分享和依赖关系,可假冒组织资源,对GCP用户实现欺骗。

why-gcp-icon-red

谷歌云服务中的组织资源介绍

GCP服务项目依赖存在于宿主项目中,如果你不再需要某服务项目,可以选择删除(关闭)该服务项目,但在此之前,需要确保该服务项目已从宿主项目中分离。删除(关闭)该服务项目后,依然具有一个月的可恢复期限,在这期间,可以选择恢复该服务项目。

因此,重要的是,用户需要注意自己服务项目的存放位置,如果出于某些原因,用户在某个不可信的组织资源中创建了一个账单账户(设置组织资源),那么最终,其他恶意人员可能会利用这个账单账户来进行支付操作。

现在的问题就是,如何在一个组织资源中创建服务项目呢?在此,有两种方法:

如果你是 G Suite 或 Cloud Identity 用户,系统会自动为你提供组织资源,这样的话,就可在其中来创建服务项目了

或者是有可以共享的组织资源

漏洞分析

GCP下的组织资源(Organizations)可被共享给任意谷歌身份管理系统(IAM)认可的谷歌用户。所以,如果我共享给多个谷歌用户的话,可能某个用户会在其中不经意地创建一个服务项目(Resource),那么,我也就能够任意来管理这个项目了。

但是,GCP的组织资源具备名称和域名属性,就比如我个人的组织资源就叫”ezequiel.tech”,这种名称可能会让人觉得有些奇怪。我发现,出于某些原因,可以从GCP组织资源管理下的一个弃用方法(Deprecated) – organizations.update 来对组织资源名称进行修改,即使该方法下显示的’displayName’参数是可读的,也一样可以发起修改操作。

通过这种方法,我可以用我自己的组织资源来做测试,可以把它的修改成其它迷惑人的名称,比如:

我把它的名称修改为”<IMPORTANT-COMPANY>.com”;

然后,把它以 “domain:<IMPORTANT-COMPANY>.com”分享给任意谷歌用户

一些毫无戒心的用户可能会在这个组织资源中创建项目,特别是一些账单账户和管理敏感信息的项目,这样,这种新创建的项目可以简单地执行关闭,即使执行了删除动作,我也可以重新恢复并使用它们,从中获取到我想要的资金交付或密码凭据等信息。

还有一个问题,如果我把我的组织资源分享给一个普通的谷歌用户(@gmail.com),当他在GCP平台创建项目后,GCP接口会强制他选择一个组织资源归属,如果我的组织资源是他唯一可以选择访问的,那么,毫无疑问,他可能会在其中创建自己的服务项目(声明:只有一些底层API接口才能创建无组织资源归属的服务项目)

我也可以把我的组织资源项目以 “No organization”命名,这样不需要域名设置,大多数用户也不知道其真正用意,而且,这种操作,对未注册GCP账户的受害者来说,也可以不显示GCP的试用banner信息。

漏洞利用场景

可以考虑一种最简单直接的漏洞利用场景,攻击者可以出4美元购买一个域名,再注册一个14天免费试用版的G Suite账户,接下来,可以创建一个组织资源,然后就可实现对上述分析的漏洞机制进行利用了。修改组织资源名称,迷惑受害者,分享这个组织资源,当受害者无意在其中创建服务项目之后,就能接管控制或间接利用这个服务项目了。

我第一时间向谷歌漏洞奖励平台上报了这个漏洞,他们很快就修复了这个漏洞。现在,已经无法再修改组织资源的名称了,而且,即使把组织资源分享出去,GCP接口也不会强制用户在归属的组织资源中创建服务项目了。

另外,据谷歌内部测试分析来看,这个漏洞还存在一个有意思的影响,就是如果谷歌内部人员用”google.com” 作为GCP组织资源名称,那么,这种假冒的内部组织资源名称会对谷歌内部人员造成欺骗,为此,他们还作了截图说明,如下:

download_20190129_160703.png上面的”google.com” 是假冒的GCP组织资源名称,下面的 “google.com – 433637338589“才是真正谷歌自己的组织资源。

显然,利用”google.com” 作为GCP组织资源名称,可以对使用GCP平台的谷歌雇员造成很大的伪装欺骗。尽管谷歌自身有各种安全检查机制来避免风险隐患,但毕竟,这种自家的平台、自家的组织资源,伪装假冒性还是相对较高的。一旦有谷歌雇员在这种假冒的组织资源内创建个人服务项目,在其中可能就会涉及很多谷歌公司内部的工作事项处理,容易导致敏感信息泄露。

为此,针对该漏洞的影响情况,谷歌漏洞奖励平台综合考虑,给了我 $7500美金的奖励。

Screenshot_20190130_110549.png漏洞上报进程

2018.11.29   发现漏洞并上报

———-   谷歌及时修复

———-   遇到假期 谷歌奖励措施推迟

2019.1.29    谷歌奖励了我$7500美金

推荐关注

指导单位
广东省公安厅网络警察总队 广东省信息安全等级保护协调小组办公室