JBoss介绍
JBoss是⼀个基于J2EE的开发源代码的应⽤服务器。JBoss代码遵循LGPL许可,可以在任何商业应⽤中免费使⽤。JBoss是⼀个管理EJB的容器和服务器,⽀持EJB1.1、EJB 2.0和EJB3的规范。但JBoss核⼼服务不包括⽀持servlet/JSP的WEB容器,⼀般与Tomcat或Jetty绑定使⽤。在J2EE应⽤服务器领域,JBoss是发展最为迅速应⽤服务器。由于JBoss遵循商业友好的LGPL授权分发,并且由开源社区开发,这使得JBoss⼴为流⾏
1 CVE-2015-7501 反序列化漏洞
》》》漏洞描述《《《
这是经典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet请求中读取了⽤户传⼊的对象,然后我们利⽤Apache Commons Collections中的 Gadget 执⾏任意代码
》》》影响范围《《《
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
》》》环境搭建《《《
cd vulhub-master/jboss/JMXInvokerServlet-deserialization
docker-compose up -d
》》》漏洞复现《《《
访问网址
将反弹shell进⾏base64编码
下载工具GitHub - frohoff/ysoserial: A proof-of-concept tool for generating payloads that exploit unsafe Java object deserialization.
服务器设置监听得端⼝
nc -lvnp 4444
curl http://1.15.136.212:8080/invoker/JMXInvokerServlet --data-binary @exp.ser
反弹成功
2 CVE-2017-7504 反序列化漏洞
》》》漏洞描述《《《
JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java⽂件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利⽤该漏洞执⾏任意代码执⾏
》》》影响范围《《《
JBoss 4.x 以及之前的所有版本
》》》环境搭建《《《
cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d
》》》漏洞复现《《《
访问漏洞地址
使用jexboss.py获取shell
成功获取
3 CVE-2017-12149 反序列化漏洞
》》》漏洞描述《《《
该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter过滤器中。该过滤器在没有进⾏任何安全检查的情况下尝试将来⾃客户端的数据流进⾏反序列化,从⽽导致了漏洞
》》》影响范围《《《
JBoss 5.x/6.x
》》》环境搭建《《《
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
》》》漏洞复现《《《
访问漏洞⻚⾯,看jboss版本
url跟/invoker/readonly查看是否有漏洞
打开jboss反序列化软件 将网址放入 cmd内输入想执行的代码
》》》漏洞修复《《《
1.不需要 http-invoker.sar 组件的用户可直接删除此组件。
2.添加如下代码至 http-invoker,sar下 web.xml的 security-constraint 标签中,对 http invoker 组件进行访问控制。
3.升级新版本。
4 CVE-2015-7501 反序列化漏洞
》》》漏洞描述《《《
Administration Console管理⻚⾯存在弱⼝令,`admin:admin`,登陆后台上传war包 , getshell
》》》影响范围《《《
全版本
》》》环境搭建《《《
因为这⾥⽤的环境是CVE-2017-12149的靶机
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d密码⽂件
/jboss-6.1.0.Final/server/default/conf/props/jmx-console-users.properties
账户密码:admin:vulhub
》》》漏洞复现《《《
搭建好环境 进入
在url后加/admin-console/login.seam?conversationId=4 默认账号密码为admin/vulhub
点击上传 上传一个war木马
5 JMX Console未授权
》》》漏洞描述《《《
此漏洞主要是由于JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进⼊到 jmx控制台,并在其中执⾏任何功能。
》》》影响范围《《《
Jboss4.x以下
》》》环境搭建《《《
cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d
》》》漏洞复现《《《
访问目标网址登录
这⾥我们使⽤得复现环境不存在,所以需要密码(正常环境⽆需密码直接可进⼊)
然后找到jboss.deployment (jboss ⾃带得部署功能) 中的flavor=URL,type=DeploymentScanner点进去(通过URL的⽅式远程部署)
找到⻚⾯中的void addURL() 选项远程加载war包来部署。
制作war包 , 这⾥⽤之前制作好的 peak.war , 然后⽤ python 开启web服务
python3 -m http.server
填写war包远程地址
然后跳转以下⻚⾯
webshell连接