如果想要攻击 apiserver, 下载 kubectl 是必经之路。

curl -LO “https://dl.Kubernetes.io/release/$(curl -L -s https://dl.Kubernetes.io/release/stable.txt)/bin/linux/amd64/kubectl"

默认情况下,apiserver 都是有鉴权的:

图片

当然也有未鉴权的配置:kube-apiserver –insecure-bind-address=0.0.0.0 –insecure-port=8080,此时请求接口的结果如下:

图片

对于这类的未鉴权的设置来说,访问到 apiserver 一般情况下就获取了集群的权限:

图片

可能还有同学不知道 apiserver 在 Kubernetes / 容器编排集群里的重要地位,这里简单介绍一下:在蓝军眼中的 Kubernetes APIServer 其重要性,如下图:

图片

所以,对于针对 Kubernetes 集群的攻击来说,获取 admin kubeconfig 和 apiserver 所在的 master node 权限基本上就是获取主机权限路程的终点。

至于如何通过 apiserver 进行持续渗透和控制,参考 kubectl 的官方文档是最好的:

https://Kubernetes.io/docs/reference/generated/kubectl/kubectl-commands

最后编辑: kuteng  文档更新时间: 2022-06-01 16:22   作者:kuteng