7 sept 2020

¿Slack corporativo? Leaks asegurados

¡Muy buenas a todos!

Hace unos meses, se publicó la versión 1.0 de Seatbelt, un proyecto en C# que permite realizar una serie de controles de seguridad orientados tanto a la seguridad ofensiva como defensiva. En esta nueva versión se añadieron bastantes módulos nuevos, entre ellos, uno dedicado especialmente a Slack.
Fig 1: Comandos de Slack añadidos a Seatbelt.
Slack es una herramienta de comunicación de equipo basada en salas de chat organizadas por temáticas dando la opción de crear tanto grupos privados como grupos públicos. Se podría decir que es un equivalente a Discord pero orientado más al ámbito profesional/educativo (Discord tiene como foco el mundo gaming). Ahora bien, ¿dónde está el problema?
Imaginemos la siguiente situación: somos un atacante con acceso a un equipo corporativo con el cliente pesado de Slack instalado. Además, dicho Slack está registrado en el espacio corporativo de dicha empresa.
Fig 2: Ejemplo de espacio de trabajo.
Supongamos que el atacante tiene una shell en el equipo de la víctima y disponibilidad para lanzar Seatbelt con el nuevo módulo que permite analizar la presencia de Slack en el equipo de la víctima.
Fig 3: Output con la información encontrada por Seatbelt sobre Slack.
Como podemos ver en la imagen anterior, Seatbelt nos muestra tanto los ficheros descargados desde Slack como los espacios de trabajo, las descargas presentes dentro de su directorio (previsualización no descargada al equipo) y las cookies asociadas al programa. Por otro lado, nos indica que para clonar el acceso a este espacio de trabajo, tenemos que descargar el fichero 'Cookies' y el fichero '\storage\slack-workspaces'.
Fig 4: Nos descargamos todos los ficheros.
Una vez tengamos en nuestro poder ambos ficheros, necesitaremos instalar Slack en nuestro equipo y sustituir los fichero C:\Users\UserName\AppData\Roaming\Slack\Cookies y C:\Users\UserName\AppData\Roaming\Slack\storage\slack-workspaces por los de la víctima.
Nota: el fichero 'Cookies' solo podremos obtenerlo/modificarlo si el proceso de Slack se encuentra detenido. Es posible que tengamos que forzar su cierre para poder descargarlo.
Fig 5: Localización de los ficheros a sustituir en nuestro equipo.
Si procedemos a iniciar Slack tras haber modificado los ficheros por los de la víctima, mágicamente, tendremos una copia exacta de su espacio de trabajo en Slack. ¡Y solo copiando dos ficheros!

Fig 6: Secuestro de la sesión de Slack desde el equipo atacante.
Como último apunte, no solo tendremos acceso al contenido del espacio de trabajo, además, podremos interactuar con el servidor y suplantar la identidad del usuario (en este caso, Godofredo).
Fig 7: Suplantando la identidad de Godofredo.
Haya cerrado sesión... o no.
Fig 8: ¡Pillado!
Happy Juancking!

No hay comentarios:

Publicar un comentario