本文记录从零开始搭建Password Manager Pro漏洞调试环境的细节。
本文将要介绍以下内容:
Password Manager Pro安装
Password Manager Pro漏洞调试环境配置
数据库连接
1.下载
最新版下载地址:https://www.manageengine.com/products/passwordmanagerpro/download.html
旧版本下载地址:https://archives2.manageengine.com/passwordmanagerpro/
最新版默认可免费试用30天,旧版本在使用时需要合法的License
注:
我在测试过程中,得出的结论是如果缺少合法的License,旧版本在使用时只能启动一次,第二次启动时会提示没有合法的License
2.安装
系统要求:https://www.manageengine.com/products/passwordmanagerpro/system-requirements.html
对于Windows系统,需要Win7以上的系统,Win7不支持
默认安装路径:C:\Program Files\ManageEngine\PMP
3.测试
安装成功后选择Start PMP Service
访问https://localhost:7272
默认登录用户名:admin
默认登录口令:admin
如下图
0x03 Password Manager Pro漏洞调试环境配置
本文以Windows环境为例
1.Password Manager Pro设置
查看服务启动后相关的进程,如下图
java进程的启动参数:
java进程的父进程为wrapper.exe,启动参数:
查看文件C:\Program Files\ManageEngine\PAM360\conf\wrapper.conf,找到启用调试功能的位置:
取消注释后,内容如下: 注:
Address的配置不需要设置为address=*:8787,会提示ERROR: transport error 202: gethostbyname: unknown host,设置address=8787就能够支持远程调试的功能
重启服务,再次查看java进程的参数:wmic process where name="java.exe" get commandline
配置修改成功,如下图
2.常用jar包位置
路径:C:\Program Files\ManageEngine\PMP\lib
web功能的实现文件为AdventNetPassTrix.jar
3.IDEA设置
远程调试设置如下图
远程调试成功,如下图
默认配置下,Password Manager Pro使用postgresql存储数据
配置文件路径:C:\Program Files\ManageEngine\PMP\conf\database_params.conf
内容示例:
1.口令破解
数据库连接的口令被加密,加解密算法位于C:\Program Files\ManageEngine\PMP\lib\AdventNetPassTrix.jar中的com.adventnet.passtrix.ed.PMPEncryptDecryptImpl.class
密钥固定保存在com.adventnet.passtrix.db.PMPDBPasswordGenerator.class,内容为@[email protected]*
我们可以根据PMPEncryptDecryptImpl.class中的内容快速编写一个解密程序
解密程序可参考:https://www.shielder.com/blog/2022/09/how-to-decrypt-manage-engine-pmp-passwords-for-fun-and-domain-admin-a-red-teaming-tale/
注:
文章中涉及数据库口令的解密没有问题,Master Key的解密存在Bug,解决方法将在后面的文章介绍
解密获得连接口令为Eq5XZiQpHv
2.数据库连接
根据配置文件拼接数据库连接的命令
(1)失败的命令
(2)成功的命令
将localhost替换为127.0.0.1,连接成功,完整的命令为:
格式为psql --command="SELECT * FROM table;" postgresql://
示例命令:
输出如下:
发现password的数据内容被加密
在我们搭建好Password Manager Pro漏洞调试环境后,接下来就可以着手对漏洞进行学习。