Method 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.94SVN ( https://nmap.org ) at 2025-04-18 11:00 EDT
Nmap scan report for 192.168.1.236
Host is up (0.00038s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.4p1 Debian 5 (protocol 2.0)
| ssh-hostkey: 
|   3072 4b:24:34:1f:41:10:88:b7:5a:6a:63:d9:f6:75:26:6f (RSA)
|   256 52:46:e7:20:68:c1:6f:90:2f:a6:ad:ee:6d:87:e7:28 (ECDSA)
|_  256 3f:ce:97:a9:1e:f4:60:f4:0e:71:e7:46:58:28:71:f0 (ED25519)
80/tcp open  http    nginx 1.18.0
|_http-server-header: nginx/1.18.0
|_http-title: Test Page for the Nginx HTTP Server on Fedora
MAC Address: 08:00:27:A6:FC:96 (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 6.57 seconds

Veremos que hay una pagina web en el puerto 80, si entramos veremos una pagina web normal, por lo que vamos a realizar un poco de fuzzing.

Gobuster

Info:

Veremos varias cosas interesantes entre ellas index.htm si entramos veremos una pagina normal, pero si inspeccionamos el codigo veremos esto:

Veremos que el secret.php puede hacer algo pero veremos algo interesante en el name= que pone HackMyVM por lo que vamos a probar lo siguiente:

Info:

Veremos que no ha funcionado, pero por que no es el metodo adecuado, estamos utilizando el metodo GET por lo que vamos a probar a utilizar el metodo POST capturando la peticion con BurpSuite.

Una vez que tengamos abierto BurpSuite capturaremos la peticion recargando la pagina enviando el whoami, por lo que veremos lo siguiente:

Ahora vamos a darle click derecho -> changue request method y con esto nos quedara asi:

Ahora vamos a probar a enviarlo y veremos lo siguiente:

Por lo que vemos ha funcionado, ahora vamos a crearnos una reverse shell de la siguiente forma:

Antes de enviarlo nos pondremos a la escucha con nc.

Ahora cuando lo enviemos por BurpSuite si volvemos a la escucha veremos lo siguiente:

Veremos que ha funcionado, por lo que vamos a sanitizar la shell.

Sanitización de shell (TTY)

Vamos a leer la flag del usuario:

user.txt

Escalate user prakasaka

Si leemos el archivo secret.php veremos lo siguiente:

Info:

Veremos lo que parece las credenciales del usuario prakasaka, vamos a probarlo haciendo lo siguiente:

Metemos como contraseña th3-!llum!n@t0r y veremos que somos dicho usuario.

Escalate Privileges

Si hacemos sudo -l veremos lo siguiente:

Veremos que podemos ejecutar el binario ip como el usuario root, por lo que haremos lo siguiente:

Info:

Con esto veremos que ya seremos root, por lo que leeremos la flag de root:

root.txt

Last updated