> For the complete documentation index, see [llms.txt](https://burple.gitbook.io/burple/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://burple.gitbook.io/burple/thehackerslabs/facil/academy.md).

# Academy

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2FDSz56t2unDyhM2NG6ylK%2Fimage.png?alt=media&amp;token=a9cee7d1-53bc-4aab-8574-7f9d535f708e" alt=""><figcaption></figcaption></figure>

## Fase de reconocimiento

Primero hacemos un escaneo de nmap para revelar los puertos abiertos ante los que nos enfrentamos:

* 22 SSH
* 80 HTTP

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2FdEGVJ1byofQW2NfopSX2%2Fimage.png?alt=media&amp;token=28eaf8ba-d816-4edd-87ff-efdb34facd8f" alt=""><figcaption></figcaption></figure>

En el puerto 80 encontramos la página por defecto de apache, hago un poco de fuzzing con gobuster y encuentro un link el cual nos redirige a academy.thl, así que voy a añadir al /etc/hosts la ip de la maquina y academy.thl, esto lo que hará es hacer que si introduzco acdemy.thl, es como si estuviéramos entrando a la ip de la maquina:

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2Fg8h3eZR2cZOOV9H8R4Wn%2Fimage.png?alt=media&amp;token=e91de721-ec92-4a5b-b626-524f950daafc" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2FZq2z4uuhR0JmIIAPCJKI%2Fimage.png?alt=media&amp;token=7ac2361c-9b49-4412-b27e-1a54fe587814" alt=""><figcaption></figcaption></figure>

Ahora si que nos cargaría el link, pero dentro de el no encontramos más que un libro y una frase, quizás deberíamos hacer un wpscan para ver si hay algún plugin desactualizado del cual me podría aprovechar:

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2FeawgmkcScDbH1Smtg0jr%2Fimage.png?alt=media&amp;token=307f157e-f4da-497b-a0c3-af07289744d5" alt=""><figcaption></figcaption></figure>

Intento inspeccionar el interior del libro con técnicas de escenografía (stegcracker, exiftool y stegseek pero no encuentro nada), pero con un wpscan encontramos 2 plugins vulnerables los cuales no son realmente relevantes, le proporcionamo el rockyou para que consiga dar con la contraseña correcta y tarda poco en hacerlo:

```bash
wpscan --url academy.thl/wordpress --enumerate vp,u --plugins-detection aggressive --api-token IO7RNmY1qaUNbtkJirWfDCmkWZvacTELAapmzvgvaqI -P /usr/share/wordlists/rockyou.txt
```

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2F4DGUINxTsZHvG3lUxF1a%2Fimage.png?alt=media&amp;token=9b5f6cfe-8847-4bc2-b650-c48e14d7a606" alt=""><figcaption></figcaption></figure>

Inicio sesion con los credenciales obtenidos mediante academy.thl/wordpress/wp-admin

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2FM9wkYjGLyNCEPowl2Dis%2Fimage.png?alt=media&amp;token=6d533fd9-59e3-4da9-ac6d-c305abcc3835" alt=""><figcaption></figcaption></figure>

## Fase de intrusión

Hay un plugin que administra con una interfaz grafica los archivos del sistema, así que voy a subir una shell para poder ejecutar comandos y poder obtener RCE (Remote Code Execution) para la posterior escalada de privilegios (Muevo la shell a uploads):

&#x20;![](https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2Fx6N0DBGtxtun2tDd2whj%2Fimage.png?alt=media\&token=4c977941-154d-4b19-b398-ffceece8df4b)![](https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2F5G55xRCS6PWHROs5VVjN%2Fimage.png?alt=media\&token=b64b11f1-1d6a-4d26-bc8a-4b795fe30cfb)

Podemos ver que nuestra shell funciona de manera correcta:

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2FsMPuu2leYhVH6yERhCIf%2Fimage.png?alt=media&amp;token=5219e109-a955-4593-b774-1bbdba5b7637" alt=""><figcaption></figcaption></figure>

Ahora vamos a mandar la revershell ([Web revershells](http://revshells.com)) pero antes nos [url encodeamos la solicitud](https://www.urlencoder.org/), y la obtenemos con éxito:

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2FPLWEHDF56LRZkcF2MBMl%2Fimage.png?alt=media&amp;token=e352f6c7-c8b3-4cb0-962a-e21d1027c7b9" alt=""><figcaption></figcaption></figure>

## Escalada de privilegios

Y como no, siempre lo primero que hay que hacer es la [Depuración de tty](/burple/cheats/depuracion-de-tty.md). Navegando por el sistema me encuentro en /opt un script en python que nos proporciona unos credenciales, pero al parecer esto es un rabbithole porque los credenciales no funcionan

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2FMO4aNFVFb5BEnpxTE2Rx%2Fimage.png?alt=media&amp;token=706a496d-157f-4ff7-bd36-b895569cd4bf" alt=""><figcaption></figcaption></figure>

Importo pspy64 abriéndome un server desde mi maquina atancante (python3 -m http.server) y haciendo un wget desde la maquina victima, le doy permisos (chmod +x pspy64) y me percato de lo siguiente:

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2F3WwTIK4kYytuUW0jvAAh%2Fimage.png?alt=media&amp;token=dae84b92-913e-4599-80f6-de22df847baf" alt=""><figcaption></figcaption></figure>

Se ejecuta cronológicamente cada minuto backup.sh en /opt, así que mi idea aqui seria crear un archivo llamado backup.sh dentro de /opt para que lo ejecute y poder ganar root:

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2FGY6hCdVgTWH3dRetGMQI%2Fimage.png?alt=media&amp;token=b04e95b5-983a-4124-adb9-6b1c431dab70" alt=""><figcaption></figcaption></figure>

Lo que estamos haciendo con chmod 4777 es otorgar todos los permisos a el 4, y el 4 es el creador del archivo, asi que cuando se vuelva a ejecutar el script, podremos ser root sin necesidad de proporcionar contraseñas:

<figure><img src="https://2216970731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgI96Zsgdt6Oh2PlOLDwP%2Fuploads%2FefOfxLdvqneYLxurRkmF%2Fimage.png?alt=media&amp;token=4ee534fd-9527-4bd7-a9de-cb189edffab6" alt=""><figcaption></figcaption></figure>

Somos root!

## Conclusión

En esta máquina, logramos la intrusión y escalada de privilegios aprovechando varias debilidades:

* Nos hemos aprovechado de un Wordpress con contraseña debil, la cual hemos conseguido obtener mediante fuerza bruta usando **wpscan**, posteriormente dentro del Wordpress hemos podido obtener RCE de manera facil ya que el Wordpress llevaba un explorador de archivos
* Una vez dentro del sistema, con **pspy64** detectamos una tarea que se ejecuta cada minuto y creamos un archivo para poder conseguir ser root sin proporcionar contraseñas
