GCP - Cloud Run Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Cloud Run 是一个无服务器的托管计算平台,允许您直接在 Google 的可扩展基础设施上 运行容器。
您可以运行您的容器,或者如果您使用 Go、Node.js、Python、Java、.NET Core 或 Ruby,您可以使用 source-based deployment 选项,该选项 为您构建容器。
Google 构建 Cloud Run 以 与 Google Cloud 上的其他服务良好协作,因此您可以构建功能齐全的应用程序。
在 Cloud Run 上,您的代码可以作为 服务 持续运行,或作为 作业 运行。服务和作业都在相同的环境中运行,并且可以使用与 Google Cloud 上其他服务的相同集成。
Cloud Run services. 用于运行响应网络请求或事件的代码。
Cloud Run jobs. 用于运行执行工作(作业)的代码,并在工作完成时退出。
Google Cloud Run 是另一个无服务器的服务,您也可以在其中搜索环境变量。Cloud Run 默认创建一个小型网络服务器,运行在容器内的 8080 端口,等待 HTTP GET 请求。当请求被接收时,将执行一个作业,并通过 HTTP 响应输出作业日志。
默认情况下,对网络服务器的访问是公开的,但也可以限制为内部流量(VPC...) 此外,与网络服务器的身份验证可以是允许所有或通过 IAM 进行身份验证。
默认情况下,加密使用Google 管理的密钥,但也可以选择来自 KMS 的 CMEK(客户管理加密密钥)。
默认情况下,使用的 服务账户 是 Compute Engine 默认账户,该账户对项目具有 编辑者 访问权限,并且具有 范围 cloud-platform
。
可以为执行定义 明文环境变量,甚至可以 挂载云密钥 或 将云密钥添加到环境变量。
还可以 添加与 Cloud SQL 的连接 和 挂载文件系统。
部署的服务的 URLs 类似于 https://<svc-name>-<random>.a.run.app
一个 Run 服务可以有 多个版本或修订版,并且可以 在多个修订版之间分流流量。
Cloud Run 作业更适合 运行到完成并且不提供请求的容器。作业没有提供请求或监听端口的能力。这意味着与 Cloud Run 服务不同,作业不应捆绑 Web 服务器。相反,作业容器在完成时应退出。
在以下页面中,您可以查看如何滥用云运行权限以提升权限:
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)