Microsoft Media Services ISAPI nsiislog.dll Multiple Overflows - Nessus

Critical   Plugin ID: 11664

This page contains detailed information about the Microsoft Media Services ISAPI nsiislog.dll Multiple Overflows Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 11664
Name: Microsoft Media Services ISAPI nsiislog.dll Multiple Overflows
Filename: nsiislog_dll.nasl
Vulnerability Published: 2003-05-28
This Plugin Published: 2003-05-28
Last Modification Time: 2018-11-15
Plugin Version: 1.39
Plugin Type: remote
Plugin Family: Web Servers
Dependencies: find_service1.nasl, http_version.nasl, www_fingerprinting_hmap.nasl

Vulnerability Information


Severity: Critical
Vulnerability Published: 2003-05-28
Patch Published: N/A
CVE [?]: CVE-2003-0227, CVE-2003-0349
CPE [?]: N/A
Exploited by Malware: True

Synopsis

Arbitrary code can be executed on the remote host.

Description

Some versions of IIS shipped with a default file, nsiislog.dll, within the /scripts directory. Nessus has determined that the remote host has the file installed.

The NSIISLOG.dll CGI may allow an attacker to execute arbitrary commands on this host, through a buffer overflow.

Solution

Microsoft has released a patch for Windows 2000.

Public Exploits


Target Network Port(s): 80
Target Asset(s): Services/www
Exploit Available: True (Metasploit Framework, Exploit-DB, Immunity Canvas)
Exploit Ease: Exploits are available

Here's the list of publicly known exploits and PoCs for verifying the Microsoft Media Services ISAPI nsiislog.dll Multiple Overflows vulnerability:

  1. Metasploit: exploit/windows/isapi/ms03_022_nsiislog_post
    [MS03-022 Microsoft IIS ISAPI nsiislog.dll ISAPI POST Overflow]
  2. Exploit-DB: exploits/windows/remote/16355.rb
    [EDB-16355: Microsoft IIS - ISAPI 'nsiislog.dll' ISAPI POST Overflow (MS03-022) (Metasploit)]
  3. 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:H/RL:OF/RC:C
CVSS Base Score:10.0 (High)
Impact Subscore:10.0
Exploitability Subscore:10.0
CVSS Temporal Score:8.7 (High)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:8.7 (High)

Go back to menu.

Plugin Source


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

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

# Supercedes MS03-019

include("compat.inc");

