Faust 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-06-21 10:17 EDT
Nmap scan report for 192.168.5.55
Host is up (0.0010s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey:
| 2048 54:0a:75:c5:26:56:f5:b0:5f:6d:e1:e0:77:15:c7:0d (RSA)
| 256 0b:d7:89:52:2d:13:16:cb:74:96:f5:5f:dd:3e:52:8e (ECDSA)
|_ 256 5a:90:0c:f5:2b:7f:ba:1c:83:02:4d:e7:a2:a2:1d:5b (ED25519)
80/tcp open http Apache httpd 2.4.38 ((Debian))
|_http-generator: CMS Made Simple - Copyright (C) 2004-2021. All rights reserved.
|_http-server-header: Apache/2.4.38 (Debian)
|_http-title: Home - cool_cms
6660/tcp open unknown
| fingerprint-strings:
| NULL, Socks5:
| MESSAGE FOR WWW-DATA:
| [31m www-data I offer you a dilemma: if you agree to destroy all your stupid work, then you have a reward in my house...
|_ Paul
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at
https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port6660-TCP:V=7.95%I=7%D=6/21%Time=6856BF1B%P=x86_64-pc-linux-gnu%r(NU
SF:LL,A5,"\n\n\x20\x20\x20MESSAGE\x20FOR\x20WWW-DATA:\n\n\x20\x1b[31m\x20
SF:\x20www-data\x20I\x20offer\x20you\x20a\x20dilemma:\x20if\x20you\x20agre
SF:e\x20to\x20destroy\x20all\x20your\x20stupid\x20work,\x20then\x20you\x20
SF:have\x20a\x20reward\x20in\x20my\x20house\.\.\.\n\x20\x20\x20Paul\x20\x1
SF:b[0m\n")%r(Socks5,A5,"\n\n\x20\x20\x20MESSAGE\x20FOR\x20WWW-DATA:\n\n\
SF:x20\x1b[31m\x20\x20www-data\x20I\x20offer\x20you\x20a\x20dilemma:\x20i
SF:f\x20you\x20agree\x20to\x20destroy\x20all\x20your\x20stupid\x20work,\x2
SF:0then\x20you\x20have\x20a\x20reward\x20in\x20my\x20house\.\.\.\n\x20\x2
SF:0\x20Paul\x20\x1b[0m\n");
MAC Address: 08:00:27:1D:5B:19 (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 14.38 secondsVeremos que hay un puerto 80 y un puerto 6660 en el que pone un mensaje bastante interesante, pero en el puerto 80 se aloja una pagina web, vamos a ver que contiene dicho puerto, si nos metemos veremos una pagina web normal sin ningun tipo de vulnerabilidad aparente, vamos a realizar un poco de fuzzing a ver que encontramos.
Gobuster
Info:
Veremos una seccion bastante interesante llamada /admin, en el que si entramos veremos un login, pero si probamos credenciales por defecto como por ejemplo admin:admin no nos dejara, por lo que vamos a probar fuerza bruta con el login utilizando el usuario admin a ver si hay suerte.
Escalate user paul
Hydra
Info:
Veremos que ha sacado de forma correcta las credenciales del admin por lo que nos loguearemos de la siguiente forma:
Una vez dentro si exploramos un poco el panel veremos la seccion Tags en la cual aparecen varias opciones, pero entre ellas hay un icono de una terminal llamado User Defined Tags por lo que se ve bastante interesante, si entramos dentro vamos a probar a darle al boton llamado Add User Defined Tag.
En el campo Name pondremos por ejemplo Shell y en el campo Code: pondremos lo siguiente:
Ahora le daremos a Submit y nos pondremos a la escucha de la siguiente forma.
Estando a la escucha le daremos de nuevo a shell en el Tag y seguidamente le daremos a la opcion llamada Run, si volvemos a donde tenemos la escucha veremos lo siguiente:
Por lo que vemos ha funcionado, por lo que sanitizaremos la shell.
Sanitización de shell (TTY)
Escalate user paul
Antes vimos que en el puerto 6660 pone este mensaje:
Vemos que nos esta mencionando que si eliminamos nuestro "trabajo" en este caso el contenido de la carpeta html/ nos dejara algo en la /home del usuario Paul, por lo que vamos hacer lo siguiente:
Al hacer esto veremos que nos aparece un password.txt en la /home de Paul que pone lo siguiente:
Vamos a probar dichas credenciales a ver si funcionan.
Metemos como contraseña YouCanBecomePaul y veremos que estamos dentro.
Escalate user nico
Si hacemos sudo -l veremos lo siguiente:
Veremos que podemos ejecutar Base32 como el usuario nico por lo que podremos realizar lo siguiente:
Vamos a leer la flag del usuario.
user.txt
Info:
Ahora vamos a listar la /home de nico.
Veremos que hay un archivo interesante llamado .secret.txt si lo leemos veremos lo siguiente:
Info:
Vemos que esta codificado en Base64, si lo decodificamos en nuestro host de esta forma.
Info:
Vemos lo que parece ser la contraseña de dicho usuario.
Metemos como contraseña just_one_more_beer y veremos que estaremos dentro.
Escalate Privileges
En la / (Raiz) veremos una carpeta llamada nico si entramos dentro veremos un archivo de imagen llamado homer.jpg.
Tiene toda la pinta de que oculta algun archivo o algo por dentro, por lo que vamos a utilizar la herramienta steghide para ver si podemos extraer algun archivo con suerte sin contraseña.
NOTA
El archivo nos lo pasamos mediante un servidor de python3 a nuestra maquina atacante con wget.
Dejamos la contraseña vacia...
Info:
Veremos que ha funcionado, nos ha extraido un archivo llamado note.txt en el que pone lo siguiente:
Por lo que podemos entender con esto es que por detras tiene que haber algun crontab programado para ejecutar dicho archivo, si nosotros nos vamos a la carpeta /tmp no veremos el archivo por lo que vamos a probar a crear uno malicioso a ver si se ejecuta como root.
Lo guardamos, establecemos los permisos necesarios...
Y esperamos un rato, despues de esperar vamos a comprobar que haya funcionado listando la bash.
Info:
Por lo que vemos a funcionado, por lo que haremos lo siguiente para ser root.
Info:
Con esto seremos root por lo que leeremos la flag de root.
root.txt
Last updated