Quick 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-16 03:20 EDT
Nmap scan report for 192.168.5.59
Host is up (0.00041s latency).

PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-title: Quick Automative
|_http-server-header: Apache/2.4.41 (Ubuntu)
MAC Address: 08:00:27:41:D3:56 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.04 seconds

Veremos que hay un puerto 80 que aloja una pagina, si entramos dentro veremos una especie de pagina web sobre coches, pero nada interesante, por lo que vamos a realizar un poco de fuzzing a ver que vemos.

Gobuster

Info:

Veremos varias cosas interesantes, entre ellas que utiliza mucho PHP por lo que podemos intuir que pueda tener algun LFI en algun PHP, vamos a investigar un poco mas.

Si le damos alguna pestaña de la pagina veremos en la URL algo asi:

Vemos que esta utilizando el parametro page, si probamos ha realizar algo como esto:

Pero no va a funcionar, por lo que vamos a seguir investigando un poco mas.

Escalate user www-data

RFI

Si lanzamos un nikto para ver que posibles vulnerabilidades puede tener, veremos lo siguiente:

Info:

Veremos algo muy interesante en esta linea de aqui:

Por lo que vemos nos esta diciendo que hay un RFI en dicho recurso web, vamos a probarlo con nuestro servidor de python3 a ver si funciona.

Antes de enviarlo vamos abrir un servidor de python3.

Ahora si lo enviamos desde la pagina y volvemos a donde tenemos el servidor veremos lo siguiente:

Vemos que esta funcionando, por lo que vamos a probar a crear un archivo PHP con una reverse shell a ver si lo descarga y lo ejecuta.

shell.php

Ahora como tenemos el servidor de python3 abierto donde esta dicho archivo, desde la web podremos hacer lo siguiente, pero nos pondremos a la escucha en otra terminal.

Ahora desde la web hacemos lo siguiente:

Ahora si volvemos a donde tenemos la escucha veremos lo siguiente:

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

Sanitización de shell (TTY)

Ahora vamos a leer la flag del usuario.

user.txt

Escalate Privileges

Si listamos los permisos SUID que hay en el sistema veremos lo siguiente:

Info:

Veremos muchas cosas interesantes y entre ellas varias escaladas de privilegios, como estas lineas de aqui:

Pero vamos a escalar con php7.0 de esta forma:

Info:

Veremos que seremos el usuario root por lo que leeremos la flag de root.

root.txt

Last updated