云安全 | GCP渗透测试

admin 2024年11月24日12:08:57评论22 views字数 3856阅读12分51秒阅读模式

0x01 基础信息

在开始对GCP环境进行渗透测试之前,您需要了解一些基本知识,了解它的工作原理,以帮助您了解需要做什么、如何发现错误配置以及如何利用它们。
组织层次、权限等基本概念
https://cloud.hacktricks.xyz/pentesting-cloud/gcp-pentesting/gcp-basic-information

0x02 在线实验室 

  • https://github.com/ine-labs/GCPGoathttps://github.com/carlospolop/gcp_privesc_scripts

0x03 GCP Pentest /红队方法论

为了审核 GCP 环境,了解以下内容非常重要:正在使用哪些服务、正在公开什么、谁可以访问什么以及内部 GCP 服务与外部服务如何连接。

从红队的角度来看,破坏 GCP 环境的第一步是设法获得一些凭据

  • github(或类似)中的泄漏- OSINT

  • 社会工程(查看页面Workspace Security

  • 密码重用(密码泄露)

  • GCP 托管应用程序中的漏洞

  • 具有访问元数据端点的端请求伪造

  • 读取本地文件

  •    /home/USERNAME/.config/gcloud/*

            C:UsersUSERNAME.configgcloud*

  • 第三者违约

  • 内部员工

或者凭据后,您需要知道这些凭据属于谁,以及他们可以访问什么,因此您需要执行一些基本的枚举:!!

0x04 基础枚举

我是谁

在 GCP 中,您可以尝试几个选项来猜测您是谁:

#如果你在一台妥协的机器里gcloud 授权列表curl -H "Content-Type: application/x-www-form-urlencoded" -d "access_token= $( gcloud auth print-access-token ) " https://www.googleapis.com/oauth2/v1/tokeninfo    gcloud auth print-identity-token #从令牌中获取信息#If 你泄露了元数据令牌或以某种方式找到了 OAuth 令牌curl -H "Content-Type: application/x-www-form-urlencoded" -d "access_token=<token>" https://www.googleapis.com/oauth2/v1/tokeninfo

组织枚举

# 获取组织gcloud organizations list #DIRECTORY_CUSTOMER_ID 是工作区 IDgcloud resource-manager folders list --organization < org_number > # 获取文件夹  gcloud projects list # 获取项目

Principals和 IAM 枚举

如果您有足够的权限,检查 GCP 帐户内每个实体的权限将帮助您了解您和其他身份可以做什么以及如何提升权限如果您没有足够的权限来枚举 IAM,您可以窃取暴力破解它们来找出它们。检查如何进行计算和暴力破解

GCP - IAM、Ppals 和组织策略枚举
https://cloud.hacktricks.xyz/pentesting-cloud/gcp-pentesting/gcp-services/gcp-iam-and-org-policies-enum

现在您已经有了一些关于您的凭据的信息(如果您是红队,希望您没有被发现)。是时候弄清楚环境中正在使用哪些服务了。在下一节中,您可以检查一些枚举一些常见服务的方法。

服务枚举、后期开发和持久化

GCP 有数量惊人的服务,在下面的页面中,您将找到基本信息、枚举备忘单、如何避免检测、获得持久性以及关于其中一些的其他利用后技巧:

GCP - 服务

https://cloud.hacktricks.xyz/pentesting-cloud/gcp-pentesting/gcp-services

GCP - 非服务持久性

https://cloud.hacktricks.xyz/pentesting-cloud/gcp-pentesting/gcp-non-svc-persistance

注意,您不需要手动执行所有工作,在这篇文章的下方,您可以找到有关的部分 自动工具.此外,在此阶段您可能会发现更多服务暴露给未经身份验证的用户,您可能能够利用它们:

GCP - 未经身份验证的枚举

https://cloud.hacktricks.xyz/pentesting-cloud/gcp-pentesting/gcp-unauthenticated-enum

特权升级

一旦您获得了一些云凭证或破坏了在云中运行的某些服务,最常见的方法是滥用受感染帐户可能拥有的配置错误的特权。因此,您应该做的第一件事是枚举您的特权。此外,在此枚举期间,请记住也可以在“组织”的最高级别设置权限。

GCP - 权限升级

https://cloud.hacktricks.xyz/pentesting-cloud/gcp-pentesting/gcp-privilege-escalation

公开服务

在枚举 GCP 服务时,您可能会发现其中一些将元素暴露给 Internet (VM/容器端口、数据库或队列服务、快照或存储桶……)。作为渗透测试人员/红队成员,您应该始终检查是否可以在它们上找到敏感信息/漏洞,因为它们可能会为您提供对 AWS 帐户的进一步访问权限

您应该找到有关如何查找暴露的 AWS 服务以及如何检查它们的信息。关于如何在暴露的网络服务中查找漏洞,我建议您在以下位置搜索特定服务

自动工具

GCloud 控制台中

https://console.cloud.google.com/iam-admin/asset-inventory/dashboard

您可以看到项目正在使用的资源和 IAM。

在这里你可以看到这个 API 支持的资产:
https://cloud.google.com/asset-inventory/docs/supported-asset-types

gcp_scan:这是一个 GCP 资源扫描器,可以帮助确定某些凭据在 GCP 上拥有的访问级别。

# Installgit clone https://github.com/google/gcp_scanner.gitcd gcp_scannervirtualenv -p python3 venvsource venv/bin/activatepip install -r requirements.txt# Execute with gcloud credspython3 __main__.py -o /tmp/output/ -g "$HOME/.config/gcloud"
  • gcp_枚举:使用 gcloud cli 枚举 GCP 环境并将结果保存在文件中的 Bash 脚本。

  • GCP-IAM-特权升级:用于枚举高 IAM 权限并在滥用它们的 GCP 中提升权限的脚本(我无法运行枚举脚本)。

gcloud 配置和调试

# Login so gcloud can use your credentialsgcloud auth logingcloud config set project security-devboxgcloud auth print-access-token# Login so SDKs can use your user credentialsgcloud auth application-default logingcloud auth application-default set-quota-project security-devboxgcloud auth application-default print-access-token# Update gcloudgcloud components update

 捕获 gcloud、gsutil...网络

请记住,您可以将参数与cli 一起使用来打印工具正在执行的请求。如果您不希望日志编辑令牌值,请使用--log-httpgcloudgcloud config set log_http_redact_token false

此外,拦截通信:

gcloud config set proxy/address 127.0.0.1gcloud config set proxy/port 8080gcloud config set proxy/type httpgcloud config set auth/disable_ssl_validation True# If you don't want to completely disable ssl_validation use:gcloud config set core/custom_ca_certs_file cert.pem# Back to normalgcloud config unset proxy/addressgcloud config unset proxy/portgcloud config unset proxy/typegcloud config unset auth/disable_ssl_validationgcloud config unset core/custom_ca_certs_file

云安全 | GCP渗透测试

2023零基础白帽+中级进阶渗透学习路线
知识星球
云安全 | GCP渗透测试
云安全 | GCP渗透测试
想成为凯文·米特尼克一模一样的
黑客教父?不存在的
想成为透透之神?醒吧
看了无数入门视频,依然搞不到Shell
不如看看《安全帮Live》
云安全 | GCP渗透测试

原文始发于微信公众号(安全帮Live):云安全 | GCP渗透测试

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月24日12:08:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   云安全 | GCP渗透测试https://cn-sec.com/archives/1620587.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息