欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

CVE-2019-7609 Kibana远程代码执行漏洞攻击方法和漏洞原理分析

来源:本站整理 作者:佚名 时间:2019-11-07 TAG: 我要投稿

0×00 前言
本漏洞的exp放出来快一星期了,目前网上的分析文章也出了几篇,但是大都集中于通过容器简单复现攻击过程,没有深入的分析产生原因和exp的构造原理。笔者借鉴了大牛Michał Bentkowski,也就是漏洞发现者的博客上的英文ppt(参考链接3),写了这篇文章。本文详细介绍了在本地搭建了模拟攻击环境的过程(非docker搭建),并完整分析了这个漏洞的攻击原理。现在分享给大家。
0×01 漏洞简介
Kibana存在远程代码执行漏洞,影响版本为5.6.15和6.6.0之前的所有版本。拥有Kibana的Timelion模块访问权限的人可以以Kibana的运行权限执行任意代码,包括反弹shell。
0×02 环境搭建
靶机环境:
Parrot Security OS 4.7 64位 或其他类Linux操作系统(VMWare 14)
Elasticsearch6.5.4
Kibana 6.5.4
IP:10.10.10.128
攻击机环境:
Windows 10 Home 64位
Netcat 1.12 64位
Chrome浏览器
IP:172.16.2.62
0×03 漏洞利用
1)在靶机上部署Kibana 和Elasticsearch,并开放访问端口(./config/kibana.xml中的server.host改成0.0.0.0)让攻击机可以访问(如图1所示)。

图1 在靶机上部署Elasticsearch和Kibana
2)确认执行权限并启动Elasticsearch和Kibana(如图2,3所示)

图2 在靶机上确认Kibana执行权限 


图3 执行 Elasticsearch和Kibana
 在攻击机上启动netcat(图4),并通过Chrome浏览器访问Kibana的Timelion页面,并输入payload(图5)。

图4 在攻击机上启动netcat

图5 登录Timelion并在输入框中输入payload
payload如图6所示(为了避免各类纠纷,本文的攻击代码只放图片版,文字版可以去参考链接里面自取)

(注意替换payload中的反弹IP为攻击机IP)
点击右边的执行按钮执行,然后点击控制面板左边的Canvas,可以获取反弹shell

图6 获得反弹shell
多次操作之后可能会出现反弹不成功的现象,此时可以删除kibana目录并重新部署一次,记得修改kibana.xml!
0×04 漏洞机理
“原型污染”是一种针对JS语言开发的攻击方法。JS语言中,每一个对象都是有其原型(__proto__)的,而该原型又有其自己的原型对象,直到某个对象的原型为null。而如果JS对其中定义的对象原型的属性读写缺乏控制,容易让攻击者操纵一些敏感特征,从而实现攻击者的目的。
本漏洞就是是一个由于JS语言的“原型污染”,导致靶机环境量被污染,最终获得shell执行的漏洞。具体调试过程如下
1、POC验证
1) 在Timelion的输入框中输入本漏洞的POC:             

2) 点击canvas,可以发现cookie被污染,页面无法访问。

3)通过node调试工具(具体使用方法见参考链接)连接后台,删除Object.prototype的cookie值,刷新发现页面暂时恢复正常。因此可以判定该处存在JS原型污染漏洞

2、漏洞产生原理和攻击思路
1)点击canvas页面,可以发现后台大量报错,报错原因是9229端口被占用。因此可以判断:在点击canvas页面的过程中,kibana创建了新的node进程。(注意此时要连接chrome的node调试工具才会看到报错)因此可以考虑通过劫持环境变量来实现shell命令注入。   

2) 在创建新的node进程过程中,必然使用了NODE_OPTIONS环境变量,如果我们可以劫持该变量,那么就能影响node的新进程创建。NODE_OPTIONS不限制–require选项,该选项可以在执行js文件之前首先加载其他js模块。而在本案例中,实现上传恶意模块的思路难以实现。因此考虑进一步污染环境变量的方法来间接达到这一目的。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载