Quick4 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-22 03:20 EDT
Nmap scan report for 192.168.5.63
Host is up (0.0063s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.6 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 2e:7a:1f:17:57:44:6f:7f:f9:ce:ab:a1:4f💿c7:19 (ECDSA)
|_  256 93:7e:d6:c9:03:5b:a1:ee:1d:54:d0:f0:27:0f:13:eb (ED25519)
80/tcp open  http    Apache httpd 2.4.52 ((Ubuntu))
|_http-title: Quick Automative - Home
|_http-server-header: Apache/2.4.52 (Ubuntu)
| http-robots.txt: 1 disallowed entry 
|_/admin/
MAC Address: 08:00:27:AA:84:13 (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 8.48 seconds

Veremos un puerto 80 en el que se aloja una pagina web, si entramos veremos una pagina normal y corriente dedicada a coches, pero en la parte de Make Appointment veremos un login si nos registramos y accedemos con dicha cuenta no veremos gran cosa, por lo que vamos a realizar un poco de fuzzing a la pagina en general.

Gobuster

Info:

Vemos varias cosas interesantes, pero entre ellas veremos un sitio llamado /employee que es bastante interesante, por lo que si accedemos a el veremos un login de nuevo, esta vez no nos podremos registrar, por lo que vamos a probar a realizar un SQLi de forma muy basica a ver si por lo menos es vulnerable al mismo.

Veremos que hemos accedido directamente al panel bypasseando las credenciales del admin por lo que estaremos dentro.

Vamos a irnos a la seccion Users -> Employeers y aqui dentro vamos a irnos a la pestaña llamada reset password, cambiaremos la password de por ejemplo el usuario Nick Greenhorn a la que queramos, una vez echo esto, vamos a subirle una foto de perfil, pero vamos a probar a subirle un .php y si funciona loguearnos con dicho usuario para que se ejecute.

image.php

Si nos vamos a Upload Photo, seleccionamos dicho usuario y seleccionamos el archivo, cuando le demos a Upload Photo veremos que no funciona, por lo que podremos intentar interceptar la peticion con BurpSuite subiendo una imagen real, pero cuando la interceptemos cambiamos los datos a las de un GIF para que se haga pasar por GIF pero siendo el archivo del contenido PHP.

Una vez que la capturemos veremos esta peticion:

Tendremos que cambiar la linea que pone:

Y añadirle encima de la reverse shell la palabra GIF8; quedando de esta forma:

Ahora si nos logueamos con dicho usuario en ese mismo login, pero antes nos ponemos a la escucha:

Ahora nos logueamos...

Y si volvemos a donde tenemos la escucha, veremos lo siguiente:

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

Sanitización de shell (TTY)

Por lo que leeremos la flag del usuario.

user.txt

Escalate Privileges

Despues de un rato buscando, si leemos los crontabs que hay a nivel de sistema, veremos lo siguiente:

Info:

Vemos esta linea bastante interesante:

Vamos a ver que contiene dicho .sh.

Info:

Vemos que esto conlleva una vulnerabilidad el *, si buscamos informacion sobre ello veremos esto:

URL = Vulnerabilidad Tar Wildcard Injection

Vamos a crearnos el siguiente archivo en /var/www/html.

pwned.sh

Ahora vamos con la vulnerabilidad para que ejecute dicho .sh.

Ahora tendremos que esperar mas o menos 1 minuto y si comprobamos los permisos de la bash.

Info:

Veremos que ha funcionado, por lo que haremos lo siguiente para ser root.

Info:

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

root.txt

Last updated