目录
0X00 指纹特征
0X01 GlassFish简介
0X02 靶场环境搭建
0X03 漏洞复现
0X00 指纹特征
0.1 fofa
"glassfish" && port="4848"
0.2 业务端口报错页面
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)。
2.2 解压完成后进入bin目录,设置环境变量。添加bin目录至path。
2.3 运行GlassFish中间件。
asadmin start-domain //开启GlassFish
asadmin stop-domain //关闭GlassFis
2.4 访问http://127.0.0.1:4848/common/index.jsf页面,成功进入管理后台。
0X03 漏洞复现
靶场环境:http://192.168.160.145:4848/ 【Windows10靶机】
3.1 GlassFish默认口令
默认情况下,在本机登录4848管理端口,直接免密进入管理后台。
如需远程管理则需要更改“admin”默认密码,开启远程管理权限,否则会提示“Configuration Error
Secure Admin must be enabled to access the DAS remotely.”错误。
asadmin change-admin-password //更改密码
enable-secure-admin //开启远程安全管理
远程登录成功。
常见口令:
GlassFish2默认帐号admin密码adminadmin。
GlassFish3、4 如果管理员不设置帐号本地会自动登录,但是远程访问会提示配置错误。
3.2 GlassFish后台getshell
3.2.1 漏洞原理
在进入4848端口后台管页面,攻击者可通过部署包含恶意木马的war包,从而达到对中间件甚至服务器的控制。
3.2.2 漏洞复现
制作包含恶意木马的war包。
依次点击Applications - Deploy页面,进入上传页面。
将制作好的war包上传,并填写Context Root,这里自动填写为shell。
访问shell地址,发现上传成功。
地址:http://192.168.160.148:8080/shell/shell.jsp
冰蝎成功连接,获取控制权限。
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
读取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
原文始发于微信公众号(Matrix1024):GlassFish中间件漏洞复现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论