k8s dashboard 证书(k8s认证方式)

文章前言 
K8s Dashboard是Kubernetes的一个Web UI,它提供了一个用户友好的界面来管理和监控Kubernetes集群。它可以让用户通过图形化界面查看Kubernetes集群的状态和健康状况、创建、删除和修改资源对象、查看日志和监控数据等。K8s Dashboard还支持在多个集群之间进行切换,并提供了一些插件和扩展功能来增强其功能,本篇文章我们主要介绍K8s Dashboard低版本中出现的一则认证跳过漏洞

影响范围

Kubernetes Dashboard v1.7.0-v1.10.0

漏洞类型

身份认证绕过

利用条件

影响范围应用

CVE编号

CVE-2018-18264

漏洞描述

Kubernetes Dashboard是一个基于Web的用户界面,允许用户管理集群内的应用程序和资源,该服务从Kubernetes 1.7.0开始具有登录功能,从那时起用户就可以使用Kubeconfig文件或Token进行身份验证,但也可以使用跳过按钮完全跳过身份验证

漏洞原理

使用K8s提供的Dashboard(Web面板)来管理集群时,错误的配置将导致集群被接管,在K8s Master中可以使用如下命令安装Kubernetes官方提供的Dashboard

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml

官方提供的Yaml文件中可以看到其内置了一些默认帐号,当使用K8s面板时开启enable-skip-login将会使用默认的kubernetes-dashboard帐号登陆

而官方提供的示例文件中kubernetes-dashboard将拥有以下权限

k8s dashboard 证书(k8s认证方式)

漏洞利用

Step 1:登录页面选择跳过登录

k8s dashboard 证书(k8s认证方式)

Step 2:之后可通过Dashboard获取pod、node和job等状态

Step 3:若业务配置错误或为了方便给Kubernetes dashboard绑定cluster-admin等角色,攻击者可直接在界面上创建特权pod进行容器逃逸

安全建议

1、如果您需要独立部署的Dashboard,请将Dashboard升级到v1.10.1版本

2、如果您不需要独立部署的Dashboard,请执行以下命令将Kubernetes Dashboard从集群中删除

kubectl --namespace kube-system delete deployment kubernetes-dashboard

原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34106.html

Like (0)
七芒星实验室的头像七芒星实验室
Previous 2024年4月6日
Next 2024年4月6日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注