Kurzanalyse des Windows Privilege Escalation Exploit

Kurzanalyse des Windows Privilege Escalation Exploit

von Pascal Schaufelberger
Lesezeit: 9 Minuten

Am 15. Mai 2013 hat Tavis Ormandy, ein bei Google angestellter Sicherheitsexperte, Informationen zu einer möglichen Schwachstelle im Windows Kernel in seinem Blog veröffentlicht. Details dazu finden sich ebenfalls in unserer Verwundbarkeitsdatenbank. Der Finder einer Schwachstelle hat immer mehrere Möglichkeiten mit selbiger umzugehen:

Natürlich erhöht so ein Full Disclosure auch das Risiko dass die Schwachstelle für kriminelle Zwecke missbraucht wird. Tja, in diesem Fall hat der Finder den Weg des Full Disclosure gewählt. Zusammen mit progmboy, ein versierter Programmierer, hat Tavis einen Proof of Concept (PoC) Exploit erstellt und veröffentlicht. Der Code zu diesem Exploit ist ebenfalls frei im Internet verfügbar.

Kurzanalyse der Schwachstelle und PoC

Auf verschiedenen Webseiten, unter anderem auf heise.de, wurden Artikel über die Schwachstelle und dessen Exploit veröffentlicht. Ebenfalls sind auf der Full Disclosure Mailinglist alle Informationen über die Schwachstelle wie auch der Code des PoC ersichtlich.

Eine Zusammenfassung der veröffentlichten Informationen sieht in etwa so aus:

Der veröffentlichte Code des PoC wurde in C++ geschrieben und kann ohne Änderungen kompiliert werden. Das Ziel des PoC ist es, ein Command Prompt Fenster zu erhalten, welches unter den Rechten von SYSTEM ausgeführt wird.

Der erfolgreich ausgeführte Exlpoit

Für eine erfolgreiche Ausführung muss der Exploit mehrmals gestartet werden. Mehrmals heisst hier, dass es schon mal vorkommen kann, dass auch nach dem hundertsten Start ein Erfolg ausbleibt. Ebenfalls ist es während des Tests auch einige Male vorgekommen, dass das System nicht mehr reagierte oder so instabil wurde, dass es sich mit einem BlueScreen verabschiedete. Dies verwundert eigentlich nicht, immerhin handelt es sich ja um eine Memory Corruption Schwachstelle.

Der PoC wurde von mir auf allen 32bit und 64bit Windows Versionen getestet, welche seit Windows XP/2003 von Microsoft herausgebracht wurden. Einzig auf folgenden 32bit Systemen ist der Code ohne Anpassungen lauffähig:

Ebenfalls muss das Software Paket Visual C++ Redistributable for Visual Studio von Microsoft auf dem Rechner installiert sein, damit das Programm ausgeführt werden kann.

Einsatz des Exploits

Mit dem bekannten und für jedermann zugänglichen PoC Code stehen Systeme, welche ein interaktives Login anbieten, zuoberst auf der Liste der gefährdeten Ziele. Hierbei spielt es keine Rolle, ob es sich um ein lokales Endgerät, eine Citrix XenApp Sitzung oder Remote Desktop Verbindung handelt. Wobei natürlich gerade ein Citrix XenApp Server ein hervorragendes erstes Angriffsziel abgibt.

Die erste Frage, die sich hier aber stellt ist ob überhaupt noch Windows 2008 32bit Systeme mit Citrix XenApp im Einsatz sind. Die meisten Installationen sind heutzutage 64bit und für selbige müsste der Code angepasst werden. Somit ist der PoC Exploit, gepaart mit zusätzlichen Angriffsvektoren (z.B. Social Engineering), vor allem für 32bit Endgeräte und deren Windows Domäne gefährlich.

Die Rechteausweitung im Taskmanager