if (description)
{
 script_id(11664);
 script_version("1.39");
 script_cvs_date("Date: 2018/11/15 20:50:25");

 script_cve_id("CVE-2003-0227", "CVE-2003-0349");
 script_bugtraq_id(7727, 8035);
 script_xref(name:"MSFT", value:"MS03-022");
 script_xref(name:"MSKB", value:"822343");

 script_name(english:"Microsoft Media Services ISAPI nsiislog.dll Multiple Overflows");
 script_summary(english:"Determines the presence of nsiislog.dll");

 script_set_attribute(attribute:"synopsis", value:
"Arbitrary code can be executed on the remote host.");
 script_set_attribute(attribute:"description", value:
"Some versions of IIS shipped with a default file, nsiislog.dll,
within the /scripts directory.  Nessus has determined that the
remote host has the file installed.

The NSIISLOG.dll CGI may allow an attacker to execute
arbitrary commands on this host, through a buffer overflow.");
 script_set_attribute(attribute:"see_also", value:"https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2003/ms03-022");
 script_set_attribute(attribute:"solution", value:"Microsoft has released a patch for Windows 2000.");
  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:H/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:"exploited_by_malware", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'MS03-022 Microsoft IIS ISAPI nsiislog.dll ISAPI POST 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/05/28");
 script_set_attribute(attribute:"plugin_publication_date", value:"2003/05/28");

 script_set_attribute(attribute:"plugin_type", value:"remote");
 script_end_attributes();

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

 script_dependencie("find_service1.nasl", "http_version.nasl", "www_fingerprinting_hmap.nasl");
 script_require_ports("Services/www", 80);
 exit(0);
}

#
# The script code starts here
#

include("global_settings.inc");
include("misc_func.inc");
include("http.inc");

port = get_http_port(default:80);

b = get_http_banner(port: port, exit_on_fail: 1);
if ("IIS" >!< b ) exit(0);

w  = http_send_recv3(method:"GET", item:"/scripts/nsiislog.dll", port:port, exit_on_fail: 1);
res = strcat(w[0], w[1], '\r\n', w[2]);
if("NetShow ISAPI Log Dll" >< res)
{
  all = make_list("date", "time", "c-dns", "cs-uri-stem", "c-starttime",
  		  "x-duration", "c-rate", "c-status", "c-playerid",
		  "c-playerversion", "c-player-language", "cs(User-Agent)",
		  "cs(Referer)", "c-hostexe");

  poison = NULL;

  foreach litem (all)
  {
   poison += litem + "=Nessus&";
  }

  poison += "c-ip=" + crap(65535);

  w = http_send_recv3(method:"POST", port: port,
    item: "/scripts/nsiislog.dll",
    content_type: "application/x-www-form-urlencoded",
    add_headers: make_array("User-Agent", "NSPlayer/2.0"),
    exit_on_fail: 1, data: poison);
  r = strcat(w[0], w[1], '\r\n', w[2]);

 # 2nd match fails on localized Windows
 if("HTTP/1.1 500 Server Error" >< r && "The remote procedure call failed. " >< r ) security_hole(port);
}

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

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

Go back to menu.

How to Run


Here is how to run the Microsoft Media Services ISAPI nsiislog.dll Multiple Overflows 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 Web Servers plugin family.
  6. On the right side table select Microsoft Media Services ISAPI nsiislog.dll Multiple Overflows plugin ID 11664.
  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 nsiislog_dll.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

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

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

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

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: MSKB | Microsoft Knowledge Base: MSFT | Microsoft Security Bulletin:
  • MS03-022
See also: Similar and related Nessus plugins:
  • 64589 - Microsoft ASP.NET MS-DOS Device Name DoS (PCI-DSS check)
  • 64588 - Microsoft ASP.NET MS-DOS Device Name DoS
  • 153474 - Microsoft Open Management Infrastructure < 1.6.8.1 Multiple Vulnerabilities
  • 11923 - Microsoft FrontPage Server Extensions (fp30reg.dll) Debug Function Remote Overflow (MS03-051 / 813360)
  • 10497 - Microsoft FrontPage Extensions MS-DOS Device Request DoS
  • 10405 - Microsoft IIS FrontPage Server Extensions (FPSE) shtml.exe Path Disclosure
  • 99523 - Microsoft Windows Server 2003 IIS 6.0 WebDAV PROPFIND Request Handling RCE (EXPLODINGCAN)
  • 99281 - Microsoft Windows Server 2003 R2 IIS 6.0 WebDAV PROPFIND Request Handling RCE (EXPLODINGCAN)
  • 108808 - Microsoft IIS 7.0 Vulnerabilities (uncredentialed) (PCI/DSS)
  • 10116 - Microsoft IIS ISM.DLL HTR Request Remote Overflow
  • 10932 - Microsoft IIS .HTR ISAPI Filter Enabled
  • 11028 - Microsoft IIS .HTR Filter Multiple Overflows (MS02-028)
  • 31648 - Microsoft IIS webhits.dll Hit-Highlighting Authentication Bypass
  • 10685 - Microsoft IIS ISAPI Filter Multiple Vulnerabilities (MS01-044)
  • 11412 - Microsoft IIS WebDAV ntdll.dll Remote Overflow (MS03-007)
  • 10357 - Microsoft IIS MDAC RDS (msadcs.dll) Arbitrary Remote Command Execution
  • 11161 - Microsoft Data Access Components RDS Data Stub Remote Overflow
  • 153486 - Microsoft Open Management Infrastructure RCE (CVE-2021-38647)
  • 38808 - Microsoft IIS WebDAV Unicode Request Directory Security Bypass

Version


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

Go back to menu.