Privilege-Escalation-Sicherheitslücken werden von kriminellen Hackern dazu genutzt, Systeme und Applikationen zu infiltrieren. Wir sagen Ihnen, was Privilege Escalation ist, wie es funktioniert und wie verbreitet die Techniken sind. Außerdem erfahren Sie, wie Sie sich und Ihr Unternehmen gegen Privilege-Escalation-Angriffe absichern können.
Privilege Escalation - Definition
Privilege Escalation (deutsch: Rechteausweitung) bezeichnet das Ausnutzen einer Sicherheitslücke, die dem (vermeintlichen) User mehr Rechte einräumt als eigentlich vom Administrator vorgesehen. Diese Schwachstellen sind für kriminelle Hacker besonders wertvoll - nicht nur, weil sie direkten Zugang zu Systemen und Applikationen ermöglichen, sondern auch, weil sie von Entwicklern und IT-Sicherheitsspezialisten leicht übersehen werden können. Generell könnte man jede Verletzung einer bewusst aufgestellten Sicherheitsrichtlinie als Rechetausweitung bezeichnen.
Rechteausweitung - Gefahrenpotenzial
Innerhalb der Security Community liegt die Aufmerksamkeit vor allem bei solchen Schwachstellen, die zur Ausführung von Code genutzt werden können - und insbesondere solchen, die eine Remote Code Execution (REC) ermöglichen. Diese Schwachstellen bleiben zwar wichtig, innerhalb der modernen Bedrohungslandschaft stehen Cyberkriminellen jedoch zahlreiche Wege offen, um Systeme zu kompromittieren. Phishing E-Mails gehören etwa zum gängigen Instrumentarium, um in Unternehmensnetzwerke einzudringen - die Nutzung gestohlener Zugangsdaten ist eine weitere populäre Methode krimineller Hacker, um das zu bewerkstelligen.
Weil der Faktor Mensch nur schwer mit technischen Mitteln unter Kontrolle zu bekommen ist, hat sich das Verteidigungs-Mindset im Lauf der letzten Jahre von Threat Prevention hin zu Threat Detection entwickelt. Zwar ist die Vorbeugung von Angriffen weiterhin wichtig, aber die strategische Planung fußt nun auf der Annahme, dass Cyberkriminelle sich sehr wahrscheinlich auf irgendeinem Weg Zugang zu den Systemen verschaffen. Die Fähigkeit, die Auswirkungen von unautorisiertem Zugriff zu minimieren, wird deswegen im Unternehmensumfeld inzwischen als ebenso wichtig begriffen wie die, unberechtigten Zugriff zu verhindern.
Die Entwickler von Betriebssystemen und Applikationen haben große Anstrengungen unternommen, um zu verhindern, dass bestimmte Memory-Corruption-Lücken ausgenutzt werden können. Daher auch die nicht enden wollenden Diskussionen über Dinge wie Least-Privilege-Prinzipien, Zero-Trust-Architekturen, Application Sandboxing, Virtualisierung, Containerisierung oder Microservices.
Eine RCE-Schwachstelle, die ausreicht, um das zugrundeliegende System umfassend zu kompromittieren, findet man in heutigen Applikationen nur noch sehr selten. Das liegt auch daran, dass Hackerangriffe heutzutage "exploit chains" erfordern, die verschiedene Schwachstellen miteinander kombinieren. Deswegen sind Privilege-Escalation-Angriffe essenziell, um moderne Applikationen und Systeme anzugreifen - und Cyberkriminelle nur oft allzu bereit, viel Geld in diese Schwachstellen zu investieren.
Privilege-Escalation-Angriffe - Beispiele
Im Fall von Betriebssystemen ist die Angriffsfläche für Privilege Escalation relativ breit: Viele Services, Driver und andere Technologien sind mit weitgehenden Zugriffsrechten ausgestattet, die zum Beispiel die Kompromittierung von Applikationen über APIs ermöglichen. Wird der Zugriff auf diese Möglichkeiten nicht richtig überwacht beziehungsweise eingeschränkt, können Cyberkriminelle das für ihre Zwecke ausnutzen.
Forscher des Sicherheitsanbieters CyberArk fanden eine Privilege-Escalation-Schwachstelle in der Windows-Gruppenrichtlinie - also einem primären Kontrollmechanismus von Windows. Die Sicherheitslücke betraf alle Windows-Versionen (ab Windows Server 2008) und war das Resultat eines unzureichenden Zugangschecks in der Richtlinien-Update-Routine. Schon zuvor hatte das gleiche Unternehmen im Rahmen eines mehrjährigen Forschungsprojekts mehr als 60 weitere Privilege-Escalation-Schwachstellen in den Produkten namhafter Anbieter ausgemacht.
Viele Probleme in Zusammenhang mit Rechteausweitung sind keine Bugs, sondern fallen in die Kategorie der Logik- oder Designfehler. Schwachstellen im Code selbst können durch die Adoption sicherer Entwicklungsmethoden verhindert werden - Logikfehler sind hingegen einem fehlenden Bewusstsein für Security-Erfordernisse und -Funktionalitäten geschuldet und lassen sich nur schwer im Nachgang korrigieren. Hier braucht es eine sogenannte "Shift-Left-Mentalität": IT-Sicherheit muss bereits in der Frühphase der Entwicklung eine tragende Rolle spielen.
Laut dem ENISA-Schwachstellenreport sind Sicherheitslücken in Zusammenhang mit Zugriffsrechten die sechsthäufigste Schwachstellenquelle überhaupt. Auch die monatlichen Security Bulletins von Microsoft kommen regelmäßig mit Patches, die Privilege-Escalation-Schwachstellen in Services und Systemtreibern patchen sollen - und auch die Treiber von Drittherstellern leiden unter einem ähnlichen Problem: Security-Anbieter Eclypsium fand entsprechende Sicherheitslücken in 40 Windows-Treibern von 20 unterschiedlichen Hardware-Herstellern. Vor nicht allzu langer Zeit deckten die Experten zudem eine Treiber-Schwachstelle in den Geräten von Diebold Nixdorf auf. Die Hardware des Unternehmens kommt in erster Linie in Geldautomaten und PoS-Kassensystemen zum Einsatz. Ein Umstand, der unterstreicht, wie hoch das Risiko im Fall von Embedded Devices ist, die über viele Jahre eingesetzt werden, aber nur schwer zu updaten sind. Dabei ist Rechteausweitung alles andere als ein Windows-exklusives Problem: Sowohl der Linux Kernel als auch diverse Linux Utilities warfen über die Jahre schwerwiegende Privilege-Escalation-Schwachstellen auf.
Eine weitere Angriffsfläche für Privilege Escalation ist das sogenannte DLL Hijacking oder auch -Preloading. Dabei versuchen Applikationen Dynamic Link Libraries (DLLs) zu laden, ohne dabei einen vollständigen Pfad zu spezifizieren. Windows durchsucht in einem solchen Fall vordefinierte Orte in einer bestimmten Reihenfolge nach den betreffenden DLLs. Kann ein Angreifer eine schadhafte DLL mit dem korrekten Namen an der richtigen Stelle einschleusen, wird diese von der Applikation geladen. Microsoft bietet inzwischen zwar umfassende Guidelines für Entwickler, um dieses Problem zu umgehen - DLL Hijacking bleibt jedoch weiterhin eine gängige Angriffsmethode von Cyberkriminellen.
- Windows 10, Version 1903
Den Editor für lokale Gruppenrichtlinien starten Sie mit dem Befehl „gpedit.msc“ im Ausführen-Dialog. - Windows 10, Version 1903
Navigieren Sie zuerst in der Computerkonfiguration zu den administrativen Vorlagen und selektieren „Alle Einstellungen“. - Windows 10, Version 1903
Um schnell herauszufinden, welche der Einstellungen benutzerdefiniert sind, klicken Sie auf die Status-Spalte. - Windows 10, Version 1903
Sind die Einträge aufsteigend sortiert, stehen die angepassten Einstellungen ganz oben. - Windows 10, Version 1903
Um eine Policy zurückzusetzen, klicken Sie doppelt darauf und weisen ihr den Status „Nicht konfiguriert“ zu. - Windows 10, Version 1903
Nun wechseln Sie über die linke Seitenleiste zur Benutzerkonfiguration und wählen auch hier in den administrativen Vorlagen „Alle Einstellungen“ aus. - Windows 10, Version 1903
Analog zur Computerkonfiguration sortieren Sie wieder nach dem Status der Einträge, sodass vorgenommene Änderungen an oberster Position erscheinen. - Windows 10, Version 1903
Wenn Sie sehr viele Änderungen auf den Default zurücksetzen wollen, eignet sich die Kommandozeile dazu besser. Starten Sie die Eingabeaufforderung als Admin. - Windows 10, Version 1903
Die Rückfrage der Benutzerkontensteuerung (UAC) beantworten Sie mit einem Klick auf „Ja“. - Windows 10, Version 1903
Mithilfe dieser drei Befehle löschen Sie die beiden Policy-Verzeichnisse und wenden die Richtlinien erneut an. - Windows 10, Version 1903
Ein anschließender Blick in den Gruppenrichtlinien-Editor zeigt, dass die Maßnahme erfolgreich war. - Windows 10, Version 1903
Bei den lokalen Sicherheitsrichtlinien findet sich im Editor keine einfache Möglichkeit, nach vorgenommenen Änderungen zu sortieren. - Windows 10, Version 1903
Daher führt kein Weg an der Eingabeaufforderung beziehungsweise alternativ der PowerShell vorbei, die Sie erneut als Administrator starten. Details zum Vorgang finden Sie anschließend in der Protokolldatei. - Windows 10, Version 1903
Im Log-File entpuppen sich nicht alle Warnungen als gravierende Fehler, etwa wenn ein bestimmter Dienst gar nicht installiert ist.
Privilege Escalation - Techniken
Eine Privilege-Escalation-Attacke kann auf lokaler oder auf Remote-Ebene erfolgen - je nachdem, welche Zugangsart dem Angreifer zur Verfügung steht. Die Angriffe können auf
Applikations-Level,
Betriebssystemebene,
Domain-Ebene
sowie auf Netzwerk-Level bzw. netzwerkübergreifend erfolgen.
Der Rechteausweitung auf Betriebssystemebene wird generell viel Aufmerksamkeit geschenkt, allerdings werden im Rahmen von Privilege-Escalation-Angriffen auch Zugangskontrollen ausgehebelt, die Angreifern ermöglichen, sich lateral durch Netzwerke zu bewegen und Domainzugriff zu erlangen. Auch fehlerhafte Konfigurationen von Cloud-Infrastruktur-Komponenten, die dazu führen, dass Applikationen oder virtualisierte Server mit höheren Rechteprivilegien ausgestattet werden als nötig, werden oft ausgenutzt.
Innerhalb eines Active-Directory-Netzwerks kann jeder Nutzer für jede Ressource innerhalb einer Domain einen Request in Form eines Service-Tickets stellen - auch wenn er nicht die nötigen Zugangsrechte besitzt. Die Tickets werden mit dem Passwort des korrespondierenden Nutzer-Accounts verknüpft - können also rein technisch nicht direkt von unautorisierten Nutzern verwendet werden. Allerdings lassen sie sich offline mit Brute-Force-Techniken knacken - so entfällt auch das Risiko, dass der Account bei wiederholter fehlerhafter Eingabe von Daten gesperrt wird.
Auf Cloud-Level liegt der gängigste Schlüssel zu einer erfolgreichen Privilege-Escalation-Attacke in unzureichend definierten IAM-Rollen. Speziell bei einer automatisierten Zuweisung von Cloud-Servern kann es unter Umständen dazu kommen, dass die Logindaten für denjenigen, der die Cloud-Instanz aufgesetzt hat, von unberechtigten Nutzern abgefragt werden können. In der Praxis bedeutet das: Ein Angreifer kann je nach Ausgestaltung der IAM-Rechte möglicherweise über eine simple Web-Application-Schwachstelle Zugriff auf die komplette Cloud-Infrastruktur eines Unternehmens erlangen.
Privilege-Escalation-Techniken lassen sich auch folgendermaßen gliedern:
Vertikale Rechteausweitung: Hierbei erschleicht sich ein Angreifer über einen bestehenden Account höhere Nutzerprivilegien, als ihm eigentlich zustehen.
Horizontale Rechteausweitung: Liegt vor, wenn ein Angreifer sich die Rechte eines anderen Users derselben Nutzergruppe verschafft, dessen Ressourcen beispielsweise besonders geschützt sind.
Rechteausweitung - Abwehrmaßnahmen
Privilege Escalation auf Betriebssystemebene kann durch gewissenhaftes Patching verhindert werden. Dabei sollte nicht nur das Betriebssystem selbst, sondern auch sämtliche Drittanbietersoftware, die auf dem System läuft, aktuell gehalten werden. Per Application Whitelisting können bestimmte Applikationen von der Nutzung ausgeschlossen werden - so reduzieren Unternehmen die Angriffsfläche. Auch die Abschaltung ungenutzter Services, Treiber oder Hardwarekomponenten ist in diesem Zusammenhang äußerst wichtig.
Der Sicherheitsanbieter CyberArk stellt eine ganze Reihe quelloffener Tools bereit, mit denen sich beispielsweise DLL Hijacking, Shadow Admins oder unsichere Kubernetes-Rechtevergaben ausfindig machen lassen. Diverse weitere Tools auf dem Markt können auch Cloud Deployments auf unsichere Konfiguration testen.
Unternehmen, die ihre Netzwerke und Cloud-Infrastruktur im Sinne des Least-Privilege-Prinzips ausgerichtet haben, sollten darüber hinaus regelmäßig externe Security-Spezialisten einbeziehen, um ihre Verteidigungsinstrumente gegen Privilege-Escalation-Angriffe im Rahmen eines Penetrationstests auf den Prüfstand zu stellen. (fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.