Privilege Escalation-Schwachstelle in der Windows-Shell

[English]Heute noch ein Thema, welches schon etwas länger hier bei mir auf der Agenda steht. In der Shell von Windows gibt es eine Privilege Escalation-Schwachstelle, die einem lokalen Angreifer die Ausweitung von Nutzerrechten ermöglicht. Ist aber recht schwierig und nur lokal auszunutzen.


Anzeige

Erinnerungsmäßig ist das nie breiter thematisiert worden. ich bin über den nachfolgenden Tweet von Jonas L, der schon einige Schwachstellen in Windows aufgedeckt hat, auf das Thema gestoßen.

Das Ganze ist in diesem Google Docs-Dokument skizziert. Wenn der Benutzer das Profilbild eines Benutzerkontos ändert, löst DCOM einen Aufruf des Shell Create Object Task Server als System aus und schreibt das neue Bild nach C:\users\public\AccountPictures. Eine Ausnutzung dieser Schwachstelle zur lokalen Privilegien-Erhöhung erwies sich aber als schwierig, schreibt der Entdecker. Nachdem er bereits drei Mal gescheitert war, fand er doch noch einen Trick, der zum Ziel führte. Der Ansatz basiert auf den Hinweisen von  James Forshaw und kann hier nachgelesen werden.

Im Wesentlichen geht es darum, wie man einen Pfad im NT-Objekt-Namensraum bastelt, der so lange als möglich zum Parsen benötigt. Wird das Bild des Benutzerkontos geändert, löst dies verschieden Dateiaktionen im Pfad c:\users\public\AccountPictures) aus:

\AccountPictures\S-1-5-21-2781542633-746229175-3265460138-1001

Is checked if it redirects to another path.


\S-1-5-21-2781542633-746229175-3265460138-1001\{2E84DAF4-572D-4F17-A374-336A1E77E9B6}-Image96.jpg

Is created, notice that the filename contains an random GUID


\S-1-5-21-2781542633-746229175-3265460138-1001\{2E84DAF4-572D-4F17-A374-336A1E77E9B6}-Image96.tmp

Is created


\S-1-5-21-2781542633-746229175-3265460138-1001\~2E84DAF4-572D-4F17-A374-336A1E77E9B6}-Image96.tmp

Is created and the calling user is granted full permission to the file.


\S-1-5-21-2781542633-746229175-3265460138-1001\{2E84DAF4-572D-4F17-A374-336A1E77E9B6}-Image96.jpg~RFb1bdf30.TMP

Is created

Dann wiederholt sich der Vorgang für Image32 statt image96 und weiter geht es mit 192, 40, 448, 32 ,48 ,240 ,96. Wenn ein Angreifer es schafft, die Datei, auf die der aufrufende Benutzer volle Berechtigung hat, an einen anderen Ort und Dateinamen umzuleiten, kann er eine sideloading dll in system32 einschleusen und so eine eigenen Nutzlast platzieren.

In diesem Google Docs-Dokument wird von Jonas L. skizziert, wie man den Namen der Datei herausfinden und in einem Proof of Concept (PoC) ausnutzen kann. Es ist keine kritische Schwachstelle, da die Ausnutzung sehr aufwändig auszunutzen ist und die Mitarbeit des Benutzers erfordert (dieser müsste sein Benutzerkontenbild ändern). Die Episode zeigt aber, dass der Teufel oft im Detail lauert.


Cookies blockieren entzieht uns die Finanzierung: Cookie-Einstellungen

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

Eine Antwort zu Privilege Escalation-Schwachstelle in der Windows-Shell

  1. 1ST1 sagt:

    Ich hoffe, Jonas L hat diese Schwachstelle auch an Microsoft gemeldet, und dann 90 Tage gewartet, bis er sie veröffentlicht.

Schreibe einen Kommentar zu 1ST1 Antworten abbrechen

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.