MS03-026: Microsoft RPC Interface Buffer Overrun (823980) (uncredentialed check) - Nessus

Critical   Plugin ID: 11808

This page contains detailed information about the MS03-026: Microsoft RPC Interface Buffer Overrun (823980) (uncredentialed check) Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 11808
Name: MS03-026: Microsoft RPC Interface Buffer Overrun (823980) (uncredentialed check)
Filename: msrpc_dcom.nasl
Vulnerability Published: 2003-07-16
This Plugin Published: 2003-07-28
Last Modification Time: 2018-11-15
Plugin Version: 1.45
Plugin Type: local
Plugin Family: Windows
Dependencies: msrpc_dcom2.nasl, smb_nativelanman.nasl

Vulnerability Information


Severity: Critical
Vulnerability Published: 2003-07-16
Patch Published: N/A
CVE [?]: CVE-2003-0352
CPE [?]: cpe:/o:microsoft:windows

Synopsis

Arbitrary code can be executed on the remote host.

Description

The remote version of Windows contains a flaw in the function RemoteActivation() in its RPC interface that could allow an attacker to execute arbitrary code on the remote host with the SYSTEM privileges.

A series of worms (Blaster) are known to exploit this vulnerability in the wild.

Solution

Microsoft has released patches for Windows NT, 2000, XP, and 2003.

Public Exploits


Target Network Port(s): 139, 445
Target Asset(s): N/A
Exploit Available: True (Metasploit Framework, Exploit-DB, GitHub, Immunity Canvas, Core Impact)
Exploit Ease: Exploits are available

Here's the list of publicly known exploits and PoCs for verifying the MS03-026: Microsoft RPC Interface Buffer Overrun (823980) (uncredentialed check) vulnerability:

  1. Metasploit: exploit/windows/dcerpc/ms03_026_dcom
    [MS03-026 Microsoft RPC DCOM Interface Overflow]
  2. Exploit-DB: exploits/windows/remote/16749.rb
    [EDB-16749: Microsoft RPC DCOM Interface - Remote Overflow (MS03-026) (Metasploit)]
  3. GitHub: https://github.com/Al1ex/WindowsElevation
    [CVE-2003-0352]
  4. GitHub: https://github.com/Ascotbe/Kernelhub
    [CVE-2003-0352]
  5. GitHub: https://github.com/ycdxsb/WindowsPrivilegeEscalation
    [CVE-2003-0352]
  6. Immunity Canvas: CANVAS

Before running any exploit against any system, make sure you are authorized by the owner of the target system(s) to perform such activity. In any other case, this would be considered as an illegal activity.

WARNING: Beware of using unverified exploits from sources such as GitHub or Exploit-DB. These exploits and PoCs could contain malware. For more information, see how to use exploits safely.

Risk Information


CVSS V2 Vector [?]: AV:N/AC:L/Au:N/C:C/I:C/A:C/E:F/RL:OF/RC:C
CVSS Base Score:10.0 (High)
Impact Subscore:10.0
Exploitability Subscore:10.0
CVSS Temporal Score:8.3 (High)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:8.3 (High)

Go back to menu.

Plugin Source


This is the msrpc_dcom.nasl nessus plugin source code. This script is Copyright (C) 2003-2018 Tenable Network Security, Inc.

#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
 script_id(11808);
 script_version("1.45");
 script_cvs_date("Date: 2018/11/15 20:50:27");

 script_cve_id("CVE-2003-0352");
 script_bugtraq_id(8205);
 script_xref(name:"MSFT", value:"MS03-026");
 script_xref(name:"MSKB", value:"823980");

 script_name(english:"MS03-026: Microsoft RPC Interface Buffer Overrun (823980) (uncredentialed check)");
 script_summary(english:"[LSD] Critical security vulnerability in Microsoft Operating Systems");

 script_set_attribute(attribute:"synopsis", value:
"Arbitrary code can be executed on the remote host.");
 script_set_attribute(attribute:"description", value:
"The remote version of Windows contains a flaw in the function
RemoteActivation() in its RPC interface that could allow an attacker to
execute arbitrary code on the remote host with the SYSTEM privileges.

A series of worms (Blaster) are known to exploit this vulnerability in the
wild.");
 script_set_attribute(attribute:"see_also", value:"https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2003/ms03-026");
 script_set_attribute(attribute:"solution", value:"Microsoft has released patches for Windows NT, 2000, XP, and 2003.");
 script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
 script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
 script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
 script_set_attribute(attribute:"exploit_available", value:"true");
 script_set_attribute(attribute:"exploit_framework_core", value:"true");
 script_set_attribute(attribute:"metasploit_name", value:'MS03-026 Microsoft RPC DCOM Interface Overflow');
 script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
 script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
 script_set_attribute(attribute:"canvas_package", value:'CANVAS');

 script_set_attribute(attribute:"vuln_publication_date", value:"2003/07/16");
 script_set_attribute(attribute:"plugin_publication_date", value:"2003/07/28");

 script_set_attribute(attribute:"plugin_type", value:"local");
 script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
 script_end_attributes();

 script_category(ACT_ATTACK);
 script_copyright(english:"This script is Copyright (C) 2003-2018 Tenable Network Security, Inc.");
 script_family(english:"Windows");

 script_dependencies("smb_nativelanman.nasl", "msrpc_dcom2.nasl");
 script_require_ports(139, 445);
 exit(0);
}

#

include ('smb_func.inc');

if(get_kb_item("SMB/KB824146"))exit(0);
if(!get_kb_item("SMB/KB824146_launched"))exit(0);

function RemoteActivation ()
{
 local_var fid, data, rep, ret;

 fid = bind_pipe (pipe:"\epmapper", uuid:"4d9f4ab8-7d1c-11cf-861e-0020af6e7c57", vers:0);
 if (isnull (fid))
   return 0;

 data = # DCOM information
	raw_word (w:5) +
        raw_word (w:6) +
        raw_dword (d:1) +
        raw_dword (d:0) +
        encode_uuid (uuid:"54454e41-424c-454e-4554-574f524b5345") +
	raw_dword (d:0) +

	# CLSID
	encode_uuid (uuid:"53454e5b-5553-5d53-5b4e-45535355535d") +

	# ObjectName
	class_parameter (ref_id:0x20004, name:"\\A"+raw_string(0)+"A\\AA") +

	# NULL pointer
	raw_dword (d:0) +

	# ClientImpLevel
	raw_dword (d:0) +
	# Modes
	raw_dword (d:0) +

	# interfaces (only 1)
	raw_dword (d:1) +
	raw_dword (d:0x20008) +
	raw_dword (d:1) +
	encode_uuid (uuid:"00000000-0000-0000-0000-000000000000") +

	# rest of data
	raw_dword (d:0) +
	raw_dword (d:0);

 data = dce_rpc_pipe_request (fid:fid, code:0x00, data:data);
 if (!data)
   return 0;

 rep = dce_rpc_parse_response (fid:fid, data:data);
 if (!rep || (strlen(rep) != 68))
   return 0;

 ret = get_dword (blob:rep, pos:strlen(rep)-24);
 if ((ret == 0x80080004) || (ret == 0x80070005))
   return 0;

 return 1;
}

os = get_kb_item ("Host/OS/smb") ;
if (("Windows 5.1" >!< os) && ("Windows 5.0" >!< os) && ("Windows 5.2" >!< os) && ("Windows 4.0" >< os))
  exit(0);

port = get_kb_item("SMB/transport");
if(!port)port = 445;

if ( ! get_port_state(port) ) exit(0);
soc = open_sock_tcp(port);
if ( ! soc ) exit(0);

name	= kb_smb_name();

session_init(socket:soc, hostname:name);

r = NetUseAdd(share:"IPC$");
if ( r == 1 )
{
 ret = RemoteActivation();
 if (ret == 1)
   security_hole(port:port);

 NetUseDel();
}

The latest version of this script can be found in these locations depending on your platform:

  • Linux / Unix:
    /opt/nessus/lib/nessus/plugins/msrpc_dcom.nasl
  • Windows:
    C:\ProgramData\Tenable\Nessus\nessus\plugins\msrpc_dcom.nasl
  • Mac OS X:
    /Library/Nessus/run/lib/nessus/plugins/msrpc_dcom.nasl

Go back to menu.

How to Run


Here is how to run the MS03-026: Microsoft RPC Interface Buffer Overrun (823980) (uncredentialed check) as a standalone plugin via the Nessus web user interface (https://localhost:8834/):

  1. Click to start a New Scan.
  2. Select Advanced Scan.
  3. Navigate to the Plugins tab.
  4. On the top right corner click to Disable All plugins.
  5. On the left side table select Windows plugin family.
  6. On the right side table select MS03-026: Microsoft RPC Interface Buffer Overrun (823980) (uncredentialed check) plugin ID 11808.
  7. Specify the target on the Settings tab and click to Save the scan.
  8. Run the scan.

Here are a few examples of how to run the plugin in the command line. Note that the examples below demonstrate the usage on the Linux / Unix platform.

Basic usage:

/opt/nessus/bin/nasl msrpc_dcom.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

/opt/nessus/bin/nasl -a msrpc_dcom.nasl -t <IP/HOST>

Run the plugin with trace script execution written to the console (useful for debugging):

/opt/nessus/bin/nasl -T - msrpc_dcom.nasl -t <IP/HOST>

Run the plugin with using a state file for the target and updating it (useful for running multiple plugins on the target):

/opt/nessus/bin/nasl -K /tmp/state msrpc_dcom.nasl -t <IP/HOST>

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: MSKB | Microsoft Knowledge Base: MSFT | Microsoft Security Bulletin:
  • MS03-026
See also: Similar and related Nessus plugins:
  • 11790 - MS03-026 / MS03-039: Buffer Overrun In RPCSS Service Could Allow Code Execution (823980 / 824146)
  • 11212 - MS03-001: Unchecked buffer in Locate Service (810833)
  • 11413 - MS03-007: Unchecked Buffer in ntdll.dll (815021)
  • 11921 - MS03-049: Buffer Overflow in the Workstation Service (828749)
  • 11889 - Exchange XEXCH50 Remote Buffer Overflow
  • 11923 - Microsoft FrontPage Server Extensions (fp30reg.dll) Debug Function Remote Overflow (MS03-051 / 813360)
  • 11412 - Microsoft IIS WebDAV ntdll.dll Remote Overflow (MS03-007)
  • 11664 - Microsoft Media Services ISAPI nsiislog.dll Multiple Overflows
  • 156669 - Apache Log4Shell RCE detection via callback correlation (Direct Check MSRPC)

Version


This page has been produced using Nessus Professional 10.1.2 (#68) LINUX, Plugin set 202205072148.
Plugin file msrpc_dcom.nasl version 1.45. For more plugins, visit the Nessus Plugin Library.

Go back to menu.