一.Kibana
Kibana是⼀个开源的分析与可视化平台,设计出来⽤于和Elasticsearch⼀起使⽤的。你可以⽤kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互⽅式是以各种不同的图表、表格、地图等直观地展示数据,从⽽达到⾼级的数据分析与可视化的⽬的。
Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是⼤数据领域中⼀个很巧妙的设计。⼀种很典型的MVC思想,模型持久层,视图层和控制层。Logstash担任控制层的⻆⾊,负责搜集和过滤数据。Elasticsearch担任数据持久层的⻆⾊,负责储存数据。⽽我们这章的主题Kibana担任视图层⻆⾊,拥有各种维度的查询和分析,并使⽤图形化的界⾯展示存放在Elasticsearch中的数据。
漏洞复现
我们利用如下语法在fofa中进行搜索
"kibana" && port="5601"
如果该网站存在未授权访问漏洞,则不会出现登陆界面
而是直接进入网站界面
那么我们就可以通过拼接路径HTTP://{IP}/app/kibana#/进入网站内部查看信息
如何修复
升级Kibana到最新版本,升级地址如下https://www.elastic.co/cn/downloads/kibana。
在kibana所在的服务器上安装nginx服务,利⽤nginx的转发指令实现,需要输⼊账号密码才可以访问⻚⾯。
如果正常业务中 kibana 服务需要被其他服务器来访问,可以通过 iptables 策略,仅允许指定的 IP来访问服务。
二.Docker Remote API
Docker是⼀个开源的应⽤容器引擎,让开发者可以打包他们的应⽤以及依赖包到⼀个可移植的容器中,然后发布到任何流⾏的LINUX机器上,也可以实现虚拟化。
Docker swarm 是⼀个将docker集群变成单⼀虚拟的docker host⼯具,使⽤标准DockerAPI,能够⽅便docker集群的管理和扩展,由docker官⽅提供。
Docker Remote API如配置不当可导致未授权访问,被攻击者恶意利⽤。攻击者⽆需认证即可访问到Docker数据,可能导致敏感信息泄露,⿊客也可以删除 Docker上的数据,直接访问宿主机上的敏感信息,或对敏感⽂件进⾏修改,最终完全控制服务器。
漏洞复现
我们利用如下语法在fofa中进行搜索
port="2375"
三.Kubernetes Api Server
Kubernetes 的服务在正常启动后会开启两个端⼝:Localhost Port (默认8080)、Secure Port (默认6443)。这两个端⼝都是提供 Api Server 服务的,⼀个可以直接通过Web 访问,另⼀个可以通过 kubectl 客户端进⾏调⽤。如果运维⼈员没有合理的配置验证和权限,那么攻击者就可以通过这两个接⼝去获取容器的权限。
漏洞复现
我们在fofa中利用如下语法进行搜索
port="8080" && app="Kubernetes"
点进去即可得到类似如下页面,这就证明这个网站有未授权访问漏洞
如何修复
进⾏授权认证
使⽤Service Account令牌
置防⽕墙策略