| |
|
开发:
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的容器和服务器,支持EJB1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。 默认端口:8080,9990 目录 二、JBoss JMXInvokerServlet 反序列化漏洞(CVE-2015-7501) 三、JBoss EJBInvokerServlet 反序列化漏洞 四、JBossMQJMS 反序列化漏洞(CVE-2017-7504) 五、JBoss Administration Console 弱口令&&getshell 一、jboss 代码执行 (CVE-2017-12149)1.漏洞介绍1.1影响范围
1.2漏洞原理 在/invoker/readonly路径下,攻击者可以构造序列化代码传入服务器进行反序列化,由于没有对反序列化操作进行任何检测,导致攻击者可以执行任意代码 该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码 2.漏洞复现使用vulfocus在线靶场 ?问 /invoker/readonly 返回如果返回500,说明此页面就可能存在反序列化漏洞。? 直接使用?jboss反序列化_CVE-2017-12149工具 还有一种反弹shell的方法,可以参考下面的复现,一样的利用方法只需要把路径改一下就行 3.修复建议??1.升级到JBOSS7 2.1. ?不需要 http-invoker.sar 组件的用户可直接删除此组件。 二、JBoss JMXInvokerServlet 反序列化漏洞(CVE-2015-7501)?1.漏洞介绍1.1影响版本
1.2漏洞原理 JBoss在 /invoker/JMXInvokerServlet 请求中读取了用户传入的对象,然后我们可以利用?Apache?Commons Collections 中的 Gadget 执行任意代码。 ?2.漏洞复现使用vulfocus在线靶场 访问网站页面/invoker/JMXInvokerServlet页面如果弹出下载JMXInvokerServlet文件的页面,则证明存在漏洞? ? ?下载反序列化工具:https://github.com/ianxtianxt/CVE-2015-7501/ 下载后解压完,进入到工具目录 ,执行命令:
继续执行命令(IP是攻击机ip,4444是要监听的端口):
新界面开启nc监听准备接收反弹过来的shell
这个时候在这个目录下生成了一个ReverseShellCommonsCollectionsHashMap.ser文件,然后我们curl就能反弹shell了
?3.修复建议1.目前厂商暂未发布修复措施解决此安全问题,建议使用此软件的用户随时关注厂商主页或参考网址以获取解决办法: Red Hat - We make open source technologies for the enterprise 2.不需要 http-invoker.sar 组件的用户可直接删除此组件。路径为:jboss-6.1.0.Final\server\default\deploy\http-invoker.sar,删除后访问404? 3.添加如下代码至 http-invoker.sar 下 web.xml 的 security-constraint 标签中,对 http invoker 组件进行访问控制 三、JBoss EJBInvokerServlet 反序列化漏洞1.漏洞概述1.1影响版本
1.2漏洞原理 此漏洞和CVE-2015-7501漏洞原理相同,两者的区别就在于两个漏洞选择的进行其中JMXInvokerServlet和EJBInvokerServlet利用的是org.jboss.invocation.MarshalledValue进行的反序列化操作,而web-console/Invoker利用的是org.jboss.console.remote.RemoteMBeanInvocation进行反序列化并上传构造的文件。 2.漏洞复现跟CVE-2015-7501利??法?样,只是路径不?样,这个漏洞利?路径是/invoker/EJBInvokerServlet,在这里就不复现了,复现请参考CVE-2015-7501 3.修复建议1.不需要 http-invoker.sar 组件的用户可直接删除此组件。路径为:jboss-6.1.0.Final\server\default\deploy\http-invoker.sar,删除后访问404? 2.添加如下代码至 http-invoker.sar 下 web.xml 的 security-constraint 标签中,对 http invoker 组件进行访问控制 四、JBossMQJMS 反序列化漏洞(CVE-2017-7504)1.漏洞简介1.1影响版本
1.2漏洞原理 JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。 2.漏洞复现使用vulfocus在线靶场 访问/jbossmq-httpil/HTTPServerILServlet,返回This is the JBossMQ HTTP-IL,说明页面存在,此页面存在反序列化漏洞。 ?利用工具:JavaDeserH2HC,也可以利用上面介绍的那款反序列化工具 也是推荐在linux操作系统使用该工具 我们选择一个Gadget:ReverseShellCommonsCollectionsHashMap,编译并生成序列化数据: 生成ReverseShellCommonsCollectionsHashMap.class
?? ?生成ReverseShellCommonsCollectionsHashMap.ser(ip是要攻击机的ip,port是要监听的端口)
?新开一个窗口用nc监听刚刚的端口
? ?这个时候在这个目录下生成了一个ReverseShellCommonsCollectionsHashMap.ser文件,然后我们curl就能反弹shell了
?成功反弹 3.修复建议升级至不受影响的版本 五、JBoss Administration Console 弱口令&&getshell1.漏洞概述1.1影响版本
1.2漏洞原理 Administration Console管理页面存在弱口令,admin:admin,登陆后台上传包含shell的war包并部署,再用后门工具连接即可 2.漏洞复现参考:Jboss 4.x版本jmx-console控制台弱口令getshell_努力的学渣'#的博客-CSDN博客_jboss弱口令 3.修复建议1. 修改密码jboss-6.1.0.Final\server\default\conf\props\jmx-console-users.propertie 2. 或删除Administration Console页面。 JBoss版本>=6.0,admin-console页面路径为: C:\jboss-6.1.0.Final\common\deploy\admin-console.war 6.0之前的版本,路径为C:\jboss-4.2.3\server\default\deploy\management\console-mgr.sar\web-console.war 六、JBoss?JMX Console未授权访问1.漏洞概述1.1影响版本
1.2漏洞原理 JBoss不仅提供了线程内存的信息,还有一些MBean会对Jboss系统产生影响,默认情况下, JBoss启动后可以通过访问 http://localhost:8080/jmx-console 浏览jboss的部署管理的一些信息以及一些自定义的JMX服务,不需要输入用户名和密码,攻击者知道服务器的IP和端口后就可以访问Jboss的Jmx-console通过Mbean攻击服务器 2.漏洞复现参考:【实战】Jboss未授权访问(JMX-Console)Getshell_郑好_zh的博客-CSDN博客 3.修复建议1.增加密码措施,防止未授权访问 在C:\jboss-版本号Final\common\deploy\jmx-console.war\WEB-INF\jboss-web.xml开启安全配置 2.在C:\jboss-版本号Final\common\deploy\jmx-console.war\WEB-INF\web.xml开启安全认证。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/26 4:30:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |