Teams - Tokens en Texto Plano.

Teams - Se documentó por parte de Vectra.ai un bug de MS Teams que permite impersonar una sesión de Teams al contener la información sensible (token) en texto plano.

Teams - Tokens en Texto Plano.

Hace unos días, desde Vectra.ai se detectó que varia información sensible de Teams se podía acceder en texto plano. 

Este comportamiento está presente en las aplicaciones de escritorio de Windows, Linux y MacOS. También se menciona que es persistente aun contando con MFA activado. 

Según menciona Vecrta, la raíz del problema se debe a que Electron (en framework en el que se encuentra basado Teams) no soporta controles de navegador estándar como la encriptación y/o proteccion de ubicaciónes de archivos del sistema "out of the box" , por lo que se debe implementar a conciencia. 

La ubicación \AppData\Roaming\Microsoft\Teams almacena la cookie que utiliza Teams. Esta cookie almacena información relacionada a nuestro inicio de sesión como los access tokens, entre otra información. 

Para verificar este detalle, realizamos lo siguiente:

  • Descargamos SQLite
  • Navegamos hasta la ubiación mencionada y copiamos la db "Cookies"
  • Abrimos la db con SQLite

Efectivamente, encontramos la información bajo authtoken y SSOAUTHCOOKIE.

Ubicación de la base de datos cookies

Contenido de la base de datos "cookies"

Desde pentestpartners.com  mencionaron que para el abuso se requiere obtener la carpeta Teams en la ruta ya mencionada. Al remplazar la carpeta con la de la victima podemos iniciar la sesión con su información.  Nos indica que las siguiente información debe ser suplantada (esto puede ayudar en reducir el tamaño de los archivos a copiar):

  • IndexedDB
  • Local Storage
  • Session Storage
  • Cookies
  • Cookies-journal
  • desktop-config.json
  • json
  • Preferences
  • QuotaManager
  • QuotaManager-journal
  • json
  • json
  • json
  • TransportSecurity

Decidimos hacer la prueba y efectivamente, pudimos inciar sesión en un equipo ajeno copiando los archivos mencionados y reemplazandolos en el destino (un malware automatizado pudiera robar esta informaicón o realizar acciones mas sofisticadas). 

Al parecer la alternativa de momento es utilizar la aplicación web.

El ejemplo tratado aqui fue un ejemplo sensillo (PoC), las ramificaciones y servicios comprometidos por el abuso de esta información puede se mas severo.