La plataforma TryHackMe nos ofrece varios CTF (Capture The Flag). En este caso, utilizaremos PIckle Rick, una maquina básica que emula una aplicación web.
Para completarla debemos encontrar tres banderas.
Tenemos, en principio, una página web que nos anuncia que Rick Sanchez está en problema. Será nuestro trabajo tratar de ayudarlo.
Como siempre, nuestra primera medida será inspeccionar el codigo fuente.
En este caso logramos encontrar algo, un username.
Esto nos indica que, probablemente, haya una página escondida (es decir sin listar) que admita un login y una contraseña.
Veamos...
Podríamos utilizar nmap y luego gobuster. Sin embargo, dada las caracteristicas de esta app web, vamos a quedarnos con gobuster.
Colocamos estos parametro, sin embargo, es util adherirle parametros para que busque no solo directorios en html sino en varios formatos.
Si colocamos varios tipos de archivos en la muestra de gobuster, este nos permitirá encontrar algo más que directorios. En este caso tenemos un login, una carpeta de assets y un archivo de texto. (el portal.php, redirige a login.php)
Como presuponemos, login.php contiene una pantalla de login.
Recordemos que tenemos un usuario, que hemos encontrado en el codigo fuente de la página principal.
Sin embargo nos falta la contraseña.
¿Podría de estar en el archivo robots.txt?
Efectivamente, el archivo robots.txt nos ofrece algo que podría ser una contraseña.
podemos acceder a el mediante URLDELAPAGINA/robots.txt
La contraseña es correcta y, una vez dentro, nos encontramos dentro.
Tenemos una consola de comandos y varias pestañas. Las páginas de las pestañas se encuentran bloqueadas, asi que nuestra chance es empezar a interactuar con comandos.
Hay varios archivos que nos interesan.
El primero es "Sup3rS3cretPick3lingred.txt" asumimos que es la primera flag.
El segundo es "clue.txt"
Si usamos el comando cat, para leer el archivo, nos lo bloquea.
Tenemos igual, varias opciones:
-Verificar si está python instalado y, de estarlo, ejectuar una shell reversa e interactuar con la maquina directamente desde NetCat
-Utilizar otro comando como "less", "nano" o "vi" que nos permita visualizar el contenido.
-Intentar abrir el archivo mediante URL/nombredelarchivo.txt
(Tal como hicimos con robots.txt)
Por una cuestión de practicidad y rapidez, utilicé la tercera opción y ¡Funcionó! Tenemos la primera bandera.
Intentemos, ahora, realizar lo mismo con el archivo clue.txt
El archivo nos recomienda explorar el file system para los otros ingredientes.
La pregunta que debemos hacernos es ¿En que directorio estamos parados en la consola de comandos? Y ¿Tenemos los permisos para ejecutar comandos?
Con ls y la ubicación podemos listar carpetas. En este caso hemos encontrado la carpeta /home/rick que contiene varios elementos, entre ellos "second ingredientes"
Sin embargo el sistema nos bloquea el acceso (no devuelve nada) y eso indica que no tenemos autorización.
Sería el momento, entonces, de pensar en escalar privilegios.
Con el comando "sudo -l -l" podemos ver que usuarios pueden ser sudoers.
El comand "sudo" nos permite ejecutar como administrador. En este caso, como vemos, cualquier usuario puede usarlo.
Simplemente hay que colocar sudo delante del comando y listo.
La idea sería listar todo el sistema. En este caso nos basta con un sudo ls ../../../ *
Esto lista todo y ahi podemos empezar a buscar los dos ingredientes que nos faltan.
El archivo second ingredients pude ser abierto con el uso del comando "less" (recordemos que era una de las posibles soluciones frente a la imposibilidad de utilizar cat).
El tercer, y ultimo, ingrediente. Requiere que utilicemos el comando sudo y la ruta del archivo .txt
La máquina Pickle Rick de THM es una excelente manera de interiorizarse en el uso de gobuster, nikto, nmap y comandos básicos de linux. Puede ser resuelta en diversos modos de dificultad, incluso utilizando solamente la consola (como por ejemplo, como contamos, subiendo una shell reversa).
NOTA: Todas estas pruebas fueron realizado en la página TryHackMe, un sitio que ofrece entornos controlados para practicar pentesting..
Estos procedimientos no deben realizarse a equipos ajenos sin una previa autorización.