漏洞描述
Apache Flink Dashboard 默认无需认证即可访问,攻击者可直接在Apache Flink Dashboard页面中上传任意jar包,从而达到远程代码执行的目的。
影响版本
Apache Flink <= 1.9.1
环境搭建
操作系统: Windows10
操作环境: Apache flink
漏洞版本: Apache flink 1.9.1
搭建过程:
(1)下载flink
(https://archive.apache.org/dist/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.12.tgz)
(2)下载成功后解压到本地文件目录下,这里是放在了E盘
(3)进入bin路径:E:\flink-1.9.1\bin,打开cmd运行start-cluster.bat脚本
(4)打开浏览器,访问漏洞环境:http://192.168.17.140:8081,若出现下图界面,则说明环境搭建成功
漏洞复现
(1)打开浏览器,通过访问http://192.168.17.140:8081,发现为flink页面,版本为1.9.1,而根据曝出的漏洞,此版本存在RCE漏洞,接下来将对其进行尝试攻击
(2)打开msfvenom生成一个jar木马(LHOST、LPORT为攻击者监听IP及端口)
(3)设置监听端口
(4)根据曝出的漏洞位置(Submit New Job-Add New)点击Add上传jar文件,上传成功后,点击文件,选择“Submit”
(5)此时反弹shell成功,且用户为administrator
(6)修改administrator密码,发现修改成功
(7)创建用户hacker,发现创建成功
(8)在攻击者环境中开启远程桌面连接192.168.17.143,最终攻击攻击成功(被攻击目标开启远程桌面命令可参考https://blog.csdn.net/weixin_42181573/article/details/119994927)
修复建议
1.设置防火墙策略,仅允许白名单ip访问 apache flink。
2.Web代理(如apache httpd)中增加对该服务的digest认证。
3.关注官网新版本或补丁更新。