Lucene search
K

Nmap NSE net: ms-sql-xp-cmdshell

🗓️ 01 Jun 2011 00:00:00Reported by NSE-Script: The Nmap Security Scanner; NASL-Wrapper: Greenbone Networks GmbHType 
openvas
 openvas
🔗 plugins.openvas.org👁 22 Views

Nmap NSE to run command on Microsoft SQL Server command shell with specified syntax, timeout, username, and password option

Code
###############################################################################
# OpenVAS Vulnerability Test
# $Id: gb_nmap_ms_sql_xp_cmdshell_net.nasl 5499 2017-03-06 13:06:09Z teissa $
#
# Autogenerated NSE wrapper
#
# Authors:
# NSE-Script: Patrik Karlsson
# NASL-Wrapper: autogenerated
#
# Copyright:
# NSE-Script: The Nmap Security Scanner (http://nmap.org)
# Copyright (C) 2011 Greenbone Networks GmbH, http://www.greenbone.net
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
# (or any later version), as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
###############################################################################

tag_summary = "Attempts to run a command using the command shell of Microsoft SQL Server (ms-sql).

The script needs an account with the sysadmin server role to work. It needs to be fed credentials
through the script arguments or from the scripts 'ms-sql-brute' or 'ms-sql-empty-
password'.

When run, the script iterates over the credentials and attempts to run the command until either all
credentials are exhausted or until the command is executed.


SYNTAX:

mssql-xp-cmdshell.cmd:  specifies the OS command to run.
(default is ipconfig /all)



mssql.timeout:  How long to wait for SQL responses. This is a number
followed by 'ms' for milliseconds, 's' for seconds,
'm' for minutes, or 'h' for hours. Default:
'30s'.


mssql.password:  specifies the password to use to connect to
the server. This option overrides any accounts found by
the 'ms-sql-brute' and 'ms-sql-empty-password' scripts.



mssql.username:  specifies the username to use to connect to
the server. This option overrides any accounts found by
the 'ms-sql-brute' and 'ms-sql-empty-password' scripts.";

if(description)
{
    script_id(104025);
    script_version("$Revision: 5499 $");
    script_tag(name:"last_modification", value:"$Date: 2017-03-06 14:06:09 +0100 (Mon, 06 Mar 2017) $");
    script_tag(name:"creation_date", value:"2011-06-01 16:32:46 +0200 (Wed, 01 Jun 2011)");
    script_tag(name:"cvss_base", value:"5.0");
    script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:N/C:P/I:N/A:N");
    script_name("Nmap NSE net: ms-sql-xp-cmdshell");


    script_category(ACT_INIT);
    script_tag(name:"qod_type", value:"remote_analysis");
    script_copyright("NSE-Script: The Nmap Security Scanner; NASL-Wrapper: Greenbone Networks GmbH");
    script_family("Nmap NSE net");
    script_dependencies("nmap_nse_net.nasl");
    script_mandatory_keys("Tools/Launch/nmap_nse_net");

    script_add_preference(name:"mssql-xp-cmdshell.cmd", value:"", type:"entry");
    script_add_preference(name:"mssql.timeout", value:"", type:"entry");
    script_add_preference(name:"mssql.password", value:"", type:"entry");
    script_add_preference(name:"mssql.username", value:"", type:"entry");

    script_tag(name : "summary" , value : tag_summary);
    exit(0);
}


include("nmap.inc");

# The corresponding NSE script does't belong to the 'safe' category
if (safe_checks()) exit(0);

phase = 0;
if (defined_func("scan_phase")) {
    phase = scan_phase();
}

if (phase == 1) {
    # Get the preferences
    argv = make_array();

    pref = script_get_preference("mssql-xp-cmdshell.cmd");
    if (!isnull(pref) && pref != "") {
        argv["mssql-xp-cmdshell.cmd"] = string('"', pref, '"');
    }
    pref = script_get_preference("mssql.timeout");
    if (!isnull(pref) && pref != "") {
        argv["mssql.timeout"] = string('"', pref, '"');
    }
    pref = script_get_preference("mssql.password");
    if (!isnull(pref) && pref != "") {
        argv["mssql.password"] = string('"', pref, '"');
    }
    pref = script_get_preference("mssql.username");
    if (!isnull(pref) && pref != "") {
        argv["mssql.username"] = string('"', pref, '"');
    }
    nmap_nse_register(script:"ms-sql-xp-cmdshell", args:argv);
} else if (phase == 2) {
    res = nmap_nse_get_results(script:"ms-sql-xp-cmdshell");
    foreach portspec (keys(res)) {
        output_banner = 'Result found by Nmap Security Scanner (ms-sql-xp-cmdshell.nse) http://nmap.org:\n\n';
        if (portspec == "0") {
            security_message(data:output_banner + res[portspec], port:0);
        } else {
            v = split(portspec, sep:"/", keep:0);
            proto = v[0];
            port = v[1];
            security_message(data:output_banner + res[portspec], port:port, protocol:proto);
        }
    }
}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

06 Mar 2017 00:00Current
0.5Low risk
Vulners AI Score0.5
22