CrackMapExec Mssql_priv (mssql)
This page contains detailed information about how to use the mssql_priv CME module while using the mssql protocol. For list of all CrackMapExec modules, visit the CrackMapExec Module Library.
Description
This module enumerates MSSQL privileges and attempts to exploit them. For instance, it can perform privilege escalation via impersonation privilege or dbowner privilege, create a sysadmin backdoor user or enumerate existing databases.
The mssql_priv module is OPSEC safe. This means that it doesn't touch the disk and therefore shouldn't trigger any alarms.
Supported Protocols
- mssql
Module Source Code
Authors
- Romain de Reydellet (@pentest_soka)
Module Options
Here is a complete list of mssql_priv module options:
# cme mssql -M mssql_priv --options
[*] mssql_priv module options:
ACTION Specifies the action to perform:
- enum_priv (default)
- privesc
- rollback (remove sysadmin privilege)
Note that none of these options is required. If you want to change any of the default values, you can do so by adding, e.g. -o ACTION=VALUE parameter to the command line.
Module Usage
This is how to use the mssql_priv module while using the mssql protocol:
Syntax:
# cme mssql <TARGET[s]> -u <USERNAME> -p <PASSWORD> -d <DOMAIN> -M mssql_priv
Admin user:
# cme mssql 10.0.5.1 -u sa -p P@ss123 -d . -M mssql_priv
# cme mssql 10.0.5.1 -u sa -p P@ss123 --local-auth -M mssql_priv
Normal user:
# cme mssql 10.0.5.1 -u dbuser -p P@ss123 -d target.corp -M mssql_priv
CrackMapExec also supports passing the hash, so you can specify NTLM hash instead of a password:
# cme mssql 10.0.5.1 -u sa -H 432b022dc22aa5afe884e986b8383ff2 -d . -M mssql_priv
# cme mssql 10.0.5.1 -u dbuser -H 432b022dc22aa5afe884e986b8383ff2 -d target.corp -M mssql_priv
The mssql_priv module can be also used against multiple hosts. Here's how to run it against multiple hosts:# cme mssql target_list.txt -u sa -p P@ss123 -d . -M mssql_priv
# cme mssql 10.0.5.0/24 -u sa -p P@ss123 -d . -M mssql_priv
# cme mssql 10.0.5.1-100 -u sa -p P@ss123 -d . -M mssql_priv
References
- https://docs.microsoft.com/en-us/previous-versions/dotnet/framework/data/adonet/sql/server-and-database-roles-in-sql-server
- https://blog.netwrix.com/2020/10/16/guide-to-sql-server-permissions/
Version
This page has been created based on CrackMapExec version 5.1.7dev.
Visit CrackMapExec Module Library for more modules.