Delivery

Delivery es una máquina Linux de dificultad fácil que cuenta con el sistema de tickets de soporte osTicket donde es posible, mediante el uso de una técnica llamada TicketTrick, otorgarle a un usuario no autenticado acceso a un correo electrónico temporal de la empresa. Esta "característica" permite el registro en MatterMost y la unión al canal interno del equipo. A través de ese canal se revela que los usuarios han estado usando la misma variante de contraseña "PleaseSubscribe!", para el acceso interno.

En el canal también se revelan las credenciales para el usuario de correo que pueden dar el punto de apoyo inicial al sistema. Al enumerar el sistema de archivos, nos encontramos con el archivo de configuración de Mattermost que revela las credenciales de la base de datos MySQL. Al tener acceso a la base de datos, se puede extraer un hash de contraseña de la tabla Usuarios y descifrarlo utilizando el patrón "PleaseSubscribe!". Después de descifrar el hash, es posible iniciar sesión como usuario root.

Reconnaissance

Realizaremos un reconocimiento con Nmap para ver los puertos que están expuestos en la máquina Delivery. Este resultado lo almacenaremos en un archivo llamado allPorts.

A través de la herramienta de extractPorts, la utilizaremos para extraer los puertos del archivo que nos generó el primer escaneo a través de Nmap. Esta herramienta nos copiará en la clipboard los puertos encontrados.

Lanzaremos scripts de reconocimiento sobre los puertos encontrados y lo exportaremos en formato oN y oX para posteriormente trabajar con ellos. Verificamos que al parecer se trata de una máquina Ubuntu que dispone del servicio SSH, también dispone de una página de Nginx en el puerto 80 (HTTP) , un servicio HTTP donde al parecer hay un servicio llamado Mattermost.

Procederemos a transformar el archivo generado targetedXML para transformar el XML en un archivo HTML para posteriormente montar un servidor web y visualizarlo.

Accederemos a http://localhost y verificaremos el resultado en un formato más cómodo para su análisis.

Web Enumeration

Procederemos a realizar una enumeración de la página web, para ello accederemos a http://10.10.10.222.

Haciendo hovering sobre los enlaces de la página, verificamos que nos aparece un subdominio llamado helpdesk.delivery.htb.

Añadiremos en nuestro archivo /etc/hosts las entradas correspondientes.

Revisaremos las tecnologías que utiliza el sitio web,. Por otro lado, realizaremos una enumeración de directorios sobre el sitio web http://delivery.htb en el cual no logramos obtener ningún resultado que nos pueda servir.

Por otro lado, realizamos el mismo proceso anterior, esta vez sobre el subdominio encontrado. Al realizar una enumeración de directorios y páginas del subdominio encontrado, verificamos que logramos ver varias páginas interesantes.

Probamos de acceder a http://helpdesk.delivery.htb para verificar de qué trata el sitio web. Al acceder, parece ser una página de ticketing de un soporte técnico.

Al intentar registrarnos en el sitio web, vemos que nos aparece un mensaje indicando que debemos confirmar nuestro correo electrónico para poder acceder al sistema. No no podemos confirmar el registro, dado que en HTB normalmente no hay comunicación con servidores de correo externos, quizás de manera interna de la propia experiencia de la máquina si, pero este no era el caso.

Al intentar acceder con el usuario que nos hemos intentado registrar, verificamos que nos aparecía el mensaje indicando que debemos confirmar nuestra cuenta para acceder.

Por otro lado, probamos de acceder a http://delivery.htb:8065 y verificamos que llegamos al panel de inicio de sesión de Mattermost. Verificamos que la plataforma requiere de credenciales de acceso, también dispone de una opción para crear nuestra usuario.

Mattermost es una herramienta colaborativa para trabajar con un equipo de trabajo de manera ágil y efectiva. Muchas personas la comparan con Slack, dado que sirve para hablar por chat y enviar archivos.

Probaremos de registrarnos con un usuario inventado en el portal de Mattermost para ver si logramos acceder a la plataforma.

Comprobamos nuevamente que nos requiere verificar nuestro correo electrónico. Lamentablemente no disponemos del medio para realizarlo. Buscaremos otras maneras de acceder a este u otro servicio.

Abusing Support Ticket System

Volviendo a la página web http://helpdesk.delivery.htb verificamos que podemos crear un nuevo ticket para el equipo de soport técnico Helpdesk. Probaremos de crear un nuevo ticket de prueba para verificar que es lo que realiza.

