Hero

Máquina Hero de la plataforma HackMyVM

Autor: Sml

Dificultad: Medio

Hero

Reconocimiento

Comenzamos con un escaneo de nmap para ver los puertos abiertos de la máquina:

Solo vemos 2 puertos abiertos:

Puerto 80: nginx

Puerto 5678: http ???

Puerto 80

En el puerto 80 podemos ver que hay una clave privada de ssh, por lo cual podemos pensar 2 cosas:

· Port knocking

· No tenemos colectividad directa con el puerto 22

en caso de ser la primera, necesitaríamos un conjunto de puertos a los que hacer knocking y si es la segunda descartamos directamente la clave por ahora.

Puerto 5678

En este puerto vemos algo mas interesante ya que tenemos un panel de registro en una web con título "n8n", y si esto lo buscamos veremos que es un software de automatización o algo parecido.

Nos registramos y vemos lo siguiente:

N8N

presiono donde dice "Start from scratch" y luego de revisar un poco, veo que se puede ejecutar un comando:

Command

Intrusión

Viendo que existe la opción, preparo la escucha con netcat:

y envío una reverse shell escribiendo el siguiente comando en la web:

luego, presionamos donde dice "test workflow" y recibiremos la shell.

Escalada De Privilegios

Port Search On The Host

Luego de probar un buen rato, pruebo a buscar puertos abiertos en el host pero desde el docker y a la ip 172.17.0.1 con este script:

lo paso a la máquina víctima y al ejecutarlo veo lo siguiente:

lo que significa que ahí está el ssh que no encontrábamos.

Tunnel With Chisel

Nos descargamos Chisel, lo pasamos a la máquina y entablamos un tunel de la siguiente manera:

Una vez establecido el túnel, configuramos proxychains para que funcione con el proxy de chisel (probablemente solo sea cambiar la última línea del archivo /etc/proxychains.conf por socks5 127.0.0.1 1080) y descargamos la clave privada que encontramos en el puerto 80:

ahora nos tenemos que conectar pero no tenemos usuario, pero al probar en conectarnos de la manera que sea nos dice lo siguiente:

por lo que ya tenemos un posible usuario: shawa

y ahora si nos conectamos a la máquina por ssh:

User shawa

Siendo el usuario shawa, podemos ver un archivo en /opt llamado banner.txt, este pertenece a root y todos los usuarios pueden leerlo y escribirlo. Si lo leemos vemos que dice "shawa was here.", lo que significa que es el mensaje que muestra ssh al conectarnos. Sabiendo esto, creamos un enlace simbólico al /etc/shadow en el archivo banner.txt:

nos volvemos a conectar con ssh y podemos visualizar el archivo shadow:

Shadow

además podemos ver un comentario en la primer línea:

y si probamos la contraseña Imthepassthaty0uwant! con el usuario root veremos que podemos escalar a este.

User Root

Root

Gracias por leer ;)

Última actualización