Wonderland es una maquina de TryHackMe, presenta un reto de Esteganografia que nos dio un tipo de pista. Tras enumerar la pagina web encontramos credenciales para acceder por SSH. Cambiamos a un segundo usuario modificando un script para realizar Python Library Hijacking. Modificando la variable PATH conseguimos una shell al siguiente usuario. Finalmente con las Capabilities de Perl obtuvimos acceso como root.
Room
Titulo | Wonderland |
---|---|
Descripción | Fall down the rabbit hole and enter wonderland. |
Puntos | 80 |
Dificultad | Media |
Maker |
NMAP
Escaneo de puertos tcp, nmap nos muestra el puerto http (80) y el puerto ssh (22) abiertos.
|
|
HTTP
Encontramos una pagina web en el puerto 80.
Encontramos una imagen en la pagina, la descargamos, analizamos y encontramos un archivo dentro de la imagen el cual nos da una pista.
|
|
GOBUSTER
Utilizamos gobuster para busqueda de directorios y archivos.
|
|
STEGANOGRAFIA
En /img
encontramos dos imagenes nuevas, utilizamos steghide y binwalk pero no encontramos nada interesante dentro de estas imagenes.
En /r
solo encontramos una frase, ejecutamos gobuster nuevamente en este directorio.
Encontramos /r/a
y nuevamente una frase.
Encontramos nuevamente una frase en /r/a/b/
al pasarle gobuster /r/a/
.
Al pasarle nuevamente a /r/a/b/
encontramos /r/a/b/b/
lo cual indica que la palabra que forma estos directorios es rabbit
el cual es la pista que encontramos en la imagen. Al visitar /r/a/b/b/i/t/
vemos una nueva pagina con una imagen nueva.
Además vemos lo que parecen ser unas credenciales escondidas.
ALICE - USER
Utilizamos estas credenciales en el servicio ssh y logramos obtener una shell con la usuario Alice.
Realizamos una enumeracion con sudo -l -l
y vemos que podemos ejecutar python3 con el script walrus_and_the_carpenter.py
con el usuario rabbit
.
|
|
Encontramos tambien a perl
con “capabilites” pero al intentar utilizar este nos mostró que no tenemos permisos.
RABBIT - USER
El script importa la libreria random
, por lo cual se podria realizar Python Library Hijacking. Intentamos crear el archivo import.py
con una shell inversa dentro, ejecutamos sudo -u rabbit /usr/bin/python3.6 /home/alice/walrus_and_the_carpenter.py
pero la shell moría al conectarse. Ya que tenemos una shell ssh, ejecutamos /bin/bash
el cual nos devolveria una shell con el usuario rabbit.
|
|
Realizamos una enumeracion con este archivo y encontramos teaParty
el cual copiamos a nuestra maquina para analizarlo.
Al ejecutar strings
vemos que posiblemente se realiza una ejecucion de echo
y date
, pero hay que tomar encuenta que echo
lleva el PATH/direccion del mismo y date
no.
El codigo fuente generado por Ghidra
nos indica que si realiza la ejecucion de echo
y date
.
|
|
Primero, intentamos utilizar nuevamente perl
pero, no tenemos permiso.
HATTER - USER
Realizamos "Hijacking PATH"
, el objetivo es date
ya que toma el $PATH/date
actual del usuario que lo ejecuta. Para ello modificamos la variable $PATH
agregando al principio una direccion a conveniencia, en este caso el directorio principal de rabbit
en el que seguidamente creamos el archivo date
el cual ejecutará /bin/bash
y para finalizar hacemos ejecutable tal archivo.
|
|
Ejecutamos el binario teaParty
el cual nos devuelve una shell con el usuario Hatter
.
PRIVILEGE ESCALATION
Intentamos ejecutar perl
ya que tiene “capabilites” cap_setuid+ep
que al intentarlo con alice y rabbit no fue posible tomar ventaja. Logramos obtener una shell con usuario root y obtener nuestras flags user.txt
y root.txt
.
|
|
Info