InfoGuard AG (Hauptsitz)
Lindenstrasse 10
6340 Baar
Schweiz
InfoGuard AG
Stauffacherstrasse 141
3014 Bern
Schweiz
InfoGuard Deutschland GmbH
Landsberger Straße 302
80687 München
Deutschland
Unser Partner Vectra veröffentlichte unlängst einen Artikel, der beschreibt, dass Angreifer unter gewissen Umständen Zugriff auf die Authentisierungstokens von Teams-Accounts erhalten. Da es dazu seitens unserer Kunden viele Fragen gab, haben wir uns entschlossen, die wichtigsten Informationen in einem Blogartikel zusammenzufassen und zu bewerten.
Die Teams-Desktop-Applikation ist wie auch viele andere Applikationen heutzutage unter Verwendung eines Frameworks namens «Electron» entwickelt worden. Electron erlaubt es, Anwendungen einmal zu entwickeln und auf Plattformen wie Windows, Mac OS oder Linux gleichermassen laufen zu lassen. Das minimiert den Aufwand und erhöht die Reichweite einer Anwendung. Andere prominente Beispiele für Electron-basierte Applikationen sind 1Password, Slack, Signal und WhatsApp in den jeweiligen Desktop-Versionen. Die Verwendung von Electron ist nicht per se gefährlich, jedoch sind Electron-Applikationen wesentlich einfacher zu analysieren als klassische Programme.
Diesen Umstand haben sich Vectra-Forschende zunutze gemacht und die Microsoft-Teams-Applikation genauer unter die Lupe genommen. Wie Teams-Benutzern bekannt sein dürfte, muss man sich üblicherweise nicht jedes Mal neu einloggen beim Öffnen der Applikation. Das funktioniert, da der Teams-Server beim Einloggen ein Token generiert, welches für alle zukünftigen Anfragen an den Teams-Server bis zum Ablauf oder dem Invalidieren des Tokens durch Logout durch diesen Token legitimiert werden. Natürlich muss die Teams-Applikation diesen Token persistent speichern, um auch nach einem Neustart kein erneutes Login zu benötigen. Die Vectra-Forschenden fanden heraus, dass dies in Form einer LevelDB-Datenbank geschieht, die auf der Festplatte der Benutzer gespeichert wird. Dazu muss man wissen, dass Electron-Applikationen eigentlich Web-Applikationen sind, welche in einem lokalen Chromium-Browser laufen. Die von Vectra identifizierte Datenbank ist die Cookie-Datenbank eben dieses eingebetteten Browsers. Bei Durchsuchung dieser Datenbank nach dem Wort «token» wurde man schnell fündig.
Die durch das beschriebene Verfahren extrahierten Tokens geben Zugriff auf alle Teams-Services, die dem legitimen Besitzer des Tokens zur Verfügung stehen. Bei Einsatz des Tokens ist keine neuerliche Authentisierung notwendig. Das bedeutet, dass dadurch auch effektiv die Multifaktor-Authentisierung ausgehebelt wird.
Laut den Angaben der Forschenden war mit dem Token der Zugriff nicht nur auf die Teams-spezifischen sondern auch auf die Outlook-APIs möglich. Das dürfte aber nur dann funktionieren, wenn Outlook auch in M365 genutzt wird. Es ist unklar, ob auch auf Sharepoint zugegriffen werden kann, da dieser Service häufig zum Dateienaustausch bei Teams-Chats verwendet wird.
Vectra beschreibt verschiedene Angriffsszenarien. Wir von InfoGuard beschreiben Angriffe üblicherweise anhand der Cyber Kill Chain. Um den beschriebenen Sachverhalt auszunützen, muss man bereits Zugriff auf das Dateisystem des Rechners haben, auf welchem die Teams-Applikation installiert ist. Das bedeutet, dass wir uns bereits in einer späteren Angriffsphase befinden. Die potentielle Lücke eignet sich also nicht für einen Erstangriff.
Mögliche Szenarien sind, dass gängige Credentials Stealer – also Malware, die durch bösartige E-Mails oder manipulierte Programme verbreitet werden – sehr schnell auch nach den beschriebenen Tokens Ausschau halten. Dies ist auch jener Punkt, den wir für das grösste Problem halten. Während wir Credentials Stealer nicht besonders häufig auf Unternehmens-PCs finden, kommen sie auf privaten PCs, auf welchen oft die Sicherheitseinstellungen sowie der sichere Umgang mit dem Gerät eingeschränkt sind, wesentlich häufiger vor. Speziell in den letzten zwei Jahren ist davon auszugehen, dass häufig auch für Teams-Anwendungen, die für die Unternehmenskommunikation genutzt werden, auf privaten PCs landeten.
Ein möglicher Angriffspfad ist also, dass valide Teams-Tokens von einem Computer durch einen Credentials Stealer entwendet werden. Der Angreifer kann diese dann nutzen, um die digitale Identität des Benutzers im Teams-Umfeld zu übernehmen. Dieser Umstand kann dann zu Informationsabfluss führen aber auch gezielt eingesetzt werden, um andere Mitarbeitende durch die Vertrauensstellung zu gefährlichen Taten zu verleiten.
Das besonders gefährliche, von Vectra beschriebene Szenario der Übernahme eines Accounts eines hochrangigen Mitarbeitenden bedingt natürlich, dass der Token genau vom Computer dieser Person gestohlen wird. Dies minimiert somit zu einem gewissen Grad die Angriffsfläche.
Weiter wird beschrieben, dass der Zugriff auf das Dateisystem auch entfernt erfolgen kann. Das ist prinzipiell korrekt. Wenn jedoch Angreifer im Unternehmensnetz bereits die Möglichkeit haben, auf die Dateisysteme fremder PCs zuzugreifen, wird das Teams-Token möglicherweise nicht das akuteste Problem sein. In dem Fall haben die Angreifer nämlich bereits zumindest einen hochrangigen Account unter Kontrolle.
Ein weiteres absehbares Szenario ist, dass Malware breit gestreut wird, Tokens extrahiert und diese noch vom betroffenen PC ausnutzt, um Anrufe zu Premium-Nummern zu generieren. Dies wäre eine direkte Verwertung der potentiellen Lücke in der Breite.
Nicht zuletzt beschreibt Vectra, dass das Extrahieren der Daten aus dem Arbeitsspeicher aufwändiger ist und dadurch die beschriebene Lücke eine wesentliche Erleichterung für Angreifer darstellt. Aus unserer Sicht ist dies nicht der wesentliche Punkt, da Versuche zeigen, dass die Extraktion aus dem Arbeitsspeicher genauso einfach ist, wenn man weiss, wonach man sucht. Das kann auch einfach mit Werkzeugen wie bulk_extractor ausprobiert werden.
Grundsätzlich ist es also so, dass zu vielen Zeitpunkten Tokens in Dateisystemen und vor allem im Arbeitsspeicher abrufbar sind. Das ist nicht neu und lässt sich auch nur bedingt eindämmen. Insofern ist es gut, dass es sich hier nicht um einen Sachverhalt handelt, der einen Primärangriff zulässt.
Wenn Sachverhalte wie dieser veröffentlicht werden, ergeben sich natürlich immer Fragen: Was bedeutet das? Muss etwas gemacht werden? Und falls ja, was?
Die erste Information in diesem Zusammenhang ist, dass Microsoft aktuell keinen Patch zur Verfügung stellt. Die Vectra-Forschenden schlagen vor, die Tokens in verschlüsselter Form zu speichern. Leider funktioniert dies nur begrenzt. Zur Benutzung des Tokens müsste es wieder entschlüsselt werden. Dazu muss das System die Schlüssel vorhalten. Im Endeffekt erhöht man die Komplexität, was schon mal ein Anfang ist. Die Empfehlung an Entwickler, die Keytar Library, zu verwenden, macht insofern Sinn; aber auch das kann in diesem Fall sehr einfach umgangen werden, da der Zugriff an das Applikationsframework gebunden ist und Angreifer das auch nutzen können. Das Problem mit dem sicheren Speichern von Credentials auf Systemen, die diese auch unverschlüsselt benutzen müssen, ergibt sich auch an anderen Stellen in Windows-Systemen. Wer sich näher dafür interessiert, kann sich mit LSA Secrets beschäftigen.
Eine weitere Empfehlung von Vectra – die in vielen beschrieben Szenarien ins Leere geht – ist, lieber die Teams-Web-Applikation anstelle der installierten Applikation zu nutzen. Sobald aber webbasierte Software verwendet wird, befindet man sich in den eigentlichen Jagdgründen von Credentials Stealern und entsprechende Tokens können erneut abfliessen.
Aus unserer Sicht gibt es aktuell keine gut geeignete technische Lösung. Es kann zwar überlegt werden, die Lebenszeit der Tokens zu reduzieren, was zu wesentlich mehr Anmeldungen für Mitarbeitende führt. Letzten Endes hilft das aber auch nur begrenzt, wenn der Sachverhalt, der den Zugriff auf die Tokens zulässt (z.B. Credentials Stealer), weiter vorliegt.
In Bezug auf potentiellen CEO-Fraud innerhalb des Unternehmens kann gesagt werden, dass auch vor dem Bekanntwerden des beschriebenen Sachverhalts vermeintlich die Position eines leitenden Mitarbeitenden eingenommen werden konnte – und das auch tagtäglich passiert. Dies kann durch gefälschte E-Mails oder auch durch gefälschte Telefonnummern passieren. Diese Varianten benötigen wesentlich weniger Zugriff auf das Unternehmen als die hier beschriebene.
Wir raten: Nicht in Panik ausbrechen, sondern das Problem an der Wurzel packen. Das bedeutet, illegalen Zugriff auf Rechner verhindern oder zumindest schnell detektieren. Üblicherweise hat eine derartige Detektion sowieso den Passwortwechsel für den betroffenen Benutzer zur Folge, was automatisch auch das Token invalidiert.
Sie haben weitere Fragen? Kontaktieren Sie uns! Ich und meine Kolleg*innen helfen Ihnen gerne.