Liceo 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-23 03:53 EDT
Nmap scan report for 192.168.5.64
Host is up (0.0024s latency).

PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.5
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rw-rw-r--    1 1000     1000          191 Feb 01  2024 note.txt
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to ::ffff:192.168.5.50
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 1
|      vsFTPd 3.0.5 - secure, fast, stable
|_End of status
22/tcp open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.6 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 68:4c:42:8d:10:2c:61:56:7b:26:c4:78:96:6d:28:15 (ECDSA)
|_  256 7e:1a:29:d8:9b:91:44:bd:66:ff:6a:f3:2b:c7:35:65 (ED25519)
80/tcp open  http    Apache httpd 2.4.52 ((Ubuntu))
|_http-title: Liceo
|_http-server-header: Apache/2.4.52 (Ubuntu)
MAC Address: 08:00:27:C0:50:50 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: OSs: Unix, 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 7.49 seconds

Veremos varias cosas interesantes, un puerto 80 y un FTP en el que parece que nos podemos conectar de forma anonima, vamos a probar a conectarnos al FTP para ver que contiene de forma anonima.

FTP

Info:

Veremos que hay una note.txt vamos a descargarnosla:

Ahora si la leemos veremos lo siguiente:

No nos dice nada interesante, por lo que vamos a meternos dentro del puerto 80, una vez dentro veremos una pagina web aparentemente normal, por lo que vamos a realizar un poco de fuzzing.

Gobuster

Info:

Veremos una cosa interesante que es /upload.php, si entramos dentro veremos una seccion en la que podremos subir un archivo, vamos a probar a subir un archivo .php.

shell.php

Ahora si lo intentamos subir nos dara un error:

Por lo que vamos a probar a intentar bypassear la extension de esta forma:

Escalate user www-data

Ahora si subimos el .phtml veremos lo siguiente:

Vemos que se ha subido de forma correcta, vamos a ponernos a la escucha:

Ahora si nos vamos en la URL a la siguiente ruta donde estan subidos todos los archivos, veremos lo siguiente:

Ahora le daremos a dicho archivo y si volvemos a donde tenemos la escucha, veremos lo siguiente:

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

Sanitización de shell (TTY)

Escalate Privileges

Si listamos el binario de la bash veremos que tiene permisos SUID:

Por lo que haremos lo siguiente:

Info:

Con esto veremos que seremos root, por lo que leeremos las flags del usuario y de root.

user.txt

root.txt

Last updated