Von Steffen Broßler auf Donnerstag, 10. September 2020
Kategorie: System Integration

Privilege Escalation: Das Recht nehme ich mir!

Privileg Escalation (dt. Rechteausweitung") beschreibt eine Angriffsmethode, bei der ein Angreifer (nachdem er auf dem Rechner/Server seines Opfers eingebrochen ist) sich umfassendere Rechte beschafft. So kann es sein, dass ein Angreifer nach einem erfolgreichen Angriff zwar einen Kommandozeilenzugriff auf das Opfersystem hat, aber nur mit lokalen, eingeschränkten Rechten arbeiten kann. Durch Privilege-Escalation-Techniken erreicht der Angreifer dann Administrator- bzw. Root-Rechte, um seinen Angriff fortzusetzen.

Man unterscheidet grundsätzlich zwischen zwei Arten der Rechteausweitung: Horizontal und vertikal.

Bis zum Horizont und viel weiter.

Von einer horizontalen Rechteausweitung spricht man, wenn der Angreifer auf die Daten eines anderen Benutzers zugreifen kann. Sprich: Er erlangt keine „höheren" Rechte, sondern kann nur auf die Daten anderer, im Grunde gleichberechtigter Personen/Accounts zugreifen. Die vertikale Rechteausweitung meint hingegen eine Steigerung der Berechtigungen, also die Erlangung „höherer" Rechte, was meist dazu führt, dass der Angreifer statt der eingeschränkten Rechte des „normalen" Benutzers nun beispielsweise zusätzlich Administratorrechte erhält. 

In diesem Artikel wird hauptsächlich über die vertikale Rechteerweiterung gesprochen, wobei die Techniken teils analog auch für das „horizontal privilege escalation" verwendet werden können.

Der Angriff: Jede Reise beginnt mit dem ersten Schritt.

Um einen Privilege-Escalation-Angriff durchzuführen benötigt der Angreifer zunächst Zugriff auf das System. Das heißt, es geht immer eine Phase der „Zugriffsbeschaffung" voraus. Dies kann zum Beispiel über eine Remote-Code-Execution- (RCE-) -Attacke auf den Webserver erfolgen oder über die Ausnutzung einer Sicherheitslücke in einem Serverdienst.

Nachdem der Hacker auf dem System ist, wird er versuchen, seine eingeschränkten Rechte auszuweiten, um Befehle als „root"-/Administratorbenutzer ausführen zu können. Eine solche Rechteausweitung wird meist als Vorbereitung für den „eigentlichen" Angriff durchgeführt, bei dem der Angreifer dann versuchen wird, Daten zu stehlen, zu kompromittieren oder ähnliches.

Angriffsszenarien - Oder viele WegE führen nach Rom:

Ein Angreifer hat verschiedene Möglichkeiten, seine Rechte zu erhöhen, wenn er Zugang zum System hat. So bot ein Fehler im Linux-Kernel 2.6.22 (aus dem Jahr 2006!) bis in die zweite Jahreshälfte 2016 die Möglichkeit, mit wenig Aufwand über eine Schwachstelle namens „Dirty-Cow" seine eingeschränkten Rechte auf einem Linux System kurzzeitig auf „root" zu erweitern. Ein anderes Angriffsszenario entsteht aus der schlechten Verwendung des set-uid-Bits. Dies bewirkt, dass eine Datei mit den Rechten der Person ausgeführt wird, der diese Datei gehört. Darf nun der Benutzer www-data eine Datei ausführen, die dem Benutzer root gehört und die das Set-UID-Bit gesetzt hat, wird das Programm als root ausgeführt und hat damit wiederum volle Rechte. Dadurch können z.B. via Shell-Escape aus vi oder less wiederum Kommandos abgesetzt werden, durch welche der Angreifer etwa Benutzer anlegen oder Berechtigungen ändern kann.

Ein Buch mit tausend Seiten

Der Schaden durch eine Privilege Escalation hat zahlreiche Facetten. Da der Angreifer im Nachgang alle Möglichkeiten auf dem betroffenen System hat, sind alle Schutzziele betroffen, denn mit root-Rechten sind dem Angreifer keine Grenzen gesetzt. So können mit root-Rechten alle Netzwerkverbindungen belauscht werden, Konfigurationen von Diensten und Benutzer geändert werden, Daten gefälscht werden usw. Meist wird eine solche Rechteausweitung zur Vorbereitung eines konkreten Angriffs eingesetzt.

Schutzmaßnahmen: Immer schön fresh bleiben

Eine zuverlässige Möglichkeit sich vor aller Art Sicherheitslücken zu schützen stellen regelmäßige Softwareupdates und ein geregeltes Patch-Management dar. Denn nur dann können Sicherheitspatches ihren Zweck vollumfänglich ausüben. Auch ein strenges Berechtigungsmanagement auf dem OS schützt vor einer Privilege Escalation. Programme sollten nur mit den nötigen Rechten ausgeführt werden und Gruppen oder gesetzte Ausführungs-Bits sollten unbedingt vermieden werden.

 Zusammenfassung:

Bestandteil der meisten größeren Angriffe sind Privilege-Escalation-Komponenten, denn bei den wenigstens Systemen gelingt dem Hacker direkt der Zugriff als „root". Dadurch lohnt es sich auch, einige Energie in die Härtung und Absicherung von Systemen vor dieser Angriffsart zu investieren. Denn wenn der Angreifer erst „root" ist, kann er mehrere Sicherheitssysteme deaktivieren oder Logdateien fälschen und den Angriff unbemerkt weiter fortsetzen.

In diesem Artikel haben wir neben den entstehenden Gefahren auch einige Absicherungsmethoden gesehen.

Kommentare hinterlassen