0x00 前言
本文记录从零开始搭建ADAudit Plus漏洞调试环境的细节,介绍数据库用户口令的获取方法。
0x01 简介
本文将要介绍以下内容:
ADAudit Plus安装
ADAudit Plus漏洞调试环境配置
数据库用户口令获取
0x02 ADAudit Plus安装
1.下载
全版本下载地址:https://archives2.manageengine.com/active-directory-audit/
2.安装
安装参考:https://www.manageengine.com/products/active-directory-audit/quick-start-guide-overview.html
3.测试
访问https://localhost:8081
0x03 ADAudit Plus漏洞调试环境配置
方法同Password Manager Pro漏洞调试环境配置基本类似
1.开启调试功能
(1)定位配置文件
查看java进程的信息,这里分别有两个java进程,对应两个不同的父进程wrapper.exe,如下图
wrapper.exe的进程参数分别为:
“C:\Program Files\ManageEngine\ADAudit Plus\bin\Wrapper.exe” -c “C:\Program Files\ManageEngine\ADAudit Plus\bin\..\conf\wrapper.conf”
“C:\Program Files\ManageEngine\ADAudit Plus\bin\wrapper.exe” -s “C:\Program Files\ManageEngine\ADAudit Plus\apps\dataengine-xnode\conf\wrapper.conf”
这里需要修改的配置文件为C:\Program Files\ManageEngine\ADAudit Plus\conf\wrapper.conf
(2)修改配置文件添加调试参数
找到启用调试功能的位置:
【技术原创】ADAudit Plus漏洞调试环境搭建
将其修改为
【技术原创】ADAudit Plus漏洞调试环境搭建
注:
序号需要逐个递增,此处将wrapper.java.additional.3=-Xdebug修改为wrapper.java.additional.25=-Xdebug
(3)重新启动相关进程
关闭进程wrapper.exe和对应的子进程java.exe
在命令行下执行命令:
【技术原创】ADAudit Plus漏洞调试环境搭建
2.常用jar包位置
路径:C:\Program Files\ManageEngine\ADAudit Plus\lib
web功能的实现文件为AdventNetADAPServer.jar和AdventNetADAPClient.jar
3.IDEA设置
设置为Remote JVM Debug,远程调试成功如下图
【技术原创】ADAudit Plus漏洞调试环境搭建
0x04 数据库用户口令获取
默认配置下,ADAudit Plus使用postgresql存储数据,默认配置了两个登录用户:adap和postgres
1.用户adap的口令获取
配置文件路径:C:\Program Files\ManageEngine\ADAudit Plus\conf\database_params.conf,内容示例:
【技术原创】ADAudit Plus漏洞调试环境搭建
【技术原创】ADAudit Plus漏洞调试环境搭建
其中,password被加密,加解密算法位于:C:\Program Files\ManageEngine\ADAudit Plus\lib\framework-tools.jar中的com.zoho.framework.utils.crypto->CryptoUtil.class
经过代码分析,得出以下解密方法:
密钥固定保存在C:\Program Files\ManageEngine\ADAudit Plus\conf\customer-config.xml,内容示例:
【技术原创】ADAudit Plus漏洞调试环境搭建
得到密钥:CryptTag为8ElrDgofXtbrMAtNQBqy
根据以上得到的密文cb26b920b56fed8d085d71f63bdd79c55ea7b98f8794699562c06ea1bedbec52087b394f和密钥8ElrDgofXtbrMAtNQBqy,编写解密程序,代码如下:
【技术原创】ADAudit Plus漏洞调试环境搭建
【技术原创】ADAudit Plus漏洞调试环境搭建
【技术原创】ADAudit Plus漏洞调试环境搭建
【技术原创】ADAudit Plus漏洞调试环境搭建
程序运行后得到解密结果:Adaudit@123$
拼接出数据库的连接命令:"C:\Program Files\ManageEngine\ADAudit Plus\pgsql\bin\psql" "host=127.0.0.1 port=33307 dbname=adap user=adaudit password=Adaudit@123$"
连接成功,如下图
【技术原创】ADAudit Plus漏洞调试环境搭建
2.用户postgres的口令获取
口令硬编码于C:\Program Files\ManageEngine\ADAudit Plus\lib\AdventnetADAPServer.jar中的com.adventnet.sym.adsm.common.server.mssql.tools->ChangeDBServer.class->isDBServerRunning(),如下图
【技术原创】ADAudit Plus漏洞调试环境搭建
得到用户postgres的口令为Stonebraker
拼接出数据库的连接命令:"C:\Program Files\ManageEngine\ADAudit Plus\pgsql\bin\psql" "host=127.0.0.1 port=33307 dbname=adap user=postgres password=Stonebraker"
连接成功,如下图
【技术原创】ADAudit Plus漏洞调试环境搭建
一条命令实现连接数据库并执行数据库操作的命令示例:"C:\Program Files\ManageEngine\ADAudit Plus\pgsql\bin\psql" --command="SELECT * FROM public.aaapassword ORDER BY password_id ASC;" postgresql://postgres:Stonebraker@127.0.0.1:33307/adap
返回结果示例:
【技术原创】ADAudit Plus漏洞调试环境搭建
发现password的数据内容被加密
0x05 小结
在我们搭建好ADAudit Plus漏洞调试环境后,接下来就可以着手对漏洞进行学习。