漏洞描述

Severity: Important

Vendor: The Apache Software Foundation

Versions Affected: JMeter 2.X, 3.X

Description [0]:

When using Distributed Test only (RMI based), jmeter uses an unsecured RMI
connection.
This could allow an attacker to get Access to JMeterEngine and send
unauthorized code.
This only affect tests running in Distributed mode.

Mitigation:

  • Users must use last version of Java 8 or Java 9
  • Users must upgrade to last JMeter 4.0 version and use the default /
    enabled authenticated SSL RMI connection.

Besides, we remind users that in distributed mode, JMeter makes an
Architectural assumption
that it is operating on a 'safe' network. i.e. everyone with access to the
network is considered trusted.

This typically means a dedicated VPN or similar is being used.

Example:

  • Start JMeter server using either jmeter-server or jmeter -s
  • If JMeter listens on unsecure rmi connection (ie you can connect to it
    using a JMeter client), you are vulnerable

Apache JMeter 简介

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能

流程图

分析流程

下好源码后,习惯性的翻了下,发现里面相对有点复杂,而此时我又对 rmi 完全不熟悉,搞到无从下手

只能照着许多 JMeter rmi 复现的文章里,先将 jmeter-server 跑起来再说
在源码包 bin 目录下 jmeter-server 或 jmeter-server.bat

如上图所示,jmeter-server 已经跑起来了

但是此时还是懵逼中,其他文章里除了开启服务、打payload,就没说明其他啥了
无意中在 bin 目录下发现了 jmeter-server.log 文件,感觉里面可以查到一些信息

emmmm,先找找 RemoteJMeterEngineImpl

在其 init 函数中发现开启了 rmi

这里的 CREATE_SERVER 默认为 ture 的,如果不指定 rmiPort 默认值也是 1099

稍微了解过 rmi 反序列化利用的老哥应该都知道当 rmi 创建成功后,就可以搞事了吧....

反向跟踪 init 函数的调用处

此处的 DEFAULT_RMI_PORT 值为 1099

继续反向跟踪 startServer 的调用处

在 Jmeter 里 start 函数发现了调用

可是在继续反向跟踪 start 函数的时候,却没有发现有被调用的地方 -_-
猜测可能是动态代理或者是反射请求?

搜了下路径关键字

在 NewDrever 的 main 函数中

至此整个流程已经摸清楚了

测试

(用 3.3 版本的 JMeter 测试并未成功,查看了它的 colletions 版本是 3.2.2 的...)
用 ysoserial 打一梭子(ysoserial随便下的一个版本)
java -cp ysoserial-master-v0.0.5-gb617b7b-16.jar ysoserial.exploit.RMIRegistryExploit 127.0.0.1 1099 CommonsCollections5 "calc.exe"

参考资料

https://xz.aliyun.com/t/2082
http://bobao.360.cn/snapshot/index?id=287299

Apache JMeter rmi 反序列化 cve-2018-1297相关推荐

  1. rmi 反序列化漏洞_提醒:Apache Dubbo存在反序列化漏洞

    背景: 近日监测到Apache Dubbo存在反序列化漏洞(CVE-2019-17564),此漏洞可导致远程代码执行.Apache Dubbo是一款应用广泛的高性能轻量级的Java RPC分布式服务框 ...

  2. java rmi反序列化漏洞 简介

    目录 一.RMI简介 二.RMI示例 三.漏洞复现 四.漏洞分析 1.为什么这里的badAttributeValueExpException对象是通过反射构造,而不是直接声明? 2.为什么不直接将ba ...

  3. rmi 反序列化漏洞_写一个rmi反序列化工具

    RMI(java 远程方法调用),RMI服务端和客户端之间通过序列化对象进行传输,所以JDK8 U121之前的版本存在反序列化漏洞.RMI和java反序列化原理就不详细介绍了.RMI反序列化利用成功的 ...

  4. 搭建 Apache Jmeter 分布式压测与监控

    1.前言 对于运维工程师来说,需要对自己维护的服务器性能瓶颈了如指掌,比如我当前的架构每秒并发是多少,我服务器最大能接受的并发是多少,是什么导致我的性能有问题:如果当前架构快达到性能瓶颈了,是横向扩容 ...

  5. rmi反序列化导致rce漏洞修复_RMI反序列化漏洞分析

    原创:Xman21合天智汇 一.RMI简介 首先看一下RMI在wikipedia上的描述: Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Ja ...

  6. 压力测试工具Apache JMeter:11:搭建容器化分布式测试环境

    Apache JMeter是一个纯Java开发的用于负载测试或者性能测试的开源软件.这篇文章介绍一下建立基于JMeter的一主多从的容器化压测环境. 基于Alpine的JMeter镜像 关于基于Alp ...

  7. 【Vulhub】Apache Log4j Server 反序列化命令执行漏洞复现(CVE-2017-5645)

    脚本小子上线啦,开始复现以前出现实战环境的漏洞了,我会记录一些复现的漏洞(不会是全部),今天这个漏洞的原理我也不太会就知道是个Java反序列化的洞,只负责复现(脚本小子~). 漏洞介绍&环境搭 ...

  8. 书评:实战Apache JMeter

    要点 \ JMeter是Apache的一款开源的负载测试工具 \ 通过实例学习JMeter的指南并不多 \ 可以从Leanpub下载这本书的电子版,也可以从Amazon购买纸质版\ InfoQ对这本书 ...

  9. 如何为Apache JMeter开发插件(一)

    本文转载于http://blog.csdn.net/column/details/12925.html,作者:xreztento 作者写的很精华,我打算在此系列操作一遍后,加多点截图,便于更多人更快上 ...

最新文章

  1. 【Live555】live555源码详解(九):ServerMediaSession、ServerMediaSubsession、live555MediaServer
  2. 如果不当程序员,你会在做什么? | 每日趣闻
  3. java springcloud版b2b2c社交电商spring cloud分布式微服务 (七)高可用的分布式配置中心(Spring Cloud Config)...
  4. 【计算机网络】网络层 : DHCP 协议 ( DHCP 协议概念 | DHCP 协议特点 | DHCP 协议流程 )
  5. jpa添加索引的几种方式
  6. mysql 导出数据为csv格式
  7. Atitit sumdoc index 2019 v6 t56 .docx Atitit sumdoc index s99 目录 1. Zip ver 1 1.1. C:\Users\Adminis
  8. webstorm 下载安装教程
  9. SPSS因子分析案例
  10. stm32 无线打印机服务器,STM32开发的蓝牙热敏打印机
  11. html怎么做一个正方形,使用HTML+CSS做一个正方体
  12. PR2打印机参数设置
  13. element-ui tabs标签嵌套使用时 基础下划线不显示的问题
  14. 百度网盘限速下载,PanDownload简直逆天
  15. 一步步推导由欧拉角到旋转矩阵的计算过程
  16. 我创业的这一年 九个月只有两个人
  17. 一起来乐邮邮——妙趣小软件:MailMail发布预告
  18. Jackson解析JSON详细教程
  19. 2020,这一年 | 2021,新的一年
  20. 手机手持滚动LED弹幕源码

热门文章

  1. 普通幕僚:Ownership意识不足的几种症状
  2. python3 上传文件到目标机器_再见Python 2.7,你好Python 3.7
  3. C 语言编程 — GCC 工具链
  4. Python基本语法_函数_参数的多类型传值
  5. “面向未来,有效保护”——深信服安全理念详解
  6. LeetCode 876——链表的中间结点
  7. tomcat 之APR优化
  8. layer.tips定义弹出的宽度
  9. 听安全专家讲如何黑掉黑客的故事
  10. env export set 作用