Microsoft SQL Server Generic Query - Metasploit


This page contains detailed information about how to use the auxiliary/admin/mssql/mssql_sql metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.

Module Overview


Name: Microsoft SQL Server Generic Query
Module: auxiliary/admin/mssql/mssql_sql
Source code: modules/auxiliary/admin/mssql/mssql_sql.rb
Disclosure date: -
Last modification time: 2017-08-24 21:38:44 +0000
Supported architecture(s): -
Supported platform(s): -
Target service / protocol: ms-sql2000, ms-sql-s, sybase
Target network port(s): 1433, 1434, 1435, 2533, 2638, 9152, 14330
List of CVEs: -

This module will allow for simple SQL statements to be executed against a MSSQL/MSDE instance given the appropriate credentials.

Module Ranking and Traits


Module Ranking:

  • normal: The exploit is otherwise reliable, but depends on a specific version and can't (or doesn't) reliably autodetect. More information about ranking can be found here.

Basic Usage


msf > use auxiliary/admin/mssql/mssql_sql
msf auxiliary(mssql_sql) > show targets
    ... a list of targets ...
msf auxiliary(mssql_sql) > set TARGET target-id
msf auxiliary(mssql_sql) > show options
    ... show and set options ...
msf auxiliary(mssql_sql) > exploit

Required Options


  • RHOSTS: The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'

Knowledge Base


Description


This module allows you to perform SQL queries against a database using known-good credentials.

Verification Steps


  1. Do: use auxiliary/admin/mssql/mssql_sql
  2. Do: set PASSWORD [password1]
  3. Do: set RHOSTS [IP]
  4. Do: set [SQL Command]
  5. Do: run

Scenarios


msf > use auxiliary/admin/mssql/mssql_sql
msf auxiliary(mssql_sql) > set PASSWORD password1
PASSWORD => password1
msf auxiliary(mssql_sql) > set RHOST 192.168.1.195
RHOST => 192.168.1.195
msf auxiliary(mssql_sql) > set SQL use logins;select * from userpass
SQL => use logins;select * from userpass
msf auxiliary(mssql_sql) > run

[*] SQL Query: use logins;select * from userpass
[*] Row Count: 3 (Status: 16 Command: 193)



 userid  username  password
 ------  --------  --------
 1       bjohnson  password
 2       aadams    s3cr3t
 3       jsmith    htimsj

[*] Auxiliary module execution completed
msf auxiliary(mssql_sql) >

Go back to menu.

Msfconsole Usage


Here is how the admin/mssql/mssql_sql auxiliary module looks in the msfconsole:

msf6 > use auxiliary/admin/mssql/mssql_sql

msf6 auxiliary(admin/mssql/mssql_sql) > show info

       Name: Microsoft SQL Server Generic Query
     Module: auxiliary/admin/mssql/mssql_sql
    License: Metasploit Framework License (BSD)
       Rank: Normal

Provided by:
  tebo <[email protected]>

Check supported:
  No

Basic options:
  Name                 Current Setting   Required  Description
  ----                 ---------------   --------  -----------
  PASSWORD                               no        The password for the specified username
  RHOSTS                                 yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
  RPORT                1433              yes       The target port (TCP)
  SQL                  select @@version  no        The SQL query to execute
  TDSENCRYPTION        false             yes       Use TLS/SSL for TDS data "Force Encryption"
  USERNAME             sa                no        The username to authenticate as
  USE_WINDOWS_AUTHENT  false             yes       Use windows authentification (requires DOMAIN option set)

Description:
  This module will allow for simple SQL statements to be executed 
  against a MSSQL/MSDE instance given the appropriate credentials.

References:
  http://www.attackresearch.com
  http://msdn.microsoft.com/en-us/library/cc448435(PROT.10).aspx

Module Options


This is a complete list of options available in the admin/mssql/mssql_sql auxiliary module:

msf6 auxiliary(admin/mssql/mssql_sql) > show options

