目录
在许多组织中,所运行的很大一部分服务和应用是 Windows 应用。Windows 容器提供了一种封装进程和包依赖项的方式,从而简化了 DevOps 实践,令 Windows 应用程序同样遵从云原生模式,实际生产中存在很多这样的混合集群。
之前两篇有关 K8S 的文章👆(点击文章查看),分别探索了对于 K8S 本身功能的利用、多种不同 RBAC 权限的利用,但是对于集群中 Windows 节点的情况下并未去研究,刚好近期 K8S 的一些漏洞是针对 Windows 节点。
漏洞概述
近期 kubernetes 中发现了漏洞 CVE-2023-3676,该漏洞可在集群中的 Windows 节点上创建 pod,并在节点上提权到管理员权限。
受影响的版本:
-
• kubelet <= v1.28.0
-
• kubelet <= v1.27.4
-
• kubelet <= v1.26.7
-
• kubelet <= v1.25.12
-
• kubelet <= v1.24.16
漏洞详情
该漏洞是一个典型的命令注入,由于节点上运行的 kubelet 是由本地最高权限即管理员权限,通过创建 pod 使用 kubelet 的权限以达到提权。
命令注入就是将用户提交的数据未经过滤或者过滤不严格,通过拼接将参数传入调用系统命令的函数调用处。
用户在集群中创建 pod 时,可以在主机和 pod 之间创建共