价值约700美元的GCP基础设施漏洞赏金事件

本文详细描述了一个漏洞赏金猎人如何通过一个未受保护的Jupyter Notebook服务器发现并利用泄露的GCP服务账户密钥,进而访问企业内部敏感数据(如BigQuery表)的全过程。

漏洞赏金故事 #bugbountytips

一个已修复但未支付赏金的故事…

时间线:

  • 2019年10月21日:报告漏洞
  • 2019年10月23日:被确认为严重等级
  • 2019年10月30日:确认为已修复
  • 2019年11月12日:告知赏金金额(10,000,000印尼盾 ≈ 700美元)
  • 2019年11月16日:提供支付信息
  • 2020年3月13日:仍未收到付款 - 发布博文
  • 2020年3月19日:收到565.86美元赏金

有许多应用是“SAAS”——Shell即服务。Jupyter Notebook就是其中之一,它具有运行代码的功能以及终端功能。

当我在Shodan上搜索易受攻击的设备时,发现了一个属于Tokopedia的开放Jupyter Notebook服务器。这一点最初并不明显,但查看截图后,您将清楚我如何识别出这一点。

开放的Jupyter Notebook服务器

我之前写过一篇博文,介绍在找到GCP密钥时该做什么。

当人们将GCP服务账户密钥留在文件夹中时,这一点尤为重要。

当您将服务令牌留在文件夹中供所有人查找/使用时

在这种情况下,它是Base64编码的,但很容易修复。

Base64解码后的服务账户令牌

它也出现在其中一个Jupyter Notebook的错误输出中。

我使用终端进行了一些基本的探查,以找到所有者。

一旦我确认它属于一个有漏洞赏金计划的人,我认为证明访问权限和影响是可以的。

根据GCP博文,一旦您拥有服务账户令牌,您就可以验证身份并与之交互该令牌有权访问的服务。

在GCP计算主机上获得shell的方便之处在于,所有GCP实用程序都已安装并且“可以直接使用”。实际上,我不需要从外部主机做任何事情,我能够从Jupyter终端内部开始SSH到其他主机。

Bigquery表 o_0

[+] Bigquery 访问权限 [+]

bq ls --format=prettyjson --project_id tokopedia-970

数据计费表哟

我喜欢支付表

在此过程中,我搜索了这家公司是谁。https://en.wikipedia.org/wiki/Tokopedia

最有趣的是…

2017年,Tokopedia从中国电子商务巨头阿里巴巴获得了11亿美元的投资。2018年,该公司再次获得了由中国电子商务巨头阿里巴巴集团和日本软银集团领投的11亿美元融资,使其估值达到约70亿美元。

因此,作为一个好人(商标),我报告了这个问题,并被定为严重级别。他们修复得非常快,团队在修复之前反应相当迅速。之后,花了2周时间才获得赏金信息,我及时提供了支付信息,但我从未收到付款,并且他们已停止回应我的询问。

解决方案:

  • 在有限权限的容器中运行(不能防范云元数据攻击)
  • Jupyter Notebook的新版本允许密码保护访问。请这样做,而不是向所有人开放。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计