2017 年 9 月 14 日,国家信息安全漏洞共享平台( CNVD )收录了 JBOSS Application Server 反序列化命令执行漏洞( CNVD-2017-33724,对应 CVE-2017-12149 ),远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码。

漏洞细节和验证代码已公开,近期被不法分子利用出现大规模攻击尝试的可能性较大。

0x01. 漏洞复现

1). 环境准备

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). 环境搭建

第一步:下载 JBOSS 环境,并解压

wget http://download.jboss.org/jbossas/6.1/jboss-as-distribution-6.1.0.Final.zip 

第二步:修改配置文件,使网络中的主机都能访问 JBOSS

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

第三步:启动JBOSS

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

第四步:下载EXP

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

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

3). 信息收集

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

nmap -p - -A 192.168.1.107

第二步:访问目标主机的8080端口,看看能否正常访问

4). 漏洞利用

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

-------------------------------

2019.10.11日补充

最近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()方法未对用户传入数据进行有效的安全检测,攻击者可以精心构造反序列化对象并执行恶意代码。

6.JBoss5.x6.x 反序列化漏洞(CVE-2017-12149)复现的更多相关文章

  1. Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现

    Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现 环境搭建 docker pull medicean/vulapps:s_shiro_1 docker run -d ...

  2. JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)复现

    0x00 漏洞介绍 该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中.该过滤器在没有进行任何安全检查的情 ...

  3. PHP反序列化漏洞-CVE-2016-7124(绕过__wakeup)复现

    前言 最近电脑也不知怎么了时不时断网而且我竟然找不出原因!!!很诡异....  其他设备电脑都OK唯独我的电脑 时好时坏 我仿佛摸清了我电脑断网的时间段所以作息时间都改变了  今天12点多断网刷了会手 ...

  4. ActiveMQ反序列化漏洞(CVE-2015-5254)复现

      0x00 漏洞前言 Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务,集群,Spring Framework等.Apache ...

  5. ActiveMQ 反序列化漏洞(CVE-2015-5254)复现

    1.运行漏洞环境 sudo docker-compose up -d 环境运行后,将监听61616和8161两个端口.其中61616是工作端口,消息在这个端口进行传递:8161是Web管理页面端口.访 ...

  6. fastjson反序列化漏洞历史CVE学习整理

    fastjson 1.2.24反序列化漏洞复现 先写一个正常的使用 fastjson的web服务 我们使用 springboot创建 主要是pom.xml 里面要添加fastjson fastjson ...

  7. WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)复现

    WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)                                                -----by  ba ...

  8. 学习笔记 | java反序列化漏洞分析

    java反序列化漏洞是与java相关的漏洞中最常见的一种,也是网络安全工作者关注的重点.在cve中搜索关键字serialized共有174条记录,其中83条与java有关:搜索deserialized ...

  9. Java反序列化漏洞分析

    相关学习资料 http://www.freebuf.com/vuls/90840.html https://security.tencent.com/index.php/blog/msg/97 htt ...

随机推荐

  1. opencv学习之路【四】——opencv文件结构介绍

    这里要感谢这篇博主的文章 部分内容转载自此 opencv在2.3版本之前 都是用的c语言实现的 而在2.3以后的版本 做了很多重大的改变 其中最主要的是用c++重写大部分结构 然后文件的结构和2.0之 ...

  2. find查找文件

    linux下最强大的搜索命令为”find“. 它的格式为”find <指定目录> <指定条件> <指定动作>“: 比如使用find命令搜索在根目录下的所有inter ...

  3. 大话设计模式--状态模式 State -- C++实现实例

    1.状态模式: 当一个对象的内在状态改变时,允许改变其行为,这个对象看起来就像是改变了其类. 状态模式解决的是当控制一个对象状态转换的条件表达式过于复杂, 把状态的判断逻辑转移到表示不同状态的一系列类 ...

  4. 属性 visibility

    http://www.w3school.com.cn/cssref/pr_class_visibility.asp 可能的值 值 描述 visible 默认值.元素是可见的. hidden 元素是不可 ...

  5. linux sed 命

    sed(stream editor):是流编辑器,按行进行操作,对符合模式的行在内存中进行操作,不对原文件进行修改,处理结束后将模式空间打印到屏幕. sed 的模式空间 处理文件流的内存空间叫模式空间 ...

  6. 2015年SCI收录遥感期刊28种目录

    链接地址:http://blog.sciencenet.cn/blog-57081-928025.html

  7. Queue 输出数据

    坑人的引用类型....输出看看结果是什么 Queue<ParaInfo> strStranList = new Queue<ParaInfo>(); StringBuilder ...

  8. Python3 数据可视化之matplotlib、Pygal、requests

    matplotlib的学习和使用 matplotlib的安装 pip3 install matplotlib 简单的折线图 import matplotlib.pyplot as plt #绘制简单的 ...

  9. Centos7部署NFS

    server1:192.168.1.189   ###客户端 server2:192.168.1.190    ##服务端 1.首先创建共享目录. mkdir -p /data/share 安装nfs ...

  10. WebElement接口获取值

    通过WebElement接口获取值 size 获取元素的尺寸 text 获取元素的文本 get_attribute(name) 获取属性值 location 获取元素坐标,先找到要获取的元素,再调用该 ...