Ein Fehler in einem obskuren, veralteten Windows-Protokoll kann zu ernsthaften Privilegien-Eskalationsangriffen in der realen Welt führen.
Eine 20 Jahre alte Schwachstelle, die in allen Versionen von Microsoft Windows vorhanden ist, könnte es einem nicht privilegierten Benutzer ermöglichen, Code auszuführen, der ihm auf einem Zielrechner volle SYSTEM-Privilegien verleiht. Der Fehler ist aufgrund seines Aufenthaltsortes bemerkenswert: In einem veralteten, allgegenwärtigen Protokoll namens Microsoft CTF.
Der Fehler (CVE-2019-1162) wurde erstmals von Tavis Ormandy bei Google Project Zero gemeldet und wird von Microsoft als APLC-Fehler mit dem Schweregrad "wichtig" verfolgt. Ormandy berichtete Mitte Mai verantwortungsbewusst über seine Ergebnisse an Microsoft, und er gab die Einzelheiten diese Woche vor dem Patch-Dienstag-Update des Software-Riesen der Öffentlichkeit bekannt, nachdem Microsoft das Problem nicht innerhalb von 90 Tagen nach der Benachrichtigung gelöst hatte.
Die CTF ist problematisch, weil sie ohne ordnungsgemäße Authentifizierung mit anderen Windows-Diensten kommuniziert.
"Das Problem betrifft ein obskures Stück Funktionalität namens CTF, das Teil des Windows Text Services Framework ist", erklärte Richard Gold, Leiter der Sicherheitstechnik bei Digital Shadows, im Gespräch mit Threatpost. "Programme, die auf einem Windows-Rechner laufen, stellen eine Verbindung zu diesem CTF-Dienst her, der Dinge wie Eingabemethoden, Tastatur-Layouts, Textverarbeitung usw. verwaltet.
Als solches kann es auch als Brücke zwischen verschiedenen Fenstern auf einem Desktop verwendet werden. In seinem Bericht schrieb Ormandy in einem Blog-Post am Dienstag: "Vielleicht ist Ihnen der 'ctfmon'-Dienst im Task-Manager aufgefallen. Er ist dafür zuständig, Anwendungen über Änderungen des Tastatur-Layouts oder der Eingabemethoden zu benachrichtigen. Der Kernel zwingt die Anwendungen dazu, sich beim Start mit dem ctfmon-Dienst zu verbinden und dann Nachrichten mit anderen Clients auszutauschen und Benachrichtigungen vom Dienst zu erhalten.
In der anwendungsübergreifenden Kommunikation würde ein Authentifizierungsmechanismus normalerweise sicherstellen, dass privilegierte Prozesse von unprivilegierten Prozessen isoliert werden. Aufgrund fehlender Authentifizierung in CTC kann jedoch ein unprivilegiertes Programm, das in einem Fenster läuft, dieses nutzen, um sich mit einem hochprivilegierten Programm in einem anderen Fenster zu verbinden und hochprivilegierte Prozesse zu erzeugen.
"Diese verschiedenen Fenster können mit unterschiedlichen Berechtigungsstufen laufen, und es sollte einige Grenzen zwischen den Stufen geben", erklärte Dustin Childs, Manager beim ZDI von Trend Micro, in einer E-Mail an Threatpost. "Tavis hat einen Weg gefunden, zwischen verschiedenen Berechtigungsebenen über das CTF-Protokoll zu kommunizieren, das in Windows schon seit einiger Zeit existiert.
Aus technischer Sicht wird die Schwachstelle über den Input Method Editor (IME) ausgenutzt, so Todd Schell, Senior Produktmanager für Sicherheit bei Ivanti.
"Wenn Sie sich in einem System mit einer der asiatischen Sprachen anmelden, werden Sie vom IME mit einem Eingabeprofil mit erweiterten Fähigkeiten eingerichtet", erklärte er. "Das ist ziemlich schwerwiegend, weil es die Funktionen der User Interface Privilege Isolation (UIPI) des Betriebssystems umgeht.
Wenn es darum geht, was ein Angreifer in einer realen Umgebung tun könnte, "gibt es keine Zugriffskontrolle in CTF, so dass man sich mit der aktiven Sitzung eines anderen Benutzers verbinden und jede beliebige Anwendung übernehmen oder darauf warten könnte, dass sich ein Administrator anmeldet und seine Sitzung kompromittiert", erklärte Ormandy.
Zu den möglichen Angriffen, so Chris Morales, Leiter der Sicherheitsanalyse bei Vectra, gehören das Senden von Befehlen an ein erhöhtes Befehlsfenster, das Lesen von Passwörtern aus Dialogen oder das Entkommen aus Anwendungscontainer-Sandboxen durch das Senden von Daten an eine nicht eingeschlossene Anwendung. Es könnte auch von Malware verwendet werden, wenn es mit einer anderen Schwachstelle verkettet wird.
"Diese Schwachstelle ist besonders gefährlich in Domänennetzwerken, wo die Erhöhung von Privilegien es einem Angreifer ermöglichen könnte, die Kontrolle über Konten zu erlangen, die auf anderen Rechnern, die auf dem Rechner angemeldet sind, privilegiert sind, sich seitlich zu bewegen und möglicherweise die gesamte Domäne zu gefährden", fügte Roman Blachman, CTO und Mitbegründer von Preempt, im Gespräch mit Threatpost hinzu.
Diese Technik kann nur von einem lokalen Benutzer ausgenutzt werden, so dass der Angreifer eine Benutzersitzung auf dem Rechner haben muss, sagte Morales - es ist keine Technik, um einen ersten Zugriff auf einen Rechner zu erhalten, sondern um die Privilegien nach einem erfolgreichen Eindringen zu erhöhen.