GCP - local privilege escalation ssh pivoting
学习并实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习并实践 GCP 黑客技术:
HackTricks 培训 GCP 红队专家 (GRTE)
在这种情况下,我们假设您已经入侵了计算引擎项目中虚拟机中的非特权帐户。
令人惊讶的是,您已经入侵的计算引擎的 GCP 权限可能帮助您在机器内部本地升级特权。即使在云环境中这并不总是非常有用,但知道这是可能的也是好的。
阅读脚本
计算实例可能存在执行一些脚本以使用其服务帐户执行操作。
由于 IAM 是如此细粒度,一个帐户可能对资源具有读/写权限,但没有列出权限。
一个很好的假设示例是一个具有权限将备份读/写到名为 instance82736-long-term-xyz-archive-0332893
的存储桶的计算实例。
从命令行运行 gsutil ls
不返回任何内容,因为服务帐户缺少 storage.buckets.list
IAM 权限。但是,如果您运行 gsutil ls gs://instance82736-long-term-xyz-archive-0332893
,您可能会找到完整的文件系统备份,从而使您可以明文访问您的本地 Linux 帐户缺少的数据。
您可能会在脚本中(bash、Python、Ruby 等)找到此存储桶名称。
自定义元数据
管理员可以在实例和项目级别添加自定义元数据。这只是一种将任意键/值对传递到实例中的方法,通常用于环境变量和启动/关闭脚本。
此外,还可以添加用户数据,这是一个将在每次启动或重新启动机器时执行的脚本,并且也可以从元数据端点访问。
有关更多信息,请查看:
滥用 IAM 权限
以下大多数建议的权限都是授予默认的 Compute SA,唯一的问题是默认访问范围阻止 SA 使用它们。但是,如果启用了**cloud-platform
** 范围或只启用了**compute
** 范围,您将能够滥用它们。
检查以下权限:
在文件系统中搜索密钥
检查其他用户是否已经在盒子内部使用 gcloud 登录并在文件系统中留下了他们的凭据:
以下是最有趣的文件:
~/.config/gcloud/credentials.db
~/.config/gcloud/legacy_credentials/[ACCOUNT]/adc.json
~/.config/gcloud/legacy_credentials/[ACCOUNT]/.boto
~/.credentials.json
更多 API 密钥正则表达式
参考
学习并练习AWS Hacking:HackTricks 培训 AWS 红队专家 (ARTE)
学习并练习GCP Hacking:
HackTricks 培训 GCP 红队专家 (GRTE)
Last updated