Microsoft’s proprietary Relational Database Management System (RDBMS).
It has strong native support for .NET.
Some versions can run on MacOS or Windows, but most run exclusively on Windows.
Client applications
The database can be managed remotely by the client applications:
- SQL Server Management Studio (SSMS)
mssql-cliSQL Server PowerShellHeidiSQLSQLPro- Impacket’s
mssqlclient.py.
Default system databases
master: tracks all system information for an SQL server instancemodel: template database that acts as a structure for every new database created. Any setting changed in the model database will be reflected in any new database created after changes to the model databasemsdb: the SQL Server Agent uses this database to schedule jobs & alertstempdb: stores temporary objectsresource: read-only database containing system objects included with SQL server
Security
Dangerous settings include:
- MSSQL clients not using encryption to connect to the MSSQL server
- The use of self-signed certificates when encryption is being used. It is possible to spoof self-signed certificates
- The use of named pipes
- Weak & default
sacredentials. Admins may forget to disable this account