Jetzt gibt es aber viele begabte Programmierer auf dieser Welt und wie in allen Berufen gibt es auch da nicht nur nette. Schnell ist einem klar, dass die Funktionen, welche im PoC Exploit gebraucht werden, in Bibliotheken abgelegt sind, welche sogar von einem Gast Benutzer aufgerufen werden dürfen. Folgende DLLs werden benötigt:

Diese Bibliotheken können nicht nur von einem in C++ geschriebenen Programm aufgerufen werden, sondern von jeglichem auf einem Windows Rechner ausführbaren Programm. Dies beinhaltet auch interpretierten Code wie Java und VBA. Ich bin mir sicher dass der eine oder andere Tüftler den PoC Code schon am Umschreiben und/oder Verbessern ist.

Schutzmassnahmen

Hier wird es sehr trickreich. Vor allem möchte ich die Angreifer in zwei Gruppen teilen:

So, wie wehre ich mich nun gegen den PoC Code? Zu meinem Erstaunen hat sich beim ersten Ausführen der lokal installierte Virenscanner gemeldet und das Ausführen mit einer Warnmeldung verzögert. Hier wurde nicht der Pattern-basierte Scanner aktiv, sondern wurde beim Ausführen in der Sandbox (Umgebung, in der eine Applikation ausgeführt wird um zu schauen was selbige macht) erkannt, dass das Programm auf heikle Systemdateien zugreift. Viele Virenscanner bieten eine Sandbox oder ein ähnliches Verfahren an.

Nach dem Deaktivieren des Virenscanners waren aber keine anderen Schutzmassnahmen auf dem System vorhanden. Hier würde sich nun eine Software Restriction Policy oder eine AppLocker Policy anbieten. In Windows 8 und Server 2012 sind weitere Massnahmen standartmässig aktiv, welche ein Ausführen von unsignierten Applikationen verhindern kann.

Sich gegen den Angriff mit geändertem Code zu wehren, wird ein bisschen schwieriger. Vor allem wenn der Code interpretiert wird. Ich habe mir eine Liste zusammengestellt, was es zu beachten gibt und was für Massnahmen es gibt:

Diese Liste ist nicht als abschliessend zu betrachten, sondern sollte mehr als Gedankenanregung dienen. Ziel sollte es sein, alles ausführen zu dürfen, was nötig ist und alles andere zu verbieten. Dieses Ziel ist natürlich nicht ganz einfach zu erreichen. Vor allem bei grösseren und komplexen Umgebungen kann es mit viel Aufwand verbunden sein.

Fazit

Ein einzelnes Allheilmittel gibt es, wie in den meisten Fällen, auch hier nicht. Doch man steht dem Problem nicht hilflos gegenüber. Man kann sich mit Windows On-Board Mitteln schon relativ gut gegen die Bedrohung zur Wehr setzen. Unterstützt durch das eine oder andere Software-Produkt, kann man das Risiko auf ein Minimum reduzieren. Wenn man sich schon seit längerem nicht mehr mit dem Hardening der Systeme befasst hat, wäre jetzt sicher eine gute Gelegenheit, die Systeme zu prüfen und gegebenenfalls Massnahmen zur Erhöhung der Sicherheit zu ergreifen.

Über den Autor

Pascal Schaufelberger ist seit 2003 im Bereich der Informationssicherheit tätig. Seine Schwerpunkte liegen im Engineering, wobei er sich hauptsächlich im Bereich OS-Security, Remote Access, Firewalling und Virtualisierung bewegt.

Links

Haben Sie Interesse an einem Penetration Test?

Unsere Spezialisten kontaktieren Sie gern!

×
Security Testing

Security Testing

Tomaso Vasella

Active Directory-Zertifikatsdienste

Active Directory-Zertifikatsdienste

Eric Maurer

Fremde Workloadidentitäten

Fremde Workloadidentitäten

Marius Elmiger

Active Directory-Zertifikatsdienste

Active Directory-Zertifikatsdienste

Eric Maurer

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv