> For the complete documentation index, see [llms.txt](https://docs.pabloarrabal.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pabloarrabal.com/reconocimiento/protocolos-servicios/mssql.md).

# MsSQL

## Enumeración de la versión

Para los sistemas windows, podemos conocer la versión mediante otro método adicional al escaneo con nmap. En este caso hacemos uso de un script:

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

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2FNQ5nKwY77TZveQYIoj2S%2Fimage.png?alt=media&amp;token=aa2ed9bb-e7c9-404c-a69b-714b10937bea" alt=""><figcaption></figcaption></figure>

### Enumeración intensa

Podemos tratar de enumerar mayor información:

```bash
nmap -p 1433 --script ms-sql-ntlm-info --script-args mssql.instance-port=1433 192.168.1.1
```

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2FcV9G47YxaD8c38OXFd3E%2Fimage.png?alt=media&amp;token=121fb471-58a9-416f-8296-71370766f1da" alt=""><figcaption></figcaption></figure>

## Login Anónimo

Con el siguiente script de Nmap podemos ver si se puede acceder sin necesidad de contraseña:

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

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2FQ2DEnK92PxkS1lT3TA9C%2Fimage.png?alt=media&amp;token=92390814-084d-4294-954a-5c282637c40e" alt=""><figcaption></figcaption></figure>

## Enumeración de los usuarios

Podemos hacer una enumeración de los usuarios con el siguiente modulo de metasploit:

```perl
msfconsole

use auxiliary/admin/mssql/mssql_enum_sql_logins

set RHOSTS 10.0.20.101

exploit
```

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2FdgPMqELjctaSrCimajXY%2Fimage.png?alt=media&amp;token=c5ff00c6-094d-4142-a65c-b22d9a19d64e" alt=""><figcaption></figcaption></figure>

## Enumeración de grupos, cuentas de domino...

Para ello, usaremos el siguiente modulo de metasploit:

<pre class="language-perl"><code class="lang-perl">msfconsole

use auxiliary/admin/mssql/mssql_enum_domain_accounts
<strong>
</strong><strong>set RHOSTS 10.0.20.101
</strong><strong>
</strong><strong>exploit
</strong></code></pre>

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2F3OcumCbE9rZMCXGcQfVA%2Fimage.png?alt=media&amp;token=a736569f-bae7-48a7-9e9f-aaf45e028dd3" alt=""><figcaption></figcaption></figure>

## Enumeración de los sysusers

Para ello, haremos uso de un script de NMAP. Para poder ejecutarlo es necesario tener acceso mediante credenciales al servicio (el login anonimo tambien es valido):

```bash
nmap -p 1433 --script ms-sql-query --script-args mssql.username=admin,mssql.password=anamaria,ms-sql-query.query="SELECT * FROM master..syslogins" 192.168.1.1 -oN output.txt

cat output.txt
```

## Enumeración de los hashes de usuarios

Para ello empleamos un script de NMAP. Para su uso es necesario tener credenciales validas:

```bash
nmap -p 1433 --script ms-sql-dump-hashes --script-args mssql.username=usuario,mssql.password=contraseña 192.168.1.1
```

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2F2q9EyciqPGcY6bYVysWF%2Fimage.png?alt=media&amp;token=b24dd3bd-f2be-4013-85e6-d62bc12d3c01" alt=""><figcaption></figcaption></figure>
