Friendly3 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-12 14:32 EDT
Nmap scan report for 192.168.5.15
Host is up (0.0023s latency).

PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.3
22/tcp open  ssh     OpenSSH 9.2p1 Debian 2 (protocol 2.0)
| ssh-hostkey: 
|   256 bc:46:3d:85:18:bf:c7:bb:14:26:9a:20:6c:d3:39:52 (ECDSA)
|_  256 7b:13:5a:46:a5:62:33:09:24:9d:3e:67:b6:eb:3f:a1 (ED25519)
80/tcp open  http    nginx 1.22.1
|_http-title: Welcome to nginx!
|_http-server-header: nginx/1.22.1
MAC Address: 08:00:27:C0:AC:2B (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 23.15 seconds

Veremos que hay un servidor FTP y un puerto 80 que alojara una pagina web, si nos metemos en la pagina web, veremos simplemente lo siguiente:

Veremos lo que puede ser un usuario, pero antes vamos a probar a mternos de forma anonima por el servidor FTP.

Veremos que no podemos, por lo que vamos a probar a realizar fuerza bruta con el usuario juan a ver si hay suerte.

Hydra (FTP)

Info:

Veremos que hemos encontrado las credenciales del FTP de dicho usuario, por lo que vamos a conectarnos por FTP con dichas credenciales.

Metemos como contraseña alexis y veremos que estamos dentro, si listamos la carpeta veremos lo siguiente:

Vemos muchisimos archivos, algunos tienen contenido, otros no, pero tampoco es muy importante la informacion que contiene, por lo que vamos a probar las misma credenciales pero por el servidor SSH.

Escalate user juan

Metemos como contraseña alexis y veremos que si funciona, estaremos dentro, por lo que leeremos la flag del usuario.

user.txt

Escalate Privileges

Si vamos a la carpeta /opt veremos lo siguiente:

Vemos que hay un script bastante interesante, vamos a ver que hace por dentro.

Vemos que es un script que ejecuta varias cosas, entre ellas esta:

Si listamos la /tmp veremos que no esta el archivo, por lo que tiene que haber algo por dentro como un crontab que puede estar ejecutando dicho script, vamos a ver los procesos que estan pasando en el sistema con pspy64.

Nos descargaremos el script de GitHub.

URL = Download pspy64

Host

Maquina victima

Info:

Vemos que efectivamente se esta ejecutando un crontab del .sh por lo que vemos en el script primero se descarga el a.bash y despues lo ejecuta, despues lo elimina, pero vamos a realizar un bucle en el que se este creando de forma infinita el a.bash con el paylod y esperemos a que se ejecute dicho script por root ya que vemos que lo esta ejecutando root.

a.bash

Lo guardamos y ejecutaremos lo siguiente:

while.sh

Ahora establecemos permisos de ejecuccion:

Vamos a ejecutarlo y esperar un poco.

Despues de un rato, vamos a probar a listar la bash.

Info:

Veremos que ha funcionado, por lo que haremos lo siguiente:

Info:

Veremos que somos root, por lo que leeremos la flag del usuario root.

root.txt

Last updated