Module options (auxiliary/admin/mssql/mssql_sql):

   Name                 Current Setting   Required  Description
   ----                 ---------------   --------  -----------
   PASSWORD                               no        The password for the specified username
   RHOSTS                                 yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT                1433              yes       The target port (TCP)
   SQL                  select @@version  no        The SQL query to execute
   TDSENCRYPTION        false             yes       Use TLS/SSL for TDS data "Force Encryption"
   USERNAME             sa                no        The username to authenticate as
   USE_WINDOWS_AUTHENT  false             yes       Use windows authentification (requires DOMAIN option set)

Advanced Options


Here is a complete list of advanced options supported by the admin/mssql/mssql_sql auxiliary module:

msf6 auxiliary(admin/mssql/mssql_sql) > show advanced

Module advanced options (auxiliary/admin/mssql/mssql_sql):

   Name                    Current Setting                                                       Required  Description
   ----                    ---------------                                                       --------  -----------
   CHOST                                                                                         no        The local client address
   CPORT                                                                                         no        The local client port
   ConnectTimeout          10                                                                    yes       Maximum number of seconds to establish a TCP connection
   DOMAIN                  WORKSTATION                                                           yes       The domain to use for windows authentication
   HEX2BINARY              /opt/metasploit-framework/embedded/framework/data/exploits/mssql/h2b  no        The path to the hex2binary script on the disk
   NTLM::SendLM            true                                                                  yes       Always send the LANMAN response (except when NTLMv2_session is specified)
   NTLM::SendNTLM          true                                                                  yes       Activate the 'Negotiate NTLM key' flag, indicating the use of NTLM responses
   NTLM::SendSPN           true                                                                  yes       Send an avp of type SPN in the ntlmv2 client blob, this allows authentication on Windows 7+/Server 2008 R2+ when SPN is required
   NTLM::UseLMKey          false                                                                 yes       Activate the 'Negotiate Lan Manager Key' flag, using the LM key when the LM response is sent
   NTLM::UseNTLM2_session  true                                                                  yes       Activate the 'Negotiate NTLM2 key' flag, forcing the use of a NTLMv2_session
   NTLM::UseNTLMv2         true                                                                  yes       Use NTLMv2 instead of NTLM2_session when 'Negotiate NTLM2' key is true
   Proxies                                                                                       no        A proxy chain of format type:host:port[,type:host:port][...]
   SSL                     false                                                                 no        Negotiate SSL/TLS for outgoing connections
   SSLCipher                                                                                     no        String for SSL cipher - "DHE-RSA-AES256-SHA" or "ADH"
   SSLVerifyMode           PEER                                                                  no        SSL verification method (Accepted: CLIENT_ONCE, FAIL_IF_NO_PEER_CERT, NONE, PEER)
   SSLVersion              Auto                                                                  yes       Specify the version of SSL/TLS to be used (Auto, TLS and SSL23 are auto-negotiate) (Accepted: Auto, TLS, SSL23, SSL3, TLS1, TLS1.1, TLS1
                                                                                                           .2)
   VERBOSE                 false                                                                 no        Enable detailed status messages
   WORKSPACE                                                                                     no        Specify the workspace for this module

Auxiliary Actions


This is a list of all auxiliary actions that the admin/mssql/mssql_sql module can do:

msf6 auxiliary(admin/mssql/mssql_sql) > show actions

Auxiliary actions:

   Name  Description
   ----  -----------

Evasion Options


Here is the full list of possible evasion options supported by the admin/mssql/mssql_sql auxiliary module in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):

msf6 auxiliary(admin/mssql/mssql_sql) > show evasion

Module evasion options:

   Name                Current Setting  Required  Description
   ----                ---------------  --------  -----------
   TCP::max_send_size  0                no        Maxiumum tcp segment size.  (0 = disable)
   TCP::send_delay     0                no        Delays inserted before every send.  (0 = disable)

Go back to menu.


References


See Also


Check also the following modules related to this module:

Authors


  • tebo <tebo[at]attackresearch.com>

Version


This page has been produced using Metasploit Framework version 6.1.24-dev. For more modules, visit the Metasploit Module Library.

Go back to menu.