Skip to main content

Vulnyx machines – Matrix Writeup

Vulnyx machines – Matrix Writeup

Matrix es una de las máquinas existentes actualmente en la plataforma de hacking Vulnyx, y es de dificultad Medium.

 

En este caso se trata de una máquina basada en el Sistema Operativo Linux.

 

Empezaremos con el escaneo de puertos una vez tenemos la ip que tiene la máquina a vulnerar que en mi caso será la 192.168.0.51

 

Una vez tenemos los puertos abiertos, ejecutamos nmap con el parámetro -sCV para que le pase los scripts por defecto y conseguir más información de cada uno de ellos.

 

Accedemos al puerto 80 y viendo el código, nos damos cuenta de una nota sobre un posible archivo pcap alojado en la web.

 

Seguimos la indicación y hacemos fuzzing con la extensión pcap, encontrando el fichero trinity.pcap

 

Abrimos el fichero con tshark para que visualmente sea más rápido y encontramos, entre otras trazas:

 

Revisamos los usuarios / contraseñas que nos encontramos y usaremos hydra, pero no tenemos suerte por ssh.

 

Seguimos con los subdominios pero no vemos nada diferente a la hora de acceder, asi que pasamos al fichero webp del que vemos trazas, para ello , ahora si , abriremos wireshark.

 

Desde aqui podemos extraer el fichero o revisar las trazas del fichero desde el propio wireshark..

1 – Desde wireshark , hacemos seguimiento de TCP Stream y si bajamos hasta abajo, vemos que nos indica un subdominio.

 

2 – Podemos extraer el archivo seleccionando la traza y exportándola, de manera que obtenemos un webp, el cual como hemos visto antes tiene un comentario, asi que usaremos exiftool.

 

Añadimos el subdominio al fichero /etc/hosts y accedemos.

 

Vemos un input donde probamos a poner algo y nos devuelve un mensaje

 

Antes de revisar el archivo, usamos feroxbuster en busqueda de archivos/carpetas del subdominio.

 

Accedemos al fichero encontrado, messages.txt y vemos lo que hemos puesto en el input.

 

Por otro lado, revisamos el archivo que se menciona, y como su nombre indica, contiene el código que está detrás de index.php.

Este código es el encargado de añadir al archivo messages.txt los datos que insertemos en el input, utilizando la deserialización de PHP para procesar la entrada.

 

Con burpsuite interceptamos la peticion para saber cuál es el payload que hace la inserción con el flujo normal, dónde:

1 – > numero de argumentos, en este caso message
7 – > numero de caracteres de la palabra message
s -> string
2 -> numero de caracteres de id

 

Probamos a cambiar message por file para comprobar si podemos cambiar el fichero donde se va a escribir y aunque vacio, se crea el fichero.

 

El siguiente paso es escribir en un fichero, por ejemplo, 9.phar , la ejecucion del comando id, pero con sintaxis php.

 

Si accedemos al fichero, vemos que nos da el output del comando

 

Por lo tanto, pudiendo subir codigo que explota un RCE, nos mandaremos una reverse shell, levantando un servidor con python.

 

Recibimos la reverse shell y lo primero que hacemos es ver los usuarios del sistema

 

Recordando las contraseñas obtenidas del pcap, usamos la que usaba el usuario smith para escalar.

 

Usamos sudo -l para revisar si tenemos algun privilegio con algun binario como algun usuario, en este caso sera rsync como root.

 

Accedemos a gtfobins para comprobar que existe una escalada con sudo sobre este binario y asi poder escalar.

 

Y hasta aquí la maquina Matrix de Vulnyx!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *