Friendly2 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-15 03:11 EDT
Nmap scan report for 192.168.5.17
Host is up (0.0021s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
| ssh-hostkey:
| 3072 74:fd:f1:a7:47:5b:ad:8e:8a:31:02:fe:44:28:9f:d2 (RSA)
| 256 16:f0:de:51:09:ff:fc:08:a2:9a:69:a0:ad:42:a0:48 (ECDSA)
|_ 256 65:0e:ed:44:e2:3e:f0:e7:60:0c:75:93:63:95:20:56 (ED25519)
80/tcp open http Apache httpd 2.4.56 ((Debian))
|_http-server-header: Apache/2.4.56 (Debian)
|_http-title: Servicio de Mantenimiento de Ordenadores
MAC Address: 08:00:27:0C:8F:A4 (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 7.16 secondsVeremos un puerto 80 bastante interesante, que aloja una pagina web, que si entramos veremos simplemente una web de servicio de ordenadores, pero nada mas, por lo que vamos a realizar un poco de fuzzing.
Gobuster
Info:
Veremos varias cosas interesantes, entre ellas el directorio llamado /tools si entramos dentro del mismo veremos otra pagina simple que pone informacion privada pero nada mas interesante, vamos a realizar fuzzing dentro de dicho directorio de nuevo.
Info:
Veremos de nuevo cosas interesantes, pero entre ellas el directorio llamado /documents que si entramos dentro del mismo veremos una serie de archivos, vamos a probar a meternos en los htmls pero no veremos gran informacion, ahora si volvemos a /tools e inspeccionamos el codigo veremos lo siguiente:
Escalate user gh0st
Veremos esa parte interesante, que nos esta indicando un archivo con extension .php a parte de un parametro que por lo que se entiende funciona para realizar una llamada a un archivo, por lo que vamos a intentar realizar un LFI a ver si funciona con dicho parametro.
Info:
Vemos que ha funcionado, ya que estamos viendo los usuarios, vemos uno llamado gh0st, ya que podemos leer archivos vamos a probar a intentar leer su clave PEM si tuviera alguna y si fuera accesible.
Info:
Vemos que ha funcionado de forma correcta, por lo que nos conectaremos por SSH mediante dicho usuario con su id_rsa.
SSH
Lo guardamos y establecemos los permisos necesarios para que se comporte como tal.
Ahora intentaremos conectarnos.
Info:
Vemos que nos pide la contraseña de dicha clave, por lo que vamos a intentar crackearlo de esta forma.
Info:
Vemos que hemos obtenido la contraseña de dicha clave, por lo que ahora si vamos a repetir el proceso de conectarnos por SSH pero ahora metiendo la clave.
Metemos como contraseña celtic y veremos que estamos dentro.
Info:
Vamos a leer la flag del usuario.
user.txt
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar dicho script como el usuario root, vamos a ver como funciona por dentro.
Vemos una cosa bastante interesante en el script, y es que esta utilizando una ruta relativa para llamar al binario grep y no una absoluta por lo que podremos realizar un Path Hijacking y lo haremos de esta forma.
Lo guardamos y ahora exportamos la variable de entorno para que apunte a /tmp y se ejecute nuestro binario malicioso.
Ahora tendremos que ejecutar el binario de la siguiente forma:
Info:
Veremos que ha funcionado aparentemente, vamos a comprobarlo:
Info:
Vemos que ha funcionado de forma correcta, por lo que haremos lo siguiente para ser el usuario root.
Info:
Veremos que con eso ya seremos root por lo que leeremos la flag de root.
Pero si intentamos leerla pone esto:
Vamos a buscar por esos ... ya que por root.txt no veremos nada.
Info:
Si entramos dentro veremos un archivo llamado ebbg.txt que si lo leemos veremos lo siguiente:
Vamos a seguir la pista.
Info:
Ahora si sustituimos las letras de antes sin que afecte los numeros, quedaria la flag algo asi.
root.txt
Last updated