VMessage HackMyVM (Easy - Linux)

Escaneo de puertos

nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn <IP>
nmap -sCV -p<PORTS> <IP>

Info:

Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-07 11:48 EDT
Nmap scan report for 192.168.5.56
Host is up (0.0024s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
| ssh-hostkey: 
|   3072 62:8e:95:58:1e:ee:94:d1:56:0e:e5:51:f5:45:38:43 (RSA)
|   256 45:a8:7e:56:7f:df:b0:83:65:6c:88:68:19:a4:86:6c (ECDSA)
|_  256 bc:54:24:a6:0a:8b:6d:34:dc:a6:ab:80:98:ee:1f:f7 (ED25519)
80/tcp open  http    Apache httpd 2.4.54 ((Debian))
| http-title: Login
|_Requested resource was /login?next=%2F
|_http-server-header: Apache/2.4.54 (Debian)
MAC Address: 08:00:27:60:6B:7C (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
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 9.37 seconds

Veremos que hay un puerto 80 que aloja una pagina web, si entramos dentro de dicho puerto veremos una pagina web con un login, pero no tendremos ningunas credenciales, por lo que vamos a registrarnos, una vez echo esto, nos llevara a una home en la que podremos escribir mensajes como si fura un foro, el primer mensaje que veremos sera el siguiente:

Vemos algo bastante intersante, nos comenta que utilicemos el comando !mpstat para obtener el estado del servidor, por lo que vamos a ejecutarlo a ver que vemos.

Escalate user www-data

Veremos que ha funcionado, vamos a probar una vulnerabilidad muy simple que seria el echo de concatenar comandos con ; vamos a probarlo de esta forma.

Info:

Vemos que se esta ejecutando de forma correcta, por lo que vamos a probar a generar una reverse shell de esta forma.

Antes de ejecutarlo, vamos a ponernos a la escucha de esta forma:

Ahora estando a la escucha vamos a ejecutar lo anterior, si volvemos a donde tenemos la escucha veremos lo siguiente:

Veremos que ha funcioando, por lo que sanitizaremos la shell.

Sanitización de shell (TTY)

Escalate user messagemaster

Si hacemos sudo -l veremos lo siguiente:

Vemos que podemos ejecutar el binario pidstat como el usuario messagemaster, por lo que haremos lo siguiente:

Antes de ejecutarlo nos pondremos a la escucha en otra ventana de terminal de nuestro host.

Ahora si lo ejecutamos veremos lo siguiente:

Y si volvemos a donde tenemos la escucha veremos esto:

Veremos que ha funcionado, por lo que sanitizaremos la shell.

Sanitización de shell (TTY)

Por lo que vamos a leer la flag del usuario.

User.txt

Escalate Privileges

Si hacemos sudo -l veremos lo siguiente:

Vemos que podemos ejecutar el binario md5sum como el usuario root podemos aprovechar esta vulnerabilidad para calcular el hash MD5 de cualquier archivo del sistema como root por lo que vamos a investigar a ver cual nos puede interesar.

Si investigamos un poco veremos el siguiente archivo en esta ruta.

Info:

Veremos que hay un archivo llamado ROOTPASS por lo que vamos a calcular su md5 de esta forma.

Info:

Ahora desde nuestro host vamos a crackear dicho hash para poder obtener lo que se supone que es el password del usuario root.

crack_md5.py

Lo guardamos y lo ejecutamos de esta forma:

Info:

Veremos que ha funcionado y nos ha encontrado la supuesta contraseña de root, por lo que vamos a probarla de esta forma en la maquina victima.

Metemos como contraseña Message5687 y veremos que seremos root, por lo que leeremos la flag de root.

Root.txt

Last updated