JBoss未授权访问漏洞Getshell过程复现

Posted Tr0e

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JBoss未授权访问漏洞Getshell过程复现相关的知识,希望对你有一定的参考价值。

前言

在 2021 年第五届强网杯全国网络安全挑战赛的 EasyWeb 赛题中遇到了 JBoss 未授权访问漏洞 GetShell 的漏洞场景(2021强网杯全国网络安全挑战赛Writeup),当时一脸懵圈,故在此进行学习记录下。

漏洞复现

JBoss 是一个管理 EJB 的容器和服务器,支持 EJB 1.1、EJB 2.0 和 EJB3 的规范。但 JBoss 核心服务不包括支持 servlet/JSP 的 WEB 容器,一般与 Tomcat 或 Jetty 绑定使用。JBoss 默认在 8080 端口监听。

漏洞描述

在低版本的 JBoss 中,默认可以访问 JBoss Web 控制台(http://IP:8080/jmx-console),无需用户名和密码。通过 JBoss 未授权访问管理控制台的漏洞,可以进行后台服务管理,可以通过脚本命令执行系统命令,如反弹 shell、wget 写 Webshell 文件。

说白了,这个未授权漏洞就是不需要用户名和密码就进入控制台,然后利用应用部署来部署 war 包,war 包里有个 jsp 的马,然后真香!!!

靶场搭建

主机作用
192.168.0.102Kali 虚拟机,启用Apache服务,提供 War 文件访问
192.168.0.104Ubuntu 虚拟机,搭建 JBoss 靶场
192.168.0.106Win10 物理机,访问靶场,部署 War

1、利用利用 Vulhub 的 CVE-2017-7504 环境(实际上该漏洞环境是一个 JBoss 的反序列化漏洞,详情参见 JBoss 4.x JBossMQ JMS 反序列化漏洞):
在这里插入图片描述2、虚拟机启动靶场环境后,物理机进行访问,发现 JBoss 默认页面,点击进入控制页:
在这里插入图片描述3、假设是未授权访问的话,点击 JMX-Console 不会提示输入用户名、密码,而这个地方用的是别的漏洞的环境,用户名密码都是 admin、admin,所以就假装是不用输入用户名密码的:
在这里插入图片描述4、进入 JBoss 管理控制台,如下图所示:
在这里插入图片描述

漏洞利用

1、往下找 jboss.deployment 进入应用部署页面:
在这里插入图片描述

2、进入应用部署页面后,下滑找到 void addURL(),这里 ParamValue 部分填写远程服务器上的木马的地址:
在这里插入图片描述3、在这里先看看如何制造包含 JSP 木马的 War 包,利用冰蝎的 JSP 木马,直接执行命令jar cvf shell.war shell.jsp获得 shell.war 文件:
在这里插入图片描述
4、接着将制作好的 shell.war 文件放在 Kali 虚拟机的 Apache 服务的网站根目录下:
在这里插入图片描述5、回到 JBoss 控制台 void addURL()输入木马地址后,点击 Invoke 按钮:
在这里插入图片描述
点击后会跳转到如下页面:
在这里插入图片描述6、输入 http://JBOSS服务器IP:8080/shell/ 查看 shell.war 包成功部署:
在这里插入图片描述

7、最后,使用冰蝎连接 shell 地址:
在这里插入图片描述

防御手段

1、对 JMX 控制页面访问添加访问验证。

2、进行JMX Console 安全配置。

Jexboss脚本

Jexboss 是一个使用 Python 编写的 Jboss 漏洞检测利用工具,通过它可以检测并利用 Web-console、Jmx-console、JMXInvokerServlet 这三个漏洞,并且可以获得一个 Shell,项目 Github 地址:jexboss
在这里插入图片描述用途和用法的话官方介绍得很详细了:
在这里插入图片描述来看看使用 Jexboss 脚本工具对上述靶场环境进行一键利用并获得 Shell。

1、下载脚本并执行检测命令python jexboss.py -u http://192.168.0.104:8080/,如下图:
在这里插入图片描述
2、执行命令后出现下面的界面就说明存在漏洞:
在这里插入图片描述3、等执行完后会弹出个选择 yes or no,选择 yes,则创建连接,反弹 Shell,如下图所示:
在这里插入图片描述

以上是关于JBoss未授权访问漏洞Getshell过程复现的主要内容,如果未能解决你的问题,请参考以下文章

JBOSS未授权漏洞详细复现

jboss未授权访问Getshell

SSRF02服务器端请求伪造——WebLogic架构漏洞复现之从SSRF==>未授权访问==>GetShell

Web中间件漏洞之jBoss篇

jboss 未授权访问漏洞复现

常见未授权访问漏洞总结