JBoss5.x6.x 反序列化漏洞

JBOSS 下载地址:http://download.jboss.org/jbossas/6.1/jboss-as-distribution-6.1.0.Final.zip

EXP 下载地址:https://github.com/yunxu1/jboss-_CVE-2017-12149

2). 环境搭建
wget http://download.jboss.org/jbossas/6.1/jboss-as-distribution-6.1.0.Final.zip

在这里插入图片描述
第二步:修改配置文件,使网络中的主机都能访问 JBOSS

vim ~/jboss-6.1.0.Final/server/default/deploy/jbossweb.sar/server.xml

在这里插入图片描述
第三步:启动JBOSS

./jboss-6.1.0.Final/bin/run.sh

在这里插入图片描述
第四步:下载EXP

git clone https://github.com/yunxu1/jboss-_CVE-2017-12149

在这里插入图片描述

有脚本EXP利用方式,同时也有图形化利用方式

在这里插入图片描述

3). 信息收集

第一步:利用nmap对目标主机进行常用端口扫描

nmap -p 1-65535 -A 192.168.1.107

在这里插入图片描述
第二步:访问目标主机的8080端口,看看能否正常访问

在这里插入图片描述
4). 漏洞利用

利用刚才下载好的 EXP 进行漏洞利用,打开图形化工具 jboss 反序列化_CVE-2017-12149.jar

在这里插入图片描述

github出了一个检测jboss的项目:https://github.com/joaomatosf/jexboss

这里搭建环境验证:

漏洞ip:192.168.127.128

把项目直接clone到本地利用即可

在这里插入图片描述
上图标红就说明有问题
在这里插入图片描述

可以看到shell已经反弹成功。

这个项目还能实现批量扫描,总体很不错!

理解Java 反序列化漏洞

推荐学习Paper:Java反序列化漏洞从入门到深入:https://xz.aliyun.com/t/2041。内容较多,先了解简单Java语法结构和面向对象编程基础,再学习序列化、反序列化的基本概念和漏洞成因。

(1)序列化:把 Java 对象转换为字节序列的过程便于保存在内存、文件、数据库中。ObjectOutputStream类的writeObject()方法可以实现序列化。

(2)反序列化:把字节序列恢复为Java对象的过程。ObjectInputStream类的readObject()方法用于反序列化。

(3)漏洞成因:暴露反序列化API或传入点 ,用户可以操作传入数据,并且反序列化的readObject()方法未对用户传入数据进行有效的安全检测,攻击者可以精心构造反序列化对象并执行恶意代码。

猜你喜欢

转载自blog.csdn.net/weixin_44110913/article/details/109521747