BaseME 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.94SVN ( https://nmap.org ) at 2025-04-21 03:12 EDT
Nmap scan report for 192.168.1.180
Host is up (0.00042s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 ca:09:80:f7:3a:da:5a:b6:19:d9:5c:41:47:43:d4:10 (RSA)
|   256 d0:75:48:48:b8:26:59:37:64:3b:25:7f:20:10:f8:70 (ECDSA)
|_  256 91:14:f7:93:0b:06:25:cb:e0:a5:30:e8:d3:d3:37:2b (ED25519)
80/tcp open  http    nginx 1.14.2
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: nginx/1.14.2
MAC Address: 08:00:27:AE:6E:9E (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 6.53 seconds

Veremos que hay un puerto 80 abierto, por lo que vamos a entrar en el a ver que vemos, entrando a dicha pagina web, veremos esto simplemente:

Vemos lo que parece ser un codigo en Base64 por lo que vamos a decodificarlo de la siguiente forma:

Info:

Vemos que nos esta diciendo que todo esta en Base64 incluida la contraseña del usuario, en este caso el usuario que tenemos es lucas pero vamos a probar a realizar un poco de fuzzing, en este caso como todo tiene que ir en Base64 vamos a codificar la lista de palabra en Base64:

Gobuster (Base64)

Info:

Veremos que nos ha funcionado, si lo decodificamos veremos que son las siguientes carpetas:

Info:

Vemos que uno es el robots y el otro un id_rsa, vamos a ver si tenemos suerte y fuera un id_rsa real, por lo que vamos a probar a entrar.

Se nos descargara un archivo codificado en Base64 que si lo decodificamos veremos lo siguiente:

Info:

Vemos que efectivamente es un id_rsa por lo que vamos a probar a conectarnos con el usuario lucas a la maquina victima con su clave privada PEM.

Lo guardamos y le damos los permisos adecuados a dicho archivo.

Ahora si nos conectaremos por SSH de la siguiente forma:

Si lo intentamos veremos que nos pide una contraseña, por lo que vamos a probar a intentar crackearla de la siguiente forma:

Escalate user lucas

Crackeo id_rsa john

Si nos vamos a la pagina principal e inspeccionamos el codigo veremos una lista de palabras:

Vamos a codificarlas en Base64 y probar a ver si fuera alguna la contraseña del id_rsa.

list.txt

Ahora vamos a pasarle al lista codificada a john.

Info:

Veremos que ha funcionado, por lo que vamos a probar a meter dicha contraseña en Base64 directamente.

SSH

Metemos como contraseña aWxvdmV5b3UK y veremos que estamos dentro, por lo que leeremos la flag del usuario.

user.txt

Escalate Privileges

SI hacemos sudo -l veremos lo siguiente:

Veremos que podremos ejecutar Base64 como el usuario root, con esto lo que podremos hacer sera leer archivos del sistema sin ningun tipo de restriccion, por lo que vamos a probar a intentar leer la id_rsa de root si la tuviera, a ver si hay suerte.

Info:

Y vemos que funciona, por lo que nos vamos a conectar por SSH mediante la id_rsa de root.

Lo guardamos y le establecemos los permisos necesarios para que se comporte como una id_rsa real.

Ahora nos conectamos por SSH mediante el usuario root pasandole como parametro dicha id_rsa.

Info:

Con esto ya seremos el usuario root, por lo que leeremos la flag de root.

root.txt

Last updated