# Late

<figure><img src="https://257310033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEmv3fqphfy8VwLXcD7MH%2Fuploads%2FkV9FXOWUygJbzzjOiqYY%2Flate-banner.jpg?alt=media&#x26;token=c9dcb6a4-5793-47a9-9575-0f0f00f5bc74" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="227">Datos</th><th width="288.3333333333333"> </th><th>Notas</th></tr></thead><tbody><tr><td>Nombre de la máquina: </td><td><a href="https://app.hackthebox.com/machines/463">Late</a></td><td></td></tr><tr><td>IP de la máquina:</td><td>10.10.11.156</td><td></td></tr><tr><td>Sistema simulado: </td><td>Ubuntu</td><td></td></tr><tr><td>Servicio vulnerado: </td><td>Flask</td><td></td></tr></tbody></table>

### 1. Enumeración y descubrimiento

Comenzamos el ejercicio realizando un scan sobre la IP de la máquina para ver que servicios están corriendo en ella.

<figure><img src="https://257310033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEmv3fqphfy8VwLXcD7MH%2Fuploads%2FmnGsLcFOllUNs2FLQaYv%2F1.png?alt=media&#x26;token=1fc5e526-c9d2-48ab-aba8-af0eb63fa9fa" alt=""><figcaption></figcaption></figure>

Podemos ver la siguiente página sobre la cual empezaremos a trabajar

<figure><img src="https://257310033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEmv3fqphfy8VwLXcD7MH%2Fuploads%2F5Yli7lEmjQSC7TxywytS%2F2.png?alt=media&#x26;token=9ee9eab1-b3b6-48dc-bc36-9671d20773b7" alt=""><figcaption></figcaption></figure>

Visitando la web nos encontramos el servicio images.late.htb dentro de la página en el apartado de edición online de la misma. Pudiendo observar lo siguiente y analizando la posibilidad de aprovecharnos del espacio de [subida de archivos en Flask](https://medium.com/@nyomanpradipta120/ssti-in-flask-jinja2-20b068fdaeee) para ejecutar código.

<figure><img src="https://257310033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEmv3fqphfy8VwLXcD7MH%2Fuploads%2Fixz8cdtP045wAz0DHCMg%2F3.png?alt=media&#x26;token=978f9c01-f30b-47da-b04f-20941c6874a7" alt=""><figcaption></figcaption></figure>

Observamos que lo que hace la máquina es convertir las imagenes que volcamos a texto, por lo que vamos a intentar introducir un payload para explotar la vulnerabilidad de ssti que creemos que puede funcionar en la máquina.&#x20;

Hacemos una prueba mediante el Payload 7\*7 mediante una imagen y nos devolverá un fichero results en el que nos figurará un fichero en el cual aparece ejecutaca la operación, por lo que es vulnerable a STSI.

<figure><img src="https://257310033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEmv3fqphfy8VwLXcD7MH%2Fuploads%2FRnTQbXBYSiJSG44OJ2we%2F4.png?alt=media&#x26;token=22249b76-3403-40b3-9ad7-8e4a92a83d98" alt=""><figcaption></figcaption></figure>

### 2. Escalada al sistema

Vamos a ejecutar un payload para conseguir ver la clave rsa privada del usuario de la máquina. Para ello usaremos este repositorio para sacar el [payload](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection#jinja2---remote-code-execution) con el que ver la clave RSA privada.&#x20;

En este punto podremos ver el usuario de la máquina y la clave privada RSA.

<figure><img src="https://257310033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEmv3fqphfy8VwLXcD7MH%2Fuploads%2FmW9yIXLIbpk7MlAyFoqF%2F4.png?alt=media&#x26;token=a4e92865-30aa-4805-b5e3-e5e656f1b0e7" alt=""><figcaption></figcaption></figure>

```bash
ssh svc_acc@10.10.11.156 -i id_rsa.txt 
```

<figure><img src="https://257310033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEmv3fqphfy8VwLXcD7MH%2Fuploads%2FBtbJ0QW34KTOJjFy09Ur%2F5.png?alt=media&#x26;token=af21e211-4040-4013-aba6-56c836340948" alt=""><figcaption></figcaption></figure>

En este punto podremos ver la flag del usuario.

### 3. Escalada de privilegios

Llegados a este punto investigamos que formas de escalado tenemos y nos percatamos de que se ejecuta por root el script que se encuentra en la ruta `/usr/local/sbin/ssh-alert.sh` .

<figure><img src="https://257310033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEmv3fqphfy8VwLXcD7MH%2Fuploads%2FBISBrbzSgt53tdnri0By%2F6.png?alt=media&#x26;token=f7bca2f9-4822-4d1b-9945-d6ad4d30dab0" alt=""><figcaption></figcaption></figure>

Vemos los permisos del fichero y observamos que nuestro usuario es propietario por lo que podemos modificar le script.&#x20;

<figure><img src="https://257310033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEmv3fqphfy8VwLXcD7MH%2Fuploads%2FBfgjfLb9TkRDGvyiwv2C%2F7.png?alt=media&#x26;token=6e2acfd9-3eb0-43d2-914f-a440e8299cf5" alt=""><figcaption></figcaption></figure>

Pero al ir a modificarlo vemos que no tyenemos permiso por lo que tenemos que realizar un analisis más exahustivo, lo cual nos señala que no podemos sobrescribir el fichero.&#x20;

<figure><img src="https://257310033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEmv3fqphfy8VwLXcD7MH%2Fuploads%2FwgFuBW32jkomNjcdxep6%2F8.png?alt=media&#x26;token=a0b08547-0fc5-4547-8155-eea418101a48" alt=""><figcaption></figcaption></figure>

POr ello lo que hacemos es ejecutar un append en el cual hace que root ejecute el script asignando privileguios a la bash y obtengamos su uid temporalmente.

```bash
echo "chmod u+s /bin/bash" >> ssh-alert.sh 
```

En este punto saldremos y volveremos a entrar en la máquina y tras ello ejecutaremos bash -p y obtendremos acceso a la máquina como root.

<figure><img src="https://257310033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEmv3fqphfy8VwLXcD7MH%2Fuploads%2FnYx2boN8b32LLrlj1jkA%2F10.png?alt=media&#x26;token=9015c1b3-e90a-4acb-8bb4-aeb5c59439ad" alt=""><figcaption></figcaption></figure>

Tras ello tendremos acceso a la flag de root y completariamos el reto.&#x20;

{% hint style="info" %}
Si te he ayudado sígueme y apóyame en [Hack The Box ](https://app.hackthebox.com/profile/819073)
{% endhint %}
