K8S API 未授权访问
#环境搭建#1
2
3
4
5#docker=23.0.1
sudo apt-get install docker-ce
#使用metarget安装1.19.1版本k8s
./metarget gadget install k8s --version=1.19.1
这里纠结版本问题尝试了好多次,高版本的k8s没有未授权访问了,改配置直接报错
默认8080端口不开,要修改配置文件1
2
3
4#vim /etc/kubernetes/manifests/kube-apiserver.yaml
- --insecure-port=8080
- --insecure-bind-address=0.0.0.0
默认insecure-port=0,这个时候表示不安全的端口不开放,insecure-bind-address为哪些IP可以访问,高版本没有这个配置
master机器创建一个nginx的pod1
kubectl run nginx --image=nginx
然后重启k8s服务:system restart kubelet
这样配置好后没有报错的话就可以用其他机器访问了,我这里用kali访问。
kali攻击机器上安装kubelet1
2
3curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.19.1/bin/linux/amd64/kubectl
chmod +x ./kubectl
mv ./kubectl /usr/local/bin/kubectl
使用命令获取nodes1
./kubectl -s 192.168.116.132:8080 get nodes
使用命令获取pods1
./kubectl -s 192.168.116.132:8080 get podss
攻击测试
方法一:通过命令直接执行获取pod权限
方法二:通过挂在逃逸获取宿主机权
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 sher10cksec@foxmail.com
文章标题:K8S API 未授权访问
本文作者:sher10ck
发布时间:2023-02-15, 09:36:09
最后更新:2023-02-15, 16:07:26
原始链接:http://sherlocz.github.io/2023/02/15/K8S-API-未授权访问/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。