Friendly 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-05-13 03:24 EDT
Nmap scan report for 192.168.5.16
Host is up (0.0011s latency).

PORT   STATE SERVICE VERSION
21/tcp open  ftp     ProFTPD
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rw-r--r--   1 root     root        10725 Feb 23  2023 index.html
80/tcp open  http    Apache httpd 2.4.54 ((Debian))
|_http-title: Apache2 Debian Default Page: It works
|_http-server-header: Apache/2.4.54 (Debian)
MAC Address: 08:00:27:A2:9F:C0 (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 12.48 seconds

Veremos que hay un puerto FTP y un puerto 80 solamente, si entramos en el puerto 80 no veremos gran cosa ya que veremos una pagina web por defecto de apache2, vamos a probar a conectarnos por FTP de forma anonima.

Dejamos la contraseña vacia y veremos que estaremos dentro, si listamos el servidor veremos lo siguiente:

Vemos algo interesante, vamos a probar a subir un archivo al FTP en esta parte ya que parece que el servidor esta compartiendo los archivos web y esto puede ser una vulnerabilidad enorme.

test.txt

Ahora lo subiremos al servidor FTP de esta forma:

Una vez subido, vamos desde la web a dicho archivo a ver si esta funcionando.

Info:

Veremos que si esta funcionando de forma correcta, por lo que vamos a probar a subir un archivo en PHP para generarnos una reverse shell a ver si interpreta PHP de forma correcta.

webshell.php

Ahora lo subiremos de la misma forma que estabamos haciendo antes.

Info:

Una vez que lo hayamos subido, antes de meternos, vamos a ponernos a la escucha de la siguiente forma:

Ahora si nos vamos al siguiente archivo web.

Y 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)

Ahora podremos leer la flag del usuario bien.

user.txt

Escalate Privileges

Si hacemos sudo -l veremos lo siguiente:

Vemos que podemos ejecutar el binario vim como el usuario root por lo que haremos lo siguiente:

Info:

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

Info:

root.txt

Last updated