Jboss简介
JBoss是一个基于J2EE的开放源代码应用服务器,代码遵循LGPL许可,可以在任何商业应用中免费使用;JBoss也是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。在J2EE应用服务器领域,JBoss是发展最为迅速的应用服务器。由于JBoss遵循商业友好的LGPL授权分发,并且由开源社区开发,这使得JBoss广为流行。
漏洞介绍
此漏洞主要是由于JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进⼊到jmx控制台,并在其中执⾏任何功能。
影响版本
Jboss4.x以下
漏洞复现
使用docker拉取靶场环境
检索靶场:docker search testjboss
拉取靶场:docker pull testjboss/jboss
启动靶场:docker run -d -p 8080:8080 testjboss/jboss
访问靶场
点击JMX Console
/jmx-console/ 后台存在未授权访问,进入后台后,可直接部署 war 包Getshell。若需登录,可以尝试爆破弱口令登录。
然后找到jboss.deployment(jboss 自带的部署功能)中的flavor=URL,type=DeploymentScanner点进去(通过 url 的方式远程部署)
往下翻找到void addurl()函数
在箭头处写入用哥斯拉生成且打包成war包的jsp木马
(这里与tomcat远程部署漏洞一样)可以看我之前的文章
点击invoke
我输入的链接访问到的是我搭建在本地web服务里的war包
跳转如下页面
返回JMX Console里面,刷新找到jboss.web.deployment,如果出现上传的war,则部署成功
使用哥斯拉连接
修复建议
升级jboss
关闭jmx-console和web-console,提高安全性