
51 changes to exploits/shellcodes Tor Browser < 0.3.2.10 - Use After Free (PoC) Notepad++ < 7.7 (x64) - Denial of Service SpotIE Internet Explorer Password Recovery 2.9.5 - 'Key' Denial of Service InputMapper 1.6.10 - Denial of Service SurfOffline Professional 2.2.0.103 - 'Project Name' Denial of Service (SEH) XnConvert 1.82 - Denial of Service (PoC) SpotFTP FTP Password Recovery 3.0.0.0 - 'Key' Denial of Service (PoC) SpotDialup 1.6.7 - 'Key' Denial of Service (PoC) Remote Desktop Gateway - 'BlueGate' Denial of Service (PoC) FreeBSD 12.0 - 'fd' Local Privilege Escalation iOS < 12.4.1 - 'Jailbreak' Local Privilege Escalation Easy File Sharing Web Server 7.2 - 'New User' Local Overflow (SEH) DeviceViewer 3.12.0.1 - Arbitrary Password Change Winrar 5.80 - XML External Entity Injection Microsoft Windows Media Center WMV / WMA 6.3.9600.16384 - Code Execution Siemens TIA Portal - Remote Command Execution Android 7 < 9 - Remote Code Execution CoreFTP 2.0 Build 674 SIZE - Directory Traversal (Metasploit) CoreFTP 2.0 Build 674 MDTM - Directory Traversal (Metasploit) CTROMS Terminal OS Port Portal - 'Password Reset' Authentication Bypass (Metasploit) MyBB < 1.8.21 - Remote Code Execution Nagios XI 5.6.5 - Remote Code Execution / Root Privilege Escalation Webmin < 1.920 - 'rpc.cgi' Remote Code Execution (Metasploit) Wolters Kluwer TeamMate 3.1 - Cross-Site Request Forgery Publisure Hybrid - Multiple Vulnerabilities NetGain EM Plus 10.1.68 - Remote Command Execution Pfsense 2.3.4 / 2.4.4-p3 - Remote Code Injection WordPress Plugin ARforms 3.7.1 - Arbitrary File Deletion DotNetNuke 9.3.2 - Cross-Site Scripting VehicleWorkshop 1.0 - 'bookingid' SQL Injection WordPress Plugin Tutor.1.5.3 - Local File Inclusion WordPress Plugin tutor.1.5.3 - Persistent Cross-Site Scripting WordPress Plugin Wordfence.7.4.5 - Local File Disclosure WordPress Plugin contact-form-7 5.1.6 - Remote File Upload WordPress Plugin ultimate-member 2.1.3 - Local File Inclusion WordPress Plugin WOOF Products Filter for WooCommerce 1.2.3 - Persistent Cross-Site Scripting WordPress Plugin WP Sitemap Page 1.6.2 - Persistent Cross-Site Scripting Joomla! 3.9.0 < 3.9.7 - CSV Injection PlaySMS 1.4.3 - Template Injection / Remote Code Execution Wing FTP Server - Authenticated CSRF (Delete Admin) WordPress Plugin Custom Searchable Data System - Unauthenticated Data M]odification UADMIN Botnet 1.0 - 'link' SQL Injection Joomla! Component ACYMAILING 3.9.0 - Unauthenticated Arbitrary File Upload Wordpress Plugin PicUploader 1.0 - Remote File Upload PHP-Fusion 9.03.50 - 'panels.php' Remote Code Execution WordPress Plugin Helpful 2.4.11 - SQL Injection Prestashop 1.7.6.4 - Cross-Site Request Forgery WordPress Plugin Simple File List 5.4 - Remote Code Execution Library CMS Powerful Book Management System 2.2.0 - Session Fixation Joomla! J2 Store 3.3.11 - 'filter_order_Dir' SQL Injection (Authenticated) Joomla! J2 Store 3.3.11 - 'filter_order_Dir' Authenticated SQL Injection Beauty Parlour Management System 1.0 - Authentication Bypass Linux/x86 - Add User to /etc/passwd Shellcode (59 bytes) Windows/x64 - WinExec Add-Admin Dynamic Null-Free Shellcode (210 Bytes) Windows/x64 - WinExec Add-Admin (ROOT/I@mR00T$) Dynamic Null-Free Shellcode (210 Bytes) Linux/x64 - Password Protected Bindshell + Null-free Shellcode (272 Bytes) Linux/x64 - Password (P3WP3Wl4ZerZ) + Bind (0.0.0.0:4444/TCP) Shell (/bin/bash) + Null-free Shellcode (272 Bytes)
97 lines
No EOL
4.9 KiB
Text
97 lines
No EOL
4.9 KiB
Text
#####################################################################################
|
|
# Exploit Title: [PUBLISURE : From 0 to local Administrator (3 vulns) exploit-chain]
|
|
# Google Dork: [N/A]
|
|
# Date: [05/09/2019]
|
|
# Exploit Author: [Bourbon Jean-Marie (@kmkz_security) - Hacknowledge company]
|
|
# Vendor Homepage: [https://www.publisure.com/]
|
|
# Software Link: [N/C]
|
|
# Version: [version 2.1.2]
|
|
# Tested on: [Windows 7 Enterprise]
|
|
# CVE : [CVE-2019-14252, CVE-2019-14253, CVE-2019-14254]
|
|
|
|
#####################################################################################
|
|
# Improper Access Control
|
|
#
|
|
# CVSSv3: 7.2 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N)
|
|
# OVE ID: OVE-20190724-0002
|
|
# CVE ID: CVE-2019-14253
|
|
#
|
|
#####################################################################################
|
|
# (Pre-Authenticated) Multiples SQL injection
|
|
#
|
|
# CVSSv3: 8.2 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N)
|
|
# OVE ID: OVE-20190724-0003
|
|
# CVE ID: CVE-2019-14254
|
|
#
|
|
#####################################################################################
|
|
# Unrestricted File Upload RCE
|
|
#
|
|
# CVSSv3: 9.1(CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H)
|
|
# OVE ID: OVE-20190724-0004
|
|
# CVE ID: CVE-2019-14252
|
|
#
|
|
#####################################################################################
|
|
# Fixes:
|
|
# Upgrade to latest product version and/or contact support for patches
|
|
#####################################################################################
|
|
|
|
I. PRODUCT
|
|
|
|
Publisure Hybrid mail is a highly efficient and cost effective alternative to traditional methods of producing and posting correspondence within an organization.
|
|
The Publisure system can either be used for centralized, internal production within your existing facilities or alternatively, it can be implemented as a fully outsourced solution.
|
|
|
|
Note that this advisory is based on a version 2.1.2 which is a legacy version since a newer one was released.
|
|
|
|
II. ADVISORY
|
|
|
|
A combination of three different vulnerabilities permits an unauthenticated attacker to gain Administrator access on the server hosting Publisure application.
|
|
|
|
III. VULNERABILITIES DESCRIPTIONS
|
|
|
|
a) The first issue permits to bypass authentication mechanism allowing malicious person to perform query on PHP forms within the /AdminDir folder that should be restricted.
|
|
b) The second weakness is that SQL queries are not well sanitized resulting in multiple SQL injection in "userAccFunctions.php" functions.
|
|
Using this two steps, an attacker can access passwords and/or grant access to user account "user" in order to become "Administrator" (for example).
|
|
|
|
c) Once successfully authenticated as an administrator, he is able to inject PHP backdoor by using "adminCons.php" form.
|
|
This backdoor will then be stored in E:\PUBLISURE\webservice\webpages\AdminDir\Templates\ folder even if removed from "adminCons.php" view (permitting to hide the malicious PHP file).
|
|
|
|
IV. PROOF OF CONCEPT
|
|
|
|
a) Access to AdminDir PHP scripts and database querying is possible whithout authentication (ex: http://192.168.13.37/AdminDir/editUser.php?id=2)
|
|
b) Vulnerable URL example: http://192.168.13.37/AdminDir/editUser.php?id=sqli
|
|
"editUser.php" vulnerable code: $user = getUserDtails($_GET['id']);
|
|
|
|
"userAccFunctions.php" vulnerable code example:
|
|
|
|
function getUserDtails($id) {
|
|
global $db;
|
|
//The reseller_accounts table has been used to store department information since PDQit
|
|
$Q = "SELECT a.username as username,a.contact_firstname,a.contact_lastname,a.email,r.company_name, a.enabled, a.record_id, a.password, a.unique_identifier, a.reseller_id, a.approval, a.resourceEditType, a.docView FROM accounts a, reseller_accounts r WHERE r.record_id = a.reseller_id AND a.record_id = $id";
|
|
$R = $db->query($Q);
|
|
return $R;
|
|
}
|
|
|
|
c) "adminCons.php" form permits to upload leading to RCE and allow attacker to hide malicious PHP code stored within "/AdminDir/Templates" folder (ex: http://192.168.13.37/AdminDir/Templates/tata.php?c=whoami)
|
|
|
|
|
|
V. RECOMMENDATIONS
|
|
|
|
a) Restrict access to administrative (and other) folder when non authenticated.
|
|
b) Prepare SQL query before execution using PDO to escape injections.
|
|
c) Check file type on file upload forms to prevent PHP code upload instead of templates.
|
|
|
|
|
|
VI. TIMELINE
|
|
|
|
July 23th, 2019: Vulnerability identification
|
|
July 30th, 2019: First contact with the editor (Publisure) and vulnerabilities acknowledgement
|
|
August 13th, 2019: Contact to vendor to ask for fix - no reply
|
|
September 04th, 2019: Vendor was informed 24h before public disclosure
|
|
September 05th, 2019: public disclosure after 45 days
|
|
|
|
VIII. LEGAL NOTICES
|
|
|
|
The information contained within this advisory is supplied "as-is" with no warranties or guarantees of fitness of use or otherwise.
|
|
I accept no responsibility for any damage caused by the use or misuse of this advisory.
|
|
|
|
The applied disclosure policy is based on US CERT Responsible Disclosure Policy - https://www.us-cert.gov/vulnerability-disclosure-policy |