vRealize Operations Manager 漏洞调试环境搭建
0x00 前言
本文记录从零开始搭建 vRealize Operations Manager 漏洞调试环境的细节。
0x01 简介
本文将要介绍以下内容:
- vRealize Operations Manager 安装
- vRealize Operations Manager 漏洞调试环境配置
- 常用知识
0x02 vRealize Operations Manager 安装
1.下载 OVA 文件
下载页面:https://my.vmware.com/group/vmware/patch
下载前需要先注册用户,之后选择需要的版本进行下载
选择产品 vRealize Operations Manager,需要注意 pak 文件为升级包,这里选择 ova 文件进行下载,如下图
经过筛选,只有版本 vROps-8.3.0-HF2
带有 ova 文件,其他都是 pak 文件
2.安装
(1) 在 VMware Workstation 中导入 OVA 文件
配置页面中选择 Remote Collecto(Standard)
,如下图
等待 OVA 文件导入完成后,将会自动开机进行初始化,初始化完成后如下图
(2) 配置
访问配置页面 https://192.168.1.103/
选择快速安装 EXPRESS INSTALLATION
设置 admin 口令
3.设置 root 用户口令
在虚拟机中选择 Login
,输入 root
,设置 root 用户初始口令
4.启用远程登录
以 root 身份执行命令:
service sshd start
5.开启远程调试功能
(1) 查看所有服务的状态
systemctl status
结果如下图
定位到 web 相关的服务为 vmware-casa.service
(2) 查看 vmware-casa.service 的具体信息
systemctl status vmware-casa.service
结果如下图
定位出加载的文件 /usr/lib/vmware-casa/bin/vmware-casa.sh
,查看文件内容并进一步分析后可定位出需要的配置文件 /usr/lib/vmware-casa/casa-webapp/bin/setenv.sh
(3) 添加调试参数
在变量 JVM_OPTS
中添加调试参数: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
(4) 重启服务
service vmware-casa restart
(5) 查看调试参数是否更改:
ps -aux |grep vmware-casa
如下图
(6) 打开防火墙
这里选择清空防火墙规则: iptables -F
(7) 使用 IDEA 设置远程调试参数
IDEA 的完整配置方法可参考之前的文章 《Zimbra 漏洞调试环境搭建》
0x03 常用知识
1.常用路径
web 目录: /usr/lib/vmware-casa/casa-webapp/webapps/
日志路径: /storage/log/vcops/log/cas
admin 用户的口令 hash: /storage/vcops/user/conf/adminuser.properties
数据库口令位置: /var/vmware/vpostgres/11/.pgpass
2.数据库连接
数据库口令内容示例:
localhost:5432:vcopsdb:vcops:J//mJcgppVIuGgzEuKIHGee9
localhost:5433:vcopsdb:vcops:keoMG4cmN+0jyD+7NAoED1HV
localhost:5433:replication:vcopsrepl:keoMG4cmN+0jyD+7NAoED1HV
连接数据库 1:
/opt/vmware/vpostgres/11/bin/psql -h localhost -p 5432 -d vcopsdb -U vcops
J//mJcgppVIuGgzEuKIHGee9
连接数据库 2:
/opt/vmware/vpostgres/11/bin/psql -h localhost -p 5433 -d vcopsdb -U vcops
keoMG4cmN+0jyD+7NAoED1HV
连接数据库 3:
/opt/vmware/vpostgres/11/bin/psql -h localhost -p 5433 -d replication -U vcopsrepl
keoMG4cmN+0jyD+7NAoED1HV
3.版本识别
识别方法:
通过 api 接口获得配置信息,在配置信息中导出详细的版本信息
访问 URL: https://<ip>/suite-api/docs/wadl.xml
回显的数据为 xml 格式,在 getCurrentVersionOfServer
中会包含版本信息,如下图
Python 实现细节:
由于回显的数据为 xml 格式,存在转义字符,在解析时首先处理转义字符
示例代码:
def escape(_str):
_str = _str.replace("&", "&")
_str = _str.replace("<", "<")
_str = _str.replace(">", ">")
_str = _str.replace(""", "\"")
return _str
使用 re 进行字符串匹配时,由于数据跨行,需要加上参数 re.MULTILINE|re.DOTALL
示例代码:
pattern_data = re.compile(r"getCurrentVersionOfServer(.*?)</ns2:doc>", re.MULTILINE|re.DOTALL)
versiondata = pattern_data.findall(escape(res.text))
完整代码已上传至 github,地址如下:https://github.com/3gstudent/Homework-of-Python/blob/master/vRealizeOperationsManager_GetVersion.py
0x04 小结
在我们搭建好 vRealize Operations Manager 漏洞调试环境后,接下来就可以着手对漏洞进行学习。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
下一篇: Jvm 常量池
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论