Microsoft Teams speichert Authentifizierungstoken als Klartext in Windows, Linux, Macs

Sicherheit (Pexels, allgemeine Nutzung)[English]Die Desktop-App für Microsoft Teams speichert auf den Plattformen Linux, macOS und Windows die Authentifizierungstoken als Klartext ab. Dies ermöglicht Angreifern den Zugriff auf Konten mittels dieser Tokens, selbst wenn eine Multi-Faktor-Authentifizierung (MFA) aktiviert wurde. Kunden sollten auf die Web-Anwendungen für Teams zurückgreifen oder die Zugriffe auf die MS Teams Daten durch Prozesse überwachen, da Microsoft diese Schwachstelle nicht umgehend schließen wird.


Anzeige

Microsoft Teams

Microsoft Teams ist eine von Microsoft entwickelte Kommunikations- und Kolloborations-Plattform, die Chat, Besprechungen, Notizen und Anhänge kombiniert. Der Dienst Teams ist in die Microsoft 365-Suite mit Microsoft Office und Skype/Skype for Business integriert. Von Microsoft wird Teams als "das Beste, seit Erfindung von geschnitten Brot" vermarket. Bei mir rollen sich immer die Fußnägel hoch, wenn ich Microsoft Teams höre und an IT-Sicherheit sowie Datenschutz denke (siehe Links am Beitragsende).

Sicherheitsalptraum Electron-Framework

Microsoft Teams ist ein Dienst, der auf den Clients mit einer "zusammen geklickten" App genutzt werden kann. Diese App verwendet das Electron-Framework, was für mich der wahrgewordene Alptraum in Punkto Sicherheit darstellt. Ich erinnere nur an meinen Beitrag Microsoft Teams und die Sicherheit … aus dem Jahr 2020, wo ich explizit auf das Electron Framework und eine darin enthaltene uralte Chrome-Browser-Version hingewiesen habe. Wer dieses Framework einsetzt, hantiert mit einer Black-Box.

Der Stein des Anstoßes

Die Sicherheitsforscher begannen, sich Microsoft Teams näher anzusehen, weil ein Kunde von Vectra Protect sich darüber beschwerte, wie Microsoft Teams deaktivierte Identitäten verwaltet. Endbenutzer können deaktivierte Konten nicht über die Benutzeroberfläche entfernen, da die Teams-Anwendung erfordert, dass das Konto angemeldet ist, um es aus dem Client zu entfernen.

Das ist irgendwie auch nachvollziehbar, dass Benutzer ein deaktiviertes Benutzerkonto nicht mehr löschen können, da ja keine Anmeldung mehr möglich ist. Die Vectra-Leute wollten dieses Problem aber lösen und haben sich die lokalen Konfigurationsdaten innerhalb des Teams-Clients angesehen und herausgefunden, wie sie funktionieren.


Anzeige

Die Hypotheken des Electron-Framework

Bei der Untersuchung stießen sie auf das Electron-Framework, mit dem die Microsoft Teams-App erstellt wird. Mit Electron lässt sich eine Webanwendung erstellen, die über einen angepassten Browser ausgeführt wird. Dies ist sehr praktisch und macht die Entwicklung schnell und einfach. Microsoft setzt auf Electron, um die App auf verschiedenen Plattformen bereitzustellen.

Das ist nachvollziehbar, aber Entwickler, die die Funktionsweise von Electron nicht vollständig verstehen, erstellen möglicherweise zu transparente Anwendungen. Denn die Ausführung eines Webbrowsers im Kontext einer Anwendung erfordert die Verwendung herkömmlicher Browserdaten wie Cookies, Sitzungszeichenfolgen und Protokolle. Und hier liegen dann die Haken, die sicherheitstechnisch zum Alptraum werden können.

Da das Electron-Framework die Komplexität der Anwendungserstellung verschleiert, dürften sich die Entwickler der Auswirkungen ihrer Designentscheidungen selten bewusst sein. Electron unterstützt keine Standard-Browser-Funktionen wie Verschlüsselung. Systemgeschützte Dateispeicherorte werden von Electron nicht standardmäßig unterstützt und müssen vom Entwickler selbst verwaltet und abgesichert werden. Sicherheitsexperten beklagen daher seit langem die Verwendung des Electron Frameworks als Sicherheitsrisiko.

Authentifizierungstokens im Klartext

Als das Vectra Protect-Team im August 2022 dem Kundenproblem nachging, stießen sie auf einen möglichen Angriffspfad in Microsoft Teams. Dieser ermöglichte es böswilligen Akteuren mit Zugriff auf das Dateisystem die Anmeldedaten (Authentifizierungstoken) für jeden angemeldeten Microsoft Teams-Benutzer zu stehlen. Denn diese Daten liegen im Benutzerprofil.

Die weitere Untersuchung ergab, dass die Microsoft Teams App Authentifizierungs-Token im Klartext speichert. Mit diesen Token können Angreifer die Identität des Token-Inhabers für alle Aktionen annehmen, die über den Microsoft Teams-Client möglich sind. Das schließt auch die Verwendung dieses Tokens für den Zugriff auf Microsoft Graph API-Funktionen von den Systemen des Angreifers ein.

Noch schlimmer ist, dass diese gestohlenen Token es Angreifern ermöglichen, Aktionen gegen Konten durchzuführen die per Multi-Faktor-Authentifizierung (MFA) gesichert sind. Dadurch lässt sich die MFA-Absicherung umgehen. Die Schwachstelle betrifft alle kommerziellen und GCC Desktop Teams Clients für Windows, Mac und Linux. Die Details lassen sich bei Interesse in diesem Beitrag nachlesen.

Microsoft schließt den Fall

Natürlich haben die Vectra-Leute diese Entdeckung an Microsoft als Sicherheitslücke gemeldet und hofften auf deren schnelle Beseitigung. Heraus kam, dass Microsoft sich dieses Problems bewusst ist. Das Microsoft Sicherheitsteam hat den gemeldeten Fall mit der Begründung geschlossen, dass diese Meldung die Anforderungen für eine sofortige Bearbeitung nicht erfüllt. Sprich: Es wird irgendwann, möglicherweise eine Aktualisierung der Microsoft Teams-Apps geben, die diese Schwachstelle schließt. Das ist irgendwie klar, denn die Entwickler müssen die Verwaltung der Token selbst um das Electron Framework herum stricken.

Bis Microsoft die Teams-Desktop-Anwendung aktualisiert, sollten Kunden ausschließlich die webbasierte Teams-Anwendung verwenden, so die Empfehlung von Vectra. Für Kunden, die die installierte Desktop-Anwendung verwenden müssen, sollten Zugriffe auf wichtige Anwendungsdateien durch andere Prozesse als die offizielle Teams-Anwendung überwacht werden, um einen Missbrauch vorzeitig zu bemerken. (via).

Ähnliche Artikel:
Microsoft Teams: XPC-Schwachstelle, wird nicht (zeitnah) gepatcht
Fix für Microsoft Teams Performance-Probleme
Microsoft Teams mit ‚Ops'-Anzeige gestört? (22.10.2020)
Teams Speicherort für Compliance-Aufzeichnungen geändert, brickt Scripte
Malware kann Microsoft Teams Updater missbrauchen
MS Teams: Bug verhindert Whiteboard-Nutzung in Europa
Verursacht Windows 10 VPN-Bug-Fix Update Teams-Probleme?
MS Teams wegen Zertifikatsfehler down (3.2.2020)
Zoom & Teams nicht DSGVO-konform einsetzbar
MS-Teams: Bei Windows Server auf virtuellen Speicher achten
Microsoft Teams: Schwachstelle erlaubte Kontenübernahme
Microsoft Teams und die Sicherheit …
Office 365 war über Teams-Netzwerkschwachstelle angreifbar
Microsoft Teams: Sicherheitsforscher finden eine von einem von Wurm ausnutzbare Zero-Klick RCE-Schwachstelle
Windows 11: Microsoft macht Startmenü/Taskleiste mit Teams-Promo kaputt
Microsoft Teams Bugs: Notrufe blockiert, Phishing-Lücke seit März 2021


Anzeige

Dieser Beitrag wurde unter Sicherheit, Software abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

