HTB: Manage渗透测试报告
初始扫描
使用nmap对目标进行端口扫描,发现开放端口:
|
|
详细版本扫描显示:
- 端口22:OpenSSH 8.9p1 Ubuntu
- 端口2222:Java RMI服务
- 端口8080:Apache Tomcat 10.1.19
- 端口41557:Java RMI服务
网站枚举 - TCP 8080
访问8080端口显示默认Tomcat页面。尝试访问Manager App返回403错误。
使用feroxbuster进行目录爆破:
|
|
未发现有趣内容。
Java RMI - TCP 2222
remote-method-guesser枚举
使用remote-method-guesser工具枚举RMI实例:
|
|
发现jmxrmi绑定到端口41557。
JMX枚举
使用beanshooter工具枚举JMX服务:
|
|
发现MBean服务器无需认证,枚举出198个MBean,并获取两个Tomcat用户凭据:
- 用户:manager,密码:fhErvo2r9wuTEYiYgt
- 用户:admin,密码:onyRPCkaG4iX72BrRtKgbszd
获取Tomcat Shell
交互式RCE
使用beanshooter部署StandardMBean:
|
|
获取交互式shell:
|
|
反向Shell
通过Java Runtime.exec执行反向shell命令:
|
|
成功获取稳定shell。
用户权限提升
枚举发现
在/home目录发现两个用户:karl和useradmin。useradmin用户目录包含.google_authenticator文件和备份文件backup.tar.gz。
备份分析
解压备份文件发现包含SSH密钥和Google Authenticator种子:
|
|
密码重用
使用Tomcat用户admin的密码"onyRPCkaG4iX72BrRtKgbszd"成功切换到useradmin用户,配合Google Authenticator验证码完成认证。
Root权限提升
Sudo权限分析
useradmin用户可以无密码运行adduser命令:
|
|
利用策略
通过创建admin用户,系统会自动创建admin组。在Ubuntu默认配置中,admin组拥有完整的sudo权限。
创建admin用户
|
|
获取Root权限
切换到admin用户后,使用sudo获取root shell:
|
|
成功读取root.txt标志文件。
总结
本渗透测试通过利用Java RMI和JMX的未授权访问漏洞,结合密码重用和sudo配置弱点,完成了从初始访问到完全控制的全过程。