MS06-035: Vulnerability in Server Service Could Allow Remote Code Execution (917159) (uncredentialed check) - Nessus

High   Plugin ID: 22034

This page contains detailed information about the MS06-035: Vulnerability in Server Service Could Allow Remote Code Execution (917159) (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: 22034
Name: MS06-035: Vulnerability in Server Service Could Allow Remote Code Execution (917159) (uncredentialed check)
Filename: smb_kb917159.nasl
Vulnerability Published: 2006-07-12
This Plugin Published: 2006-07-12
Last Modification Time: 2018-11-15
Plugin Version: 1.28
Plugin Type: local
Plugin Family: Windows
Dependencies: smb_login.nasl, smb_nativelanman.nasl
Required KB Items [?]: Host/OS/smb

Vulnerability Information


Severity: High
Vulnerability Published: 2006-07-12
Patch Published: 2006-07-11
CVE [?]: CVE-2006-1314, CVE-2006-1315
CPE [?]: cpe:/o:microsoft:windows

Synopsis

Arbitrary code can be executed on the remote host due to a flaw in the 'Server' service.

Description

The remote host is vulnerable to heap overflow in the 'Server' service that may allow an attacker to execute arbitrary code on the remote host with 'SYSTEM' privileges.

In addition to this, the remote host is also affected by an information disclosure vulnerability in SMB that may allow an attacker to obtain portions of the memory of the remote host.

Solution

Microsoft has released a set of patches for Windows 2000, XP and 2003.

Public Exploits


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

Here's the list of publicly known exploits and PoCs for verifying the MS06-035: Vulnerability in Server Service Could Allow Remote Code Execution (917159) (uncredentialed check) vulnerability:

  1. GitHub: https://github.com/uroboros-security/SMB-CVE
    [CVE-2006-1314]
  2. GitHub: https://github.com/ycdxsb/WindowsPrivilegeEscalation
    [CVE-2006-1314]
  3. GitHub: https://github.com/uroboros-security/SMB-CVE
    [CVE-2006-1315]

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:P/I:P/A:P/E:F/RL:OF/RC:C
CVSS Base Score:7.5 (High)
Impact Subscore:6.4
Exploitability Subscore:10.0
CVSS Temporal Score:6.2 (Medium)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:6.2 (Medium)

Go back to menu.

Plugin Source


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

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

include("compat.inc");

if (description)
{
 script_id(22034);
 script_version("1.28");
 script_cvs_date("Date: 2018/11/15 20:50:28");

 script_cve_id("CVE-2006-1314", "CVE-2006-1315");
 script_bugtraq_id(18863, 18891);
 script_xref(name:"TRA", value:"TRA-2006-01");
 script_xref(name:"MSFT", value:"MS06-035");
 script_xref(name:"MSKB", value:"917159");

 script_name(english:"MS06-035: Vulnerability in Server Service Could Allow Remote Code Execution (917159) (uncredentialed check)");
 script_summary(english:"Determines the presence of update 917159");

 script_set_attribute(attribute:"synopsis", value:
"Arbitrary code can be executed on the remote host due to a flaw in the
'Server' service.");
 script_set_attribute(attribute:"description", value:
"The remote host is vulnerable to heap overflow in the 'Server' service
that may allow an attacker to execute arbitrary code on the remote
host with 'SYSTEM' privileges.

In addition to this, the remote host is also affected by an
information disclosure vulnerability in SMB that may allow an attacker
to obtain portions of the memory of the remote host.");
 script_set_attribute(attribute:"see_also", value:"https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2006/ms06-035");
 script_set_attribute(attribute:"see_also", value:"https://www.tenable.com/security/research/tra-2006-01");
 script_set_attribute(attribute:"solution", value:"Microsoft has released a set of patches for Windows 2000, XP and 2003.");
 script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
 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:"vuln_publication_date", value:"2006/07/12");
 script_set_attribute(attribute:"patch_publication_date", value:"2006/07/11");
 script_set_attribute(attribute:"plugin_publication_date", value:"2006/07/12");

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

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

 script_dependencies("smb_nativelanman.nasl","smb_login.nasl");
 script_require_keys("Host/OS/smb");
 script_require_ports(139, 445);
 exit(0);
}

#

include ("smb_func.inc");

function smb_get_error_code (data)
{
 local_var header, flags2, code;

 # Some checks in the header first
 header = get_smb_header (smbblob:data);
 if (!header)
   return NULL;

 flags2 = get_header_flags2 (header:header);
 if (flags2 & SMB_FLAGS2_32BIT_STATUS)
 {
   code = get_header_nt_error_code (header:header);
 }
 else
 {
   code = get_header_dos_error_code (header:header);
 }

 return code;
}


function smb_trans_and_x2 (extra_parameters, transname, param, data, max_pcount)
{
 local_var header, parameters, dat, packet, ret, pad, trans, p_offset, d_offset, plen, dlen, elen, pad2, socket;

 pad = pad2 = NULL;
 if (session_is_unicode () == 1)
   pad = raw_byte (b:0);
 else
   pad2 = raw_byte (b:0);

 header = smb_header (Command: SMB_COM_TRANSACTION,
                      Status: nt_status (Status: STATUS_SUCCESS));

 trans = cstring (string:transname);

 p_offset = 66 + strlen(trans) + strlen (extra_parameters);
 d_offset = p_offset + strlen (param);

 plen = strlen(param);
 dlen = strlen(data);
 elen = strlen(extra_parameters);

 parameters = raw_word (w:plen)            +   # total parameter count
	      raw_word (w:dlen) +   # total data count
	      raw_word (w:max_pcount)            +   # Max parameter count
	      raw_word (w:0xFFFF)         +   # Max data count
	      raw_byte (b:0)            +   # Max setup count
              raw_byte (b:0)            +   # Reserved
	      raw_word (w:0)            +   # Flags
	      raw_dword (d:0)           +   # Timeout
	      raw_word (w:0)            +   # Reserved
	      raw_word (w:plen)            +   # Parameter count
	      raw_word (w:p_offset)           +   # Parameter offset
	      raw_word (w:dlen) +   # Data count
	      raw_word (w:d_offset)           +   # Data offset
	      raw_byte (b:elen/2)            +   # Setup count
	      raw_byte (b:0);               # Reserved

 parameters += extra_parameters;

 parameters = smb_parameters (data:parameters);

 dat = pad +
       trans +
       pad2 +
       raw_word (w:0) +
       param +
       data;

 dat = smb_data (data:dat);

 packet = netbios_packet (header:header, parameters:parameters, data:dat);

 ret = smb_sendrecv (data:packet);
 if (!ret)
   return NULL;

 return smb_get_error_code (data:ret);
}


###########################
#        Main code        #
###########################

os = get_kb_item ("Host/OS/smb") ;
if ("Windows" >!< os) exit(0);

name = kb_smb_name ();
port = kb_smb_transport ();

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

session_init (socket:soc,hostname:name);
ret = NetUseAdd (share:"IPC$");
if (ret != 1)
{
 close (soc);
 exit (0);
}

data = raw_word (w:1) +
       raw_word (w:1) +
       raw_word (w:1) ;

code = smb_trans_and_x2 (extra_parameters:data, transname:string("\\MAILSLOT\\NESSUS", rand()) , param:NULL, data:NULL, max_pcount:0);
if (!isnull(code))
{
 if (code == STATUS_OBJECT_NAME_NOT_FOUND)
   security_hole(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/smb_kb917159.nasl
  • Windows:
    C:\ProgramData\Tenable\Nessus\nessus\plugins\smb_kb917159.nasl
  • Mac OS X:
    /Library/Nessus/run/lib/nessus/plugins/smb_kb917159.nasl

Go back to menu.

How to Run


Here is how to run the MS06-035: Vulnerability in Server Service Could Allow Remote Code Execution (917159) (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 MS06-035: Vulnerability in Server Service Could Allow Remote Code Execution (917159) (uncredentialed check) plugin ID 22034.
  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 smb_kb917159.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

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

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

/opt/nessus/bin/nasl -T - smb_kb917159.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 smb_kb917159.nasl -t <IP/HOST>

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: MSKB | Microsoft Knowledge Base: MSFT | Microsoft Security Bulletin:
  • MS06-035
TRA | Tenable Research Advisory: See also: Similar and related Nessus plugins:
  • 22029 - MS06-035: Vulnerability in Server Service Could Allow Remote Code Execution (917159)
  • 22536 - MS06-063: Vulnerability in Server Service Could Allow Denial of Service (923414)
  • 21696 - MS06-025: Vulnerability in Routing and Remote Access Could Allow Remote Code Execution (911280) (uncredentialed check)
  • 21334 - MS06-018: Vulnerability in Microsoft Distributed Transaction Coordinator Could Allow DoS (913580) (uncredentialed check)
  • 22194 - MS06-040: Vulnerability in Server Service Could Allow Remote Code Execution (921883) (uncredentialed check)
  • 22025 - MS06-037 / MS06-038: Vulnerabilities in Microsoft Excel and Office Could Allow Remote Code Execution (917284 / 917285) (Mac OS X)
  • 20382 - MS06-001: Vulnerabilities in Graphics Rendering Engine Could Allow Code Execution (912919)
  • 20906 - MS06-006: Vulnerability in Windows Media Player Plug-in Could Allow Remote Code Execution (911564)
  • 21210 - MS06-013: Cumulative Security Update for Internet Explorer (912812)
  • 21211 - MS06-014: Vulnerability in MDAC Could Allow Code Execution (911562)
  • 21331 - MS06-018: Vulnerability in MSDTC Could Allow Denial of Service (913580)
  • 21332 - MS06-019: Vulnerability in Microsoft Exchange Could Allow Remote Code Execution (916803)
  • 21688 - MS06-024: Vulnerability in Windows Media Player Could Allow Remote Code Execution (917734)
  • 21689 - MS06-025: Vulnerability in Routing and Remote Access Could Allow Remote Code Execution (911280)
  • 21690 - MS06-027: Vulnerabilities in Microsoft Word Could Allow Remote Code Execution (917336)
  • 21692 - MS06-030: Vulnerability in Server Message Block Could Allow Elevation of Privilege (914389)
  • 22032 - MS06-038: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (917284)
  • 22182 - MS06-040: Vulnerability in Server Service Could Allow Remote Code Execution (921883)
  • 22186 - MS06-044: Vulnerability in Microsoft Management Console Could Allow Remote Code Execution (917008)
  • 22449 - MS06-055: Vulnerability in Vector Markup Language Could Allow Remote Code Execution (925486)
  • 22530 - MS06-057: Vulnerability in Windows Explorer Could Allow Remote Execution (923191)
  • 22534 - MS06-061: Vulnerabilities in Microsoft XML Core Services Could Allow Remote Code Execution (924191)
  • 22537 - MS06-064: Vulnerability in TCP/IP IPv6 Could Allow Denial of Service (922819)
  • 23643 - MS06-066: Vulnerability in the Client Service for NetWare Could Allow Remote Code Execution (923980)
  • 23644 - MS06-067: Cumulative Security Update for Internet Explorer (922760)
  • 23646 - MS06-070: Vulnerability in Workstation Service Could Allow Remote Code Execution (924270)
  • 23647 - MS06-071: Vulnerabilities in Microsoft XML Core Services Could Allow Remote Code Execution (928088)
  • 23836 - MS06-073: Vulnerability in Visual Studio 2005 Could Allow Remote Code Execution (925674)
  • 23837 - MS06-074: Vulnerability in SNMP Could Allow Remote Code Execution (926247)

Version


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

Go back to menu.