8 Antworten zu Microsoft Teams speichert Authentifizierungstoken als Klartext in Windows, Linux, Macs

  1. janil sagt:

    So ohne Worte…

  2. Stephan sagt:

    Microsoft macht hier gleich mehrere Fehler.

    1. Eigentlich hat Windows einen sicheren Speicher für Paßwörter. Man findet ihn, wenn man in den Einstellungen beim Benutzer nach «Web-Paßwörter» oder sowas sucht. Dieser wird aber nur vom Internet Explorer genutzt, Edge ignoriert den einfach.

    2. Googles Ausgabe von Chrome benutzt eine Windows-Funktion, um Paßwörter verschlüsselt abzulegen. Dies gilt aber vermutlich nicht für Cookies und HTML5 Storage.

    3. Der eigentliche Fehler ist aber, daß Microsoft in Teams ein allmächtiges Token benutzt. OAuth (Open Authorization) ist ja gerade dafür da, daß man das nicht tun muß.

    Ein Beispiel, wie man es richtig macht:
    Ich habe GMail in GNOME Evolution. Wenn man den Google-Account in GNOME bzw. Evolution einrichtet, dann kommt eine SSO-Loginseite, wie man es auch bei Azure kennt. Auch mit zwei Faktoren natürlich.
    Die Crux: Hier gibt man dann an, wofür dieser Login sein soll, zum Beispiel Mails, Kalender und Google Drive. Dann stellt Google ein Token aus, das genau diese Funktionen berechtigt. Wichtig: Es berechtigt nicht zu mehr.
    GNOME legt das Token verschlüsselt im Keyring ab. Aber selbst wenn einer das Token klaut, ist es auf die genannten Funktionen eingeschränkt. Mit dem Token kann man NICHT meine Androidgeräte verwalten/orten, Youtube-Videos hochladen, Playstore-Käufe tätigen oder Authentisierungsgeräte verändern.

    Das ist wieder ein Beispiel dafür, wie Azure/Office354 oberflächlich/scheinbar aussieht, als wäre es sowas wie AWS oder Google Cloud. In Wahrheit ist es aber nur eine zurechtgebasteltes Imitat.

    Jedes Microsoft-Produkt ist halt wie Internet Explorer. Internet Explorer sieht für den unbedarften Benutzer wie ein Browser aus, aber jeder IT-Profi weiß, was es für ein Schrott ist, den man mit Mozilla und Chrome nicht vergleichen kann. Excel ist die Tabellenkalkulation, die die Grundrechenarten nicht beherrscht, Word kann die Abstände zwischen Buchstaben nicht richtig setzen und Outlook ist der Mail User Agent, der Mails nicht richtig anzeigen kann … Azure und Teams passen ideal in diese Reihe.

    • Luzifer sagt:

      naja das stimmt aber auch nur bedingt … ja standardmäßig kann man mit dem Token in Gnome nur das tun was da hinterlegt ist. Nur gilt wie überall (egal ob Windows Linux oder Mac) damit ist man auf dem System und Lücken und Zerodays Exploits erlauben dann ein Ausweiten.

      Den die Haupt Hürde ist erstmals drauf sein auf einem System, ist man dann mal drauf, ist es meistens eine leichte Übung weitere Berechtigung zu kriegen.
      (Gut bei Linux etwas schwieriger, Aufgrund des Sicherheitskonzeptes, aber wie Angriffe bereits bewiesen haben, nicht unmöglich)

      • Stephan sagt:

        Das wird doch serverseitig geprüft. Wenn im Token drinsteht, daß es nur für Kalendar ist, dann kann ich damit an die Google-Server keine Requests machen, die mein Android-Gerät orten sollen.

        Der lokale Schutz in GNOME ist ein anderes Thema. Die Verschlüsselung im Keyring basiert bei den Tokens (wie auch bei Paßwörtern, SSH-Keys, PGP-Keys) auf dem Login des Benutzers.

    • Wil Ballerstedt sagt:

      (Stichwort Word: Kommt der schlecht verwaltete Zeichenabstand nicht eher von fehlender/schlechter Kerningliste her. Letztlich gilt aber, dass Word kein Publisherprogramm ist. Und selbst echte Publisherprogs brauchen entsprechend konfigurierte Schriften, um schicke Texte liefern zu können.)

  3. Wil Ballerstedt sagt:

    "Anforderungen für eine sofortige Bearbeitung nicht erfüllt". Auf Deutsch:

    Microsoft muss wieder über Wochen(?) aus allen Teilen der Welt richtig was auf den Sack kriegen, damit hier ein Umdenken einsetzt. Zuerst also müssen viele Firmen sich beschweren, dass sie Teams nicht nutzen können.

    Ach Microsoft …

  4. 1ST1 sagt:

    Man sieht an vielen Stellen, dass das Team, welches Teams entwickelt, nicht aus Windows-Programmierern besteht*. Die können nur Electron programmieren und umgehen damit viele Windows-Vorgaben. Neben fehlender Verschlüsselung von Tokens gehört da auch dazu, dass Teams ausführbare Dateien in c:\programdata und im Benutzerprofil ablegt/installiert. Sicherheitstechnisch ist das Programm der Horror, aber es ist so weit verbreitet und funktional, dass man kaum drumherum kommt.

    * Um so verstörender ist, dass Microsoft Teams für Linux ab Dezember nicht mehr weiter unterstützen will.

    • Anonymous sagt:

      Wer die mittelfristige Strategie von Windows 11 mit TPM Verriegelung weiterdenkt, dem wird klar, dass Linux und anderes ohne TPM generell in der IT Welt gar nicht mehr vorkommen kann/darf.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.

Du findest den Blog gut, hast aber Werbung geblockt? Du kannst diesen Blog auch durch eine Spende unterstützen.