Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzipapiroot.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_deploy.shapiroot.tar
Info:
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
___ ____ ____ _ _ ____ ____ _ ____ ___ ____
| \ | | | |_/ |___ |__/ | |__| |__] [__
|__/ |__| |___ | \_ |___ | \ |___ | | |__] ___]
Estamos desplegando la máquina vulnerable, espere un momento.
Máquina desplegada, su dirección IP es --> 172.17.0.2
Presiona Ctrl+C cuando termines con la máquina para eliminarla
Por lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Escaneo de puertos
Info:
Si entramos en la pagina por el puerto 5000 veremos una pagina en la que nos pone en un formato de terminal que hay una carpeta llamada /api, pero si entramos de forma manual no veremos nada, por lo que vamos a realizar un poco de fuzzing.
Gobuster
Info:
Vemos que hay un directorio llamado /api/users por lo que vamos a ver que contiene:
Vemos que esta utilizando una API como ya nos temiamos al principio de la pagina, por lo que vamos a intentar encontrar alguna vulnerabilidad respecto a las API's.
Por lo que podemos deducir como es una carpeta llamada users se puede saber que cada usuario tendria que tener asociado un ID en este caso en formato de numeros, por ejemplo si ponemos lo siguiente:
Nos sigue poniendo No autorizado, pero no nos esta dando un 404 Not Found por lo que esta funcionando, pero no conseguiremos mucho mas, por lo que vamos a realizar un poco de bruta respecto a las API's con el siguiente script.
Con este script vamos a realizar fuerza bruta con la direccion de la API junto con un diccionario de palabras para probarlas en la URL utilizando curl, pero si probamos algunas de las opciones que viene en el script no vamos a encontrar suerte, menos en una opcion que sera la siguiente:
Info:
Vemos que hemos encontrado una coincidencia con el metodo de Bearer Token por lo que si ahora nosotros accedemos en esa URL que hemos encontrado que funciona, veremos lo siguiente:
Info:
Por lo que vemos obtenemos 2 nombres de usuarios, que con esto ya podremos realizar fuerza bruta con dichos nombres de usuarios para ver si coincidieran algunas credenciales para SSH.
Escalate user bob
users.txt
Hydra
Info:
SSH
Metemos como contraseña password1 y veremos que estamos dentro.
Escalate user balulero
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar el binario python3 como el usuario balulero, por lo que haremos lo siguiente:
Info:
Con esto ya seremos dicho usuario.
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Veremos que podemos ejecutar el binario curl como el usuario root, por lo que haremos lo siguiente:
Vamos a crear un archivo llamado passwd para clonar el passwd de la maquina victima y sobreescribirlo en la maquina victima desde nuestra maquina host, copiamos el contenido del passwd de la maquina victima y generamos el archivo en la maquina host pero quitandole la x al usuario root para dejarle sin contraseña y poder escalar directamente.
Ahora abriremos un servidor de python3 para sobreescribirlo desde la maquina victima.
Ahora en la maquina victima realizamos lo siguiente:
Info:
Una vez echo esto, haremos lo siguiente:
Info:
Y con esto ya seremos root, por lo que habremos terminado la maquina.
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-02-16 10:25:13
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 64 tasks per 1 server, overall 64 tasks, 28688798 login tries (l:2/p:14344399), ~448263 tries per task
[DATA] attacking ssh://172.17.0.2:22/
[22][ssh] host: 172.17.0.2 login: bob password: password1
^CThe session file ./hydra.restore was written. Type "hydra -R" to resume session.
ssh bob@<IP>
Matching Defaults entries for bob on b4b6bf85edb6:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty
User bob may run the following commands on b4b6bf85edb6:
(balulero) NOPASSWD: /usr/bin/python3
Matching Defaults entries for balulero on b4b6bf85edb6:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty
User balulero may run the following commands on b4b6bf85edb6:
(ALL) NOPASSWD: /usr/bin/curl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1187 100 1187 0 0 136k 0 --:--:-- --:--:-- --:--:-- 144k