内容简介:作者:Ivan1ee@360云影实验室不久前Elasticsearch发布了最新安全公告, Elasticsearch Kibana 6.4.3之前版本和5.6.13之前版本中的Console插件存在严重的本地文件包含漏洞可导致拒绝服务攻击、任意文件读取攻击、配合第三方应用反弹SHELL攻击,下文笔者对其漏洞背景、攻击原理和行为进行分析和复现。
作者:Ivan1ee@360云影实验室
不久前Elasticsearch发布了最新安全公告, Elasticsearch Kibana 6.4.3之前版本和5.6.13之前版本中的Console插件存在严重的本地文件包含漏洞可导致拒绝服务攻击、任意文件读取攻击、配合第三方应用反弹 SHELL 攻击,下文笔者对其漏洞背景、攻击原理和行为进行分析和复现。
0X01 影响范围
Elasticsearch Kibana是荷兰Elasticsearch公司的一套开源的、基于浏览器的分析和搜索Elasticsearch仪表板工具,作为Elasticsearch的核心组件,Kibana可作为产品或服务提供,并与各种系统,产品,网站和企业中的其他Elastic Stack产品配合使用。 由于Kibana在大数据领域用途较为广泛,此次漏洞影响范围较大, Shodan搜索结果如图
0x02 漏洞场景
笔者选择Kibana-6.1.1-linux-x86_64.tar.gz版本,搭建过程不表,网上很多参考资料
2.1、拒绝服务
拒绝服务笔者选择/cli_plugin/index.js演示,攻击向量如下
/api/console/api_server?sense_version=%40%40SENSE_VERSION&apis= ../../../cli_plugin/index
GET请求发出去后客户端打不开应用页面,在服务端Kibana进程退出,应用服务挂掉具体看下图
2.2、任意文件读取
文件读取笔者选择/etc/passwd演示,攻击向量如下
/api/console/api_server?sense_version=%40%40SENSE_VERSION&apis=../../../../../../../../../../../etc/passwd
GET请求发出去后客户端页面会抛出500错误,在服务端会将读取到的passwd内容抛出来,具体看下图
2.3、配合第三方应用
通常情况下Kibana与其他的应用程序一起部署,如果应用程序可以上传或者写入Javascript文件的话,攻击者可以通过Nodejs创建一个Reverse Shell,内容如下
路径遍历允许攻击者访问Kibana服务器任何文件的位置,如下
Nc反弹监听得到交互会话
0X03 漏洞分析
漏洞污染点位于 \src\core_plugins\console\api_server\server.js
Apis得到的值传递给赋值参数name,从图上也能看到name变量的内容没有进行任何过滤被引入到require,而require模块在Nodejs里表示加载模块的方式,可以加载核心模块,例如内置的“http”,也可以是包含名为“index.js”这样的文件或目录如果参数以“/”、“./”、”../”开头则函数知道该模块是文件或者文件夹,继续跟进到函数asJson所在的api.js文件中
在同级目录下ES_5_0.js 中有一个这个类的导出实例
总结一下此函数的正常流程是获取导出API类实例并调用函数asJson的JavaScript文件的名称,但是忽略了过滤验证因此我们可以指定任意文件,配合目录跳转遍历就可以实现Kibana服务器上任意文件读取的操作。基于上述的分析很明显Nodejs应用程序需要大量的文件,如果这些文件里包含了process.exit指令,那么就可能关闭Kibana进程并导致拒绝服务攻击,通过搜索找到了三个可能的攻击向量
引发DOS攻击的向量 |
../../../cli_plugin/index.js |
../../../cli_plugin/cli.js |
../../../docs/cli.js |
0x04 一点总结
LFI通常出现在 PHP 应用中,通样是require这次应用在Nodejs程序中,相信未来还会有更多的Nodejs程序存在这种问题,原因是本地包含漏洞出现了很多年,但依旧有很多软件开发人员和架构师没有考虑到这点,这篇文章很好的说明了Kibana中存在的一个关键LFI漏洞,使得攻击者能够在服务器上运行本地代码,可造成直接的危害就是拒绝服务攻击,若在生产环境下业务实在伤不起,需要引起对Nodejs LFI的重视。
0x05 参考链接
https://github.com/appsecco/vulnerable-apps/tree/master/node-reverse-shell
https://www.elastic.co/downloads/kibana
http://www.cnvd.org.cn/flaw/show/CNVD-2018-23907
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17246
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 漏洞分析:OpenSSH用户枚举漏洞(CVE-2018-15473)分析
- 【漏洞分析】CouchDB漏洞(CVE–2017–12635, CVE–2017–12636)分析
- 【漏洞分析】lighttpd域处理拒绝服务漏洞环境从复现到分析
- 漏洞分析:对CVE-2018-8587(Microsoft Outlook)漏洞的深入分析
- 路由器漏洞挖掘之 DIR-815 栈溢出漏洞分析
- Weblogic IIOP反序列化漏洞(CVE-2020-2551) 漏洞分析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ajax修炼之道
(美)哥特兰、高伯瑞斯、艾米亚 / 徐锋,胡冰 / 电子工业出版社 / 2006-4 / 29.8
Ajax将静态Web页面转变为充满交互的应用。现在您不需要牺牲Web应用程序部署的简单性,就可以将“胖”客户端应用程序部署到客户端。不过对于很多人业说,Ajax看起来很难。这就是我们撰写本书的原因。作为实践的指导,本书揭开了Ajax神秘的面纱,教您如何以简单的方式使用Ajax。本书内容覆盖了DHTML、Javascript和闻名已久的XmlHttp Request回调技术的基础知识。您将了解如何将......一起来看看 《Ajax修炼之道》 这本书的介绍吧!