Comprobamos que al parecer el ticket de soporte técnico ha sido crado correctamente. Nos indica que modemos comprobar el estado de nuestro ticketa través de un ID, y que si queremos más información sobre el estado de nuestro ticket, que nos pusieramos en contacto con un correo que tiene de nombre el ID del ticket con el dominiio delivery.htb.

Revisamos el apartado de Check Ticket Status de acceder con el correo que hemos indicado al crear el ticket y con el ID del ticket.

Verificamos que podemos observer el estado del ticket a través de esa opción.

Por lo tanto, dado que no disponemos de un correo válido para confirmar nuestro correo electrónico e ambas plataformas, lo que probamos es de registrarnos en la plataforma de Mattermost con el correo electrónico que nos proporcionaron desde el sistema de tickets en el cual nos indicaron que para saber más información sobre el ticket, que les mandasemos un correo electrónico.

Verificamos que nos vuelven a indicarnos de verificar nuestro correo electrónico, este enlace de verificación se debería haber enviado a IDticket@delivery.htb en donde el IDticket es el que nos generó al crear nuestro ticket en la plataforma

Verificamos si volvemos a comprobar el estado de nuestro ticket, hemos recibido el correo de verificación para verificar el usuario que hemos registrado en Mattermost. Esto se ha logrado utilizando el correo que nos han dado de prueba, al indicar que nos hemos querido registrar con ese correo, ese correo nos ha llegado a nosotros a través del sistema de tickets.

Acces to Mattermost

Comprobamos que hemos verificado correctamente el usuario que hemos intentado registrar, intentaremos acceder con ese usuario para revisar si disponemos del acceso.

Al intentar acceder, comprobamos que hemos podido acceder a la plataforma de Mattermost. Al acceder, nos proporciona la opción para acceder a un Team llamado internal.

Initial Access

Information Leakage

Al acceder al Team llamado internal, verificamos una conversación entre el usuario root y los desarrolladores. En el chat aparecen las credenciales de acceso del usuario maildeliverer:Youve_G0t_Mail!

Además, les indica que necesitan crear un programa para que dejen de reutilizar contraseñas, en especial aquellas con la variante PleaseSubscribe!

El usuario root indica que esa contraseña no se encuentra en el diccionario rockyou.txt, pero los atacantes podrían emplear métodos para crear variantes sobre la contraseña y crackearla sin problemas. Esto nos puede servir de pista para acceder con el usuario root si dispone de una variante de esa contraseña.

Accederemos a través del servicio SSH con el usuario maildeliverer y las credenciales encontradas en el Mattermost. Comprobamos que podemos verificar la flag de user.txt.

Privilege Escalation

Database Enumeration - MySQL

Verificamos que en el directorio /opt disponemos de la carpeta de la instalación deMattermost.

Enumerando el directorio, verificamos que disponemos de un archivo de configuración llamado config.json.

Al revisar la configuración del archivo, verificamos que encontramos las credenciales de acceso al MySQL. Las credenciales aparecen en texto plano: mmuser:Crack_The_MM_Admin_PW

Intentaremos acceder al servicio de MySQL con las credenciales obtenidas. Verificamos que podemos acceder y enumerando las bases de datos, nos encontramos con una BBDD de Mattermost.

Al listar las tablas de la BBDD mencionada, comprobamos que existe una tabla llamada users la cual podría contener información interesante, credenciales, etc.

Al enumerar los datos de la tabla users, nos encontramos con varios usuarios de la plataforma de Mattermost, entre los cuales aparece el hash del usuario root.

Cracking hashes and playing with hashcat rules in order to create passwords

Recordando lo que indicaba el usuario root en el chat interno de Mattermost, es posible que el usuario root disponga de una contraseña con una variante a PleaseSubscribe!

Teniendo el hash del usuario root y la posible contraseña, lo que reaizaremos es crear unas reglas con hashcat para crear variantes de la contraseña e intentar crackearla. Verificamos que hemos podido crackear el hash y obtener la contraseña que en un principio con el rockyou.txt no lo hubieramos podido crackear.

Intentaremos acceder cambiando nuestro usuario actual por el de root con las credenciales encontradas y verificamos que logramos tener el acceso y visualizar la flag de root.txt.

Última actualización

¿Te fue útil?