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

# 🟩 FindYourStyle

## 🕵️ Reconocimiento

Realizamos un escaneo de puertos con `nmap`:

```bash
nmap -sC -sV -Pn $IPTARGET -oN nmap.txt
```

<figure><img src="/files/98VImqjIa3AljiGREaWe" alt=""><figcaption></figcaption></figure>

Solo encontramos el puerto 80 abierto, con Drupal versión 8. Comprobamos con el comando `whatweb`:

<figure><img src="/files/L5quPXDCvkd9zbPf7YYX" alt=""><figcaption></figcaption></figure>

Si accedemos a la página, nos encontramos con la versión exacta de Drupal (8.5.0):

<figure><img src="/files/mAsAzaeeynfro11bdWYG" alt=""><figcaption></figcaption></figure>

Encontramos un exploit para esta versión usando `searchsploit`. El exploit se llama `Drupalgeddon2`.

<figure><img src="/files/HNguZyvOYylO1LWfQixb" alt=""><figcaption></figcaption></figure>

## 🚪 Ganando acceso

Usamos metasploit para ejecutar el exploit. Configuramos únicamente la variable RHOSTS a la IP de la máquina y ejecutamos:

<figure><img src="/files/yzFV1Oo2cEVJkDpOLusu" alt=""><figcaption></figcaption></figure>

Con el comando `shell`, obtenemos acceso a una terminal con el usuario `www-data`:

<figure><img src="/files/Ne6qdiBjnn859OBG3gIU" alt=""><figcaption></figcaption></figure>

## 💥 Escalada de privilegios

Buscamos el fichero `settings.php` de Drupal y vemos su contenido:

```bash
find / -name settings.php 2>/dev/null
```

<figure><img src="/files/3vKZPSjRqNA70Pax6PoD" alt=""><figcaption></figcaption></figure>

Encontramos un usuario y su contraseña. Este usuario coincide con un usuario válido del sistema (leyendo el fichero `/etc/passwd`), así que probamos a acceder con estas credenciales:

<figure><img src="/files/Et3ibzUVCv48I10SPMMU" alt=""><figcaption></figcaption></figure>

Una vez como el usuario ballenita, vemos los permisos que tenemos como sudoer con `sudo -l`:

<figure><img src="/files/k3ycxobuzhiF4zgNY8SE" alt=""><figcaption></figcaption></figure>

Podemos listar y leer cualquier fichero con `ls` y `grep`. Listamos el directorio `/root` y encontramos un fichero. Lo leemos con `grep`:

<figure><img src="/files/3ewHdmqeN9qvRkJzpuJK" alt=""><figcaption></figcaption></figure>

Probamos esta posible contraseña con el usuario `root` y obtenemos acceso al usuario con máximos privilegios:

<figure><img src="/files/vcvZKNLGc4KhRGS5oK6z" alt=""><figcaption></figcaption></figure>
