Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzipcachopo.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_deploy.shcachopo.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 el puerto 80 veremos una pagina normal por fuera, si probamos a interceptar la peticion con BurpSuite enviando esto de la pagina:
Y en BurpSuite veremos lo siguiente:
Vamos a probar si el userInput es vulnerable por alguna injeccion de comandos.
Pero antes lo mandaremos al Repeater y ahi lo testearemos.
Vemos que con un ls nos da un error bastante interesante el cual parece ser que no admite ese comando asi a pelo, pero tampoco nos da otro error de peticion en el sentido de que no signifique nada para el servidor, por lo que probaremos a codificarlo en Base64 para ver si se lo traga.
Vemos que si nos esta haciendo un ls pero codificado en Base64 por lo que haremos lo siguiente:
Primero vemos que usuarios somos:
Vemos que somos el usuario cachopin.
Si listamos los archivos que ha creado dicho usuario, veremos que en la home del usuario hay varios archivos interesantes:
Los 2 archivos interesantes son:
Vamos a leer estos dos archivos:
hash.lst
client_list.txt
Parece que es una lista de usuarios del sistema.
Hydra
Si esta lista anterior la utilizamos como diccionario de contraseñas con el usuario cachopin y le tiramos un hydra veremos lo siguiente:
Info:
Vemos que nos descubrio las credenciales del usuario cachopin, por lo que nos conectaremos por SSH.
SSH
Metemos como contraseña simple y veremos que estamos dentro.
Escalate Privileges
Si vemos el archivo entrypoint.sh:
Vemos que es bastante raro y en el cual posiblemente podremos escalar privilegios por ahi, pero vamos a intentar crackear lo siguiente.
Anteriormente encontramos un listado de hashes los cuales vemos que esta en SHA1 por lo que vamos a intentar decodificarlo con un script de un repositorio de GitHub.
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-01-11 11:06:45
[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, 97 login tries (l:1/p:97), ~2 tries per task
[DATA] attacking ssh://172.17.0.2:22/
[22][ssh] host: 172.17.0.2 login: cachopin password: simple
1 of 1 target successfully completed, 1 valid password found
[WARNING] Writing restore file because 19 final worker threads did not complete until end.
[ERROR] 19 targets did not resolve or could not be connected
[ERROR] 0 target did not complete
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-01-11 11:06:46
ssh cachopin@<IP>
#!/bin/bash
# Inicia el servicio SSH como root
service ssh start
# Cambia al usuario cachopin para ejecutar la aplicación Flask
exec su - cachopin -c "/home/cachopin/venv/bin/python /home/cachopin/app/app.py"