GCP Pentesting
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)
在开始对 GCP 环境进行渗透测试之前,您需要了解一些基本知识,以帮助您理解需要做什么、如何查找错误配置以及如何利用它们。
诸如 组织 层级、权限 和其他基本概念在以下内容中进行了说明:
GCP - Basic Information为了审计 GCP 环境,了解以下内容非常重要:使用了哪些 服务,什么是 被暴露的,谁对什么有 访问权限,以及内部 GCP 服务与 外部服务 是如何连接的。
从红队的角度来看,攻陷 GCP 环境的第一步是设法获取一些 凭证。以下是一些获取凭证的想法:
在 github(或类似平台)上的 泄露 - OSINT
社会 工程(查看页面 Workspace Security)
密码 重用(密码泄露)
GCP 托管应用中的漏洞
服务器端请求伪造 访问元数据端点
本地文件读取
/home/USERNAME/.config/gcloud/*
C:\Users\USERNAME\.config\gcloud\*
第三方 被攻破
内部 员工
或者通过 攻陷一个未认证的服务:
GCP - Unauthenticated Enum & Access或者如果您正在进行 审查,您可以直接 请求凭证,使用这些角色:
GCP - Permissions for a Pentest在您成功获取凭证后,您需要知道 这些凭证属于谁,以及 他们可以访问什么,因此您需要进行一些基本的枚举:
有关如何 枚举 GCP 元数据 的更多信息,请查看以下 hacktricks 页面:
在 GCP 中,您可以尝试几种选项来猜测您是谁:
您还可以使用 API 端点 /userinfo
获取有关用户的更多信息:
如果您拥有足够的权限,检查 GCP 账户内每个实体的权限将帮助您了解您和其他身份可以做什么,以及如何提升权限。
如果您没有足够的权限来枚举 IAM,您可以通过暴力破解来获取它们。 查看如何进行枚举和暴力破解:
GCP - IAM, Principals & Org Policies Enum现在您已经获得了一些关于您的凭据的信息(如果您是红队,希望您没有被发现)。是时候找出环境中正在使用哪些服务。 在接下来的部分中,您可以查看一些枚举常见服务的方法。
GCP 拥有惊人的服务数量,在以下页面中,您将找到基本信息、枚举备忘单,如何避免检测,获取持久性以及其他关于其中一些服务的后期利用技巧:
GCP - Services请注意,您不需要手动执行所有工作,下面的帖子中您可以找到关于自动工具的部分。
此外,在此阶段,您可能会发现**更多暴露给未认证用户的服务,**您可能能够利用它们:
GCP - Unauthenticated Enum & Access一旦您获得了一些云凭据或已妥协某个在云中运行的服务,最常见的方法是滥用被妥协账户可能拥有的错误配置权限。因此,您应该做的第一件事是枚举您的权限。
此外,在此枚举过程中,请记住权限可以在“组织”的最高级别设置。
GCP - Privilege EscalationGCP - Post ExploitationGCP - Persistence在枚举 GCP 服务时,您可能发现其中一些向互联网暴露元素(虚拟机/容器端口、数据库或队列服务、快照或存储桶...)。 作为渗透测试者/红队成员,您应该始终检查是否可以在它们上找到敏感信息/漏洞,因为它们可能为您提供进一步访问 AWS 账户的机会。
在本书中,您应该找到关于如何查找暴露的 GCP 服务以及如何检查它们的信息。关于如何查找暴露网络服务中的漏洞,我建议您搜索特定的服务:
妥协一个平台中的主体可能允许攻击者妥协另一个平台,请查看:
GCP <--> Workspace Pivoting在GCloud 控制台中,您可以在 https://console.cloud.google.com/iam-admin/asset-inventory/dashboard 查看项目使用的资源和 IAM。
在这里,您可以查看此 API 支持的资产: https://cloud.google.com/asset-inventory/docs/supported-asset-types
检查可以在多个云中使用的工具。
gcp_scanner:这是一个 GCP 资源扫描器,可以帮助确定某些凭据在 GCP 上拥有的访问级别。
gcp_enum: Bash 脚本,用于使用 gcloud cli 枚举 GCP 环境并将结果保存到文件中。
GCP-IAM-Privilege-Escalation: 脚本用于枚举高 IAM 权限并在 GCP 中利用它们提升权限(我无法运行枚举脚本)。
BF My GCP Permissions: 脚本用于暴力破解您的权限。
请记住,您可以使用 参数 --log-http
与 gcloud
cli 一起 打印 工具正在执行的 请求。如果您不希望日志遮蔽令牌值,请使用 gcloud config set log_http_redact_token false
此外,要拦截通信:
为了使用从元数据端点提取的服务帐户 OAuth 令牌,您可以这样做:
学习与实践 AWS Hacking:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP Hacking:HackTricks 培训 GCP 红队专家 (GRTE)