Microsoft Teams almacena tokens de autenticación en texto plano en Windows, Linux y Mac
Analistas de seguridad han encontrado una grave vulnerabilidad de seguridad en la aplicación de escritorio para Microsoft Teams. La vulnerabilidad brinda a los atacantes acceso a tokens de autenticación y cuentas con la autenticación multifactor (MFA) activada.
Microsoft Teams es una plataforma de comunicación, incluida en la familia de productos 365. Es utilizada por más de 270 millones de personas para intercambiar mensajes de texto, realizar videoconferencias y almacenar archivos.
El problema de seguridad recientemente descubierto afecta las versiones de la aplicación para Windows, Linux y Mac y hace referencia a que los equipos de Microsoft almacenan tokens de autenticación de usuario en texto plano sin proteger el acceso a ellos.
Un atacante con acceso local en un sistema donde está instalado Microsoft Teams podría robar los tokens y usarlos para iniciar sesión en la cuenta de la víctima.
“Este ataque no requiere permisos especiales o malware avanzado para salirse con la suya con daños internos importantes”.
Explicación de Connor Peoples de la empresa de ciberseguridad Vectra, en un informe de esta semana.
El investigador agregó que al tomar “el control de puestos críticos, como el jefe de ingeniería, el director ejecutivo o el director financiero de una empresa, los atacantes pueden convencer a los usuarios para que realicen tareas perjudiciales para la organización”.
Los investigadores de Vectra descubrieron el problema en agosto de 2022 y lo informaron a Microsoft. Sin embargo, Microsoft no estuvo de acuerdo con la gravedad del problema y dijo que no cumple con los criterios para parchear.
La investigación comenzó cuando un cliente de Vectra se quejó de cómo Microsoft Teams administra las identidades deshabilitadas. Los usuarios finales no pueden quitar las cuentas desactivadas a través de la interfaz de usuario porque la aplicación Teams requiere que se inicie sesión en la cuenta para quitarla del cliente. Por supuesto, los usuarios no pueden hacer esto cuando su cuenta de usuario está deshabilitada.
Detalles del problema
Microsoft Teams es una aplicación de Electron, lo que significa que se ejecuta en una ventana del navegador, completa con todos los elementos requeridos por una página web normal (cookies, cadenas de sesión, registros, etc.).
Electron no admite el cifrado ni las ubicaciones de archivos protegidos de forma predeterminada, En otras palabras, si bien el framework del software es versátil y fácil de usar, no se considera lo suficientemente seguro para desarrollar productos de misión crítica a menos que se aplique una personalización extensa y trabajo adicional.
Vectra analizó Teams de Microsoft mientras intentaba encontrar una manera de eliminar las cuentas desactivadas de las aplicaciones de los clientes y encontró un archivo ldb con tokens de acceso en texto plano.
“Luego de la revisión, se determinó que estos tokens de acceso estaban activos y no un volcado accidental de un error anterior. Estos tokens de acceso nos dieron acceso a las API de Outlook y Skype”.
Vectra
Además, los analistas descubrieron que la carpeta “Cookies” también contenía tokens de autenticación válidos, junto con información de cuenta, datos de sesión y etiquetas de marketing.
Finalmente, Vectra desarrolló un exploit al abusar de una llamada API que permite enviarse mensajes a uno mismo. Usando el motor SQLite para leer la base de datos Cookies, los investigadores recibieron los tokens de autenticación como un mensaje en su ventana de chat.
Microsoft almacena estas credenciales para crear una experiencia de inicio de sesión único sin inconvenientes dentro de la aplicación de escritorio. Sin embargo, la implementación de controles de seguridad permite a los atacantes acceder a tokens.
Peligros generados por la vulnerabilidad
En resumen, cualquiera que instale y use el cliente de Microsoft Teams en este estado almacena las credenciales necesarias para realizar cualquier acción posible a través de la interfaz de usuario de Teams, incluso cuando Teams está cerrado. Esto permite a los atacantes modificar archivos de SharePoint, correo y calendarios de Outlook y archivos de chat de Teams. Aún más dañino, los atacantes pueden alterar las comunicaciones legítimas dentro de una organización destruyendo, exfiltrando o participando en ataques de phishing selectivos. En este punto, no hay límite para la capacidad de un atacante de moverse por el entorno de una empresa.
No obstante, La mayor preocupación es que esta vulnerabilidad sea explotada por malware que roba información. Este tipo de malware se ha convertido en uno de los paylods más comúnmente distribuidos en campañas de phishing.
Al usar este tipo de malware, los atacantes podrán robar tokens de autenticación de Microsoft Teams e iniciar sesión de forma remota como el usuario, sin pasar por MFA y obtener acceso completo a la cuenta.
Los ladrones de información ya están haciendo esto para otras aplicaciones, como Google Chrome, Microsoft Edge, Mozilla Firefox, Discord y muchas más.
Mitigación de riesgos
Dado que es poco probable que se publique un parche, la recomendación de Vectra es que los usuarios cambien a la versión del navegador del cliente de Microsoft Teams. Al usar Microsoft Edge para cargar la aplicación, los usuarios se benefician de protecciones adicionales contra fugas de tokens.
Los investigadores aconsejan a los usuarios de Linux que cambien a una suite de colaboración diferente, especialmente desde que Microsoft anunció planes para dejar de admitir la aplicación para la plataforma en diciembre.
Para aquellos que no pueden pasar a una solución diferente inmediatamente, pueden crear una regla de monitoreo para descubrir procesos que acceden a los siguientes directorios:
- [Windows] %AppData%\Microsoft\Teams\Cookies
- [Windows] %AppData%\Microsoft\Teams\Local Storage\leveldb
- [macOS] ~/Library/Application Support/Microsoft/Teams/Cookies
- [macOS] ~/Library/Application Support/Microsoft/Teams/Local Storage/leveldb
- [Linux] ~/.config/Microsoft/Microsoft Teams/Cookies
- [Linux] ~/.config/Microsoft/Microsoft Teams/Local Storage/leveldb
Al ser consultado sobre los planes de la empresa para publicar una solución al problema, Microsoft respondió:
La técnica descrita no cumple con nuestro estándar de servicio inmediato, ya que requiere que un atacante primero obtenga acceso a una red de destino.
Apreciamos la asociación de Vectra Protect para identificar y divulgar responsablemente este problema y consideraremos abordarlo en una versión futura del producto.