《云原生安全攻防》-- K8s攻击案例:高权限Service Account接管集群

《网安面试指南》http://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484339&idx=1&sn=356300f169de74e7a778b04bfbbbd0ab&chksm=c0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene=21#wechat_redirect

在本节课程中,我们将学习一个K8s攻击案例,高权限Service Account接管集群。如果攻击者获取到有效的凭证,就有可能通过凭证来接管整个K8s集群。

在这个课程中,我们将学习以下内容:

  • K8s的认证方式:介绍两种比较常见的身份认证方式,UserAccount和ServiceAccount。

  • K8s身份认证攻击案例:深入分析具体的攻击细节,了解攻击者是如何获取凭证并利用凭证来接管集群的。


首先,我们来介绍一下K8s的认证方式。在K8s集群环境中,为了确保集群的安全性,K8s提供了两种比较常见的身份认证方式,来对访问集群内资源的用户进行认证,以确保只有授权的用户可以访问集群内的资源。

基于K8s的这两种身份认证方式:

攻击者可能会尝试获取有效的Service account凭证,并利用这些凭据来访问集群中的敏感资源,执行特权操作,甚至在集群中创建、修改或删除资源。

另外,攻击者还可以尝试获取集群管理员的Kubeconfig文件,一旦攻击者获取了kubeconfig文件,意味着攻击者可以直接使用配置文件中包含的凭据和访问权限来连接和控制集群。

我们梳理了一张攻击路径图,如图所示:

假设攻击者成功入侵了一个容器内的web应用,并获得了这个Pod的shell权限,这个时候,如果Pod关联的Service Account拥有创建Pod的权限,攻击者就可以利用污点容忍的方式,将一个恶意Pod调度到Master节点上,通过在恶意Pod中挂载根目录,攻击者就可以获取到Master节点上的 kubeconfig 文件,从而直接接管整个K8s集群。

在这张攻击路径图里:

攻击者入侵容器应用拿到shell权限,进一步通过容器逃逸拿下了Node节点权限,在Node节点上尝试搜索kubeconfig文件或是尝试在运行的pod里面找到高权限的Service Account,使用窃取的凭证与API Server进行交互,通过污点容忍创建恶意pod,从而获取集群权限。

云原生安全攻防--K8s攻击案例:高权限Service Account接管集群

相关推荐
ice_bird2 分钟前
Ansible一键部署k8s1.28.2集群
kubernetes·ansible
2301_7679026421 分钟前
Containerd 从入门到实战
运维·容器
信仰JR34 分钟前
Linux系统使用Docker安装Ollama
运维·docker·ai
泽君学长1 小时前
Docker核心技术详解与简单实战
运维·docker·容器
苦逼IT运维1 小时前
VMware Horizon 与 Docker 冲突排错记录
linux·运维·docker·容器·自动化
凸凹恼1 小时前
【每天一个小笔记】01 Docker 部署项目
笔记·docker
Ribou2 小时前
Ubuntu 24.04.2安装配置k8s 1.35.0
linux·ubuntu·kubernetes
木二_2 小时前
附056.Kubernetes_v1.34.3三节点集群-CentOS版
云原生·容器·kubernetes·centos·containerd·ingress·longhorn
2301_767902642 小时前
Docker 从入门到实战
运维·docker·容器
howard20052 小时前
Docker实战:网络管理
docker·网络管理