Kein Zero-Day mehr: Windows-Fehler wird behoben

0patch hat einen vorläufigen Micropatch für den gefährlichen LPE-Bug von SandboxEscaper veröffentlicht, während wir auf den offiziellen Patch von Microsoft warten.

Der Zero-Day-Bug der lokalen Privilegien-Eskalation (LPE) im Microsoft Task Scheduler, der Ende Mai von SandboxEscaper auf Twitter bekannt gegeben wurde, indem ein voll funktionsfähiger Exploit veröffentlicht wurde, hat jetzt einen Micropatch. Die vorläufige Korrektur von 0patch wurde am Dienstag veröffentlicht, um die Sicherheitslücke zu beheben. Der Fehler würde es LPE ermöglichen, über den Import von Legacy-Tasks aus anderen Systemen in das Taskplaner-Dienstprogramm.

Mitja Kolsek, Mitbegründer von 0patch und CEO von Arcos Security, erklärte Threatpost, dass der Fehler (den er nach dem Blog-Titel von SandboxEscaper, der sich auf den Eisbären bezieht, "BearLPE" nannte) in den meisten Fällen ein typischer LPE-Fehler ist; er ermöglicht es einem Benutzer mit niedrigen Berechtigungen auf dem Computer, jede Datei, einschließlich der ausführbaren Systemdateien, beliebig zu ändern.

"Da diese in einem hochprivilegierten Kontext ausgeführt werden, kann der Code des Angreifers ausgeführt werden und den Angreifer beispielsweise zum lokalen Administrator befördern oder eine verdeckte Persistenz auf dem Computer erreichen", sagte Kolsek.

Es ist jedoch mehr als das. Während eine erfolgreiche Ausnutzung voraussetzt, dass der Angreifer einen gültigen Benutzernamen und ein gültiges Passwort auf dem Zielcomputer kennt (was eine gewisse Erkundung oder eine glückliche Vermutung der Anmeldedaten eines Windows-Domänenbenutzers erfordert), gibt der Angriff einem Gegner Zugriff auf hochprivilegierte Dateien, über die normalerweise nur SYSTEM und TrustedInstaller verfügen. Es könnte auch realistischerweise mit vergleichsweise häufigeren und billigeren Exploits für den Fernzugriff verkettet werden, so die Forscher gegenüber Threatpost - was es zu einem potenziell sehr gefährlichen Fehler macht.

Der Micropatch behebt das Problem, indem er einen Remote Procedure Call (RPC) namens "SchRpcSetSecurity" unterbindet. Der ursprüngliche Exploit funktioniert durch einen RPC-Aufruf an "SchRpcRegisterTask", der durch den Taskplaner-Dienst offengelegt wird. Bei der Optimierung dieser Funktion zur Vereitelung des Exploits entdeckte 0patch jedoch, dass ein Aufruf an die ebenfalls offengelegte "SchRpcSetSecurity" erfolgt, wenn der ursprüngliche Aufruf an "SchRpcRegisterTask" fehlschlägt - was SandboxEscaper als eine Art Backup-Mechanismus verwendet, um eine erfolgreiche Ausnutzung sicherzustellen.

"Es sah so aus, als ob ein Überwachungs-Thread verwendet wurde, um die Arbeit zu erledigen, als der ursprüngliche Aufruf fehlschlug, aber dieser Thread wurde nicht über RPC aufgerufen, und die Client-Imitation konnte dort nicht verwendet werden", erklärte Kolsek in einem Posting am Dienstag. "Wir entschieden uns daher für einen drastischeren Ansatz und amputierten einfach den Aufruf an SetSecurity... danach bekamen wir das gewünschte Verhalten." Er fügte hinzu: "Da wir die schedsvc.dll nicht einmal angefasst haben, war die neue (nicht-alltägliche) Taskplaner-Funktionalität überhaupt nicht betroffen.

Der Micropatch ist nur für Windows 10-Rechner verfügbar - aber dafür gibt es einen Grund.

"Während Windows 8 diese Schwachstelle noch immer enthält, ist die Ausnutzung mit der öffentlich beschriebenen Technik in unseren Tests auf Dateien beschränkt, auf die der aktuelle Benutzer Schreibzugriff hat", sagte Kolsek. "Daher scheinen die Auswirkungen auf Windows 8-Systeme, die die von der öffentlichen Ausnutzung verwendete Technik verwenden, vernachlässigbar gering zu sein. Wir konnten die Schwachstelle auf Windows 7-Systemen nicht nachweisen."

Der Exploit für die Schwachstelle war der erste in einer Reihe von kürzlich erfolgten Exploits von SandboxEscaper, die sagte, dass sie diese Art von Waffen für 60.000 Dollar an nicht-westliche Käufer verkaufen möchte (zum Zeitpunkt dieses Schreibens wurde der Exploit-Code aus Github entfernt). Kurz nachdem sie den BearLPE-Exploit öffentlich gemacht hatte, veröffentlichte sie drei weitere sowie einen Exploit für einen Windows Internet Explorer-Bug. Von diesen arbeitet 0patch nur an einem Fix.

"'Angrypolarbearbug2' ist kein 0day, da er bis Mai 2019 durch Windows Updates behoben wurde", sagte ein Sprecher per E-Mail. "InstallerBypass - wir waren nicht in der Lage, ihn zu reproduzieren und wissen, dass niemand erfolgreich war (es könnte einfach sehr schwierig sein, ihn zu reproduzieren oder von einigen externen Faktoren abhängen, die in unserer Testumgebung nicht vorhanden waren); und 'sandboxescape', das wir reproduzieren konnten, das wir aber nicht als kritisch genug für Micropatching betrachten.

Der vierte ist ein Bypass-Bug, den 0patch verifizieren konnte und der auf Micropatching hin analysiert wird. Es handelt sich dabei um eine Umgehung eines zuvor veröffentlichten Patches, der einen Windows-Fehler bei der Überschreibung von Berechtigungen und der Eskalierung von Privilegien behebt (CVE-2019-0841). Der Fehler existiert, weil der Windows AppX Deployment Service (AppXSVC) unsachgemäß mit Hardlinks umgeht.

SandboxEscaper hat in der Vergangenheit voll funktionsfähige Windows-Null-Tage veröffentlicht. Im August letzten Jahres hat sie einen weiteren Fehler im Taskplaner auf Twitter bekannt gegeben, der nur zwei Tage nach der Enthüllung schnell in einer Spionagekampagne in freier Wildbahn ausgenutzt wurde.

Im Oktober veröffentlichte SandboxEscaper einen Exploit für den so genannten "Deletebug"-Fehler, der in Microsofts Data Sharing Service (dssvc.dll) gefunden wurde. Und gegen Ende 2018 bot sie zwei weitere an: Den "angrypolarberbug", der es einem lokalen unprivilegierten Prozess erlaubt, jede beliebige Datei auf dem System zu überschreiben; und eine Schwachstelle, die es einem unprivilegierten Prozess, der auf einem Windows-Computer läuft, erlaubt, den Inhalt einer beliebigen Datei zu erhalten - selbst wenn die Berechtigungen für eine solche Datei keinen Lesezugriff erlauben.