Schwachstelle in Azure Functions ermöglicht Privilegien-Eskalation

Cyber Security News

Microsofts Cloud-Container-Technologie erlaubt es Angreifern, direkt in Dateien zu schreiben, so Forscher.

Eine Privileg-Eskalations-Schwachstelle in Microsofts Cloud-Container-Funktion Azure Functions könnte es einem Benutzer ermöglichen, aus dem Container auszubrechen, so die Forscher.

Die Intezer-Forscher nannten den Fehler “Royal Flush” nach einer Flush-to-Disk-Beschränkung, die ein Exploit umgehen müsste. Flushing-to-Disk bedeutet, dass die Daten an den Kernel weitergegeben werden, wo sie für andere Prozesse sichtbar sind, aber möglicherweise einen Neustart nicht überleben.

Das Unternehmen fand heraus, dass Azure Functions-Container mit dem Docker-Flag -privileged laufen, was bedeutet, dass Gerätedateien im Verzeichnis /dev zwischen dem Docker-Host und dem Container-Gast freigegeben werden können. Die Schwachstelle ergibt sich aus der Tatsache, dass diese Gerätedateien Lese- und Schreibrechte für “Andere” haben.

“Die laxen Berechtigungen für die Gerätedateien sind kein Standardverhalten”, heißt es in der Analyse, die am Donnerstag veröffentlicht wurde.

Das Problem wird zum Problem, wenn man bedenkt, dass die Azure Functions-Umgebung 52 verschiedene Partitionen mit Dateisystemen enthält, die für alle Benutzer sichtbar sein können, so Intezer.

“Wir vermuteten, dass diese Partitionen zu anderen Azure Functions-Clients gehörten, aber eine weitere Prüfung zeigte, dass diese Partitionen nur gewöhnliche Dateisysteme waren, die vom gleichen Betriebssystem verwendet wurden, einschließlich pmem0, das das Dateisystem des Docker-Hosts ist”, erklärten die Forscher. “Wenn ein Benutzer in der Lage ist, zu Root zu eskalieren, wäre er in der Lage, mithilfe verschiedener Docker-Escape-Techniken auf den Docker-Host zu gelangen.”

Royal Flush Cloud-Container Exploit

Um nach Angriffspfaden zu suchen, die sich aus diesem Setup ergeben könnten, erstellten die Forscher einen lokalen Test-Container. Sie fanden heraus, dass ein unprivilegierter Benutzer mit dem Dienstprogramm Debugfs (ein spezielles Dienstprogramm zum Debuggen des Linux-Kernels, mit dem der Zustand eines Dateisystems untersucht und geändert werden kann) problemlos das Azure Functions-Dateisystem durchqueren kann. Und es stellt sich heraus, dass ein unprivilegierter Benutzer auch alle darin befindlichen Dateien direkt bearbeiten kann.

“Zunächst haben wir versucht, den Inhalt der Datei mit dem zap_block-Befehl zu bearbeiten, indem wir den Inhalt von Dateisystemblöcken direkt editiert haben”, heißt es in der Analyse. “Intern behandelt der Linux-Kernel diese Änderungen an der *Gerätedatei* /dev/sda5, und sie werden an einem anderen Ort zwischengespeichert als Änderungen an der *regulären Datei* /etc/passwd. Infolgedessen ist es erforderlich, die Änderungen auf die Festplatte zu flushen, aber dieser Flush wird vom Dienstprogramm Debugfs durchgeführt.”

Die Forscher konnten jedoch einen Weg finden, diese Einschränkung bei direkten Änderungen an Dateien zu umgehen.

“Zuerst haben wir einen harten Link über Debugfs in das diff-Verzeichnis unseres Containers erstellt, damit Änderungen in unseren Container ausstrahlen”, erklären die Forscher. Das diff-Verzeichnis ist eine vollständige Aufzählung der Objekte innerhalb des Containers.

Sie fügten hinzu: “Dieser harte Link erfordert immer noch Root-Rechte zum Bearbeiten, also mussten wir zap_block verwenden, um seinen Inhalt zu bearbeiten. Wir verwendeten dann posix_fadvise, um den Kernel anzuweisen, Seiten aus dem Lese-Cache zu verwerfen (flush, daher der Name der Technik), inspiriert von einem Projekt namens ‘pagecache management’. Dies veranlasste den Kernel, unsere Änderungen zu laden, und wir waren schließlich in der Lage, sie in das Dateisystem des Docker-Hosts zu übertragen.”

Debugfs unterstützt auch einen Schreibmodus, der es Benutzern erlaubt, Änderungen an der zugrunde liegenden Festplatte vorzunehmen, so die Forscher: “Es ist wichtig zu beachten, dass das Schreiben auf ein gemountetes Laufwerk generell eine schlechte Idee ist, da es zu einer Korruption des Laufwerks führen kann”, fügten sie hinzu.

Mit der Fähigkeit, beliebige Dateien des Docker-Hosts zu bearbeiten, kann ein Angreifer Änderungen an der Datei /etc/ld.so.preload vornehmen, erklärten die Forscher – was einen “Preload-Hijack”-Angriff ermöglichen würde, der ein bösartiges freigegebenes Objekt über das diff-Verzeichnis des Containers verbreitet.

“Diese Datei könnte in jeden Prozess im Docker-Host-System vorgeladen werden (wir haben bereits dokumentiert, dass HiddenWasp-Malware diese Technik verwendet) und somit wäre der Angreifer in der Lage, bösartigen Code auf dem Docker-Host auszuführen”, heißt es in der Analyse.

Intezer meldete die Schwachstelle an das Microsoft Security Response Center (MSRC), ein Patch ist jedoch nicht in Sicht. Der Computerriese stellte fest, dass die Schwachstelle “keine Sicherheitsauswirkungen auf Azure Functions-Benutzer hat”, so die Analyse, da der von den Forschern verwendete Docker-Host eigentlich ein HyperV-Gast war und somit durch eine andere Sandboxing-Schicht geschützt wurde. Das heißt aber nicht, dass die Schwachstelle in einer anderen Konfiguration nicht gefährlich sein könnte.

Die Forscher stellten auch Proof-of-Concept-Exploit-Code zur Verfügung:

[Blocked Image: https://media.threatpost.com/wp-content/uploads/sites/103/2021/04/08094353/Intezer-PoC.png]

Microsoft antwortete nicht sofort auf eine Anfrage nach einem Kommentar.

“Fälle wie dieser unterstreichen, dass Schwachstellen manchmal unbekannt sind oder außerhalb der Kontrolle des Cloud-Nutzers liegen”, empfahl Intezer. “Es wird ein zweigleisiger Ansatz für die Cloud-Sicherheit empfohlen: Kümmern Sie sich um die Grundlagen, wie das Beheben bekannter Schwachstellen und die Härtung Ihrer Systeme, um die Wahrscheinlichkeit eines Angriffs zu verringern, sowie die Implementierung eines Laufzeitschutzes, um die Ausnutzung von Schwachstellen und andere speicherinterne Angriffe zu erkennen und darauf zu reagieren, sobald sie auftreten.”

Haben Sie sich jemals gefragt, was in den Untergrundforen der Cyberkriminalität vor sich geht? Finden Sie es am 21. April um 14 Uhr ET während einer KOSTENLOSEN Veranstaltung von Threatpost heraus: “Underground Markets: A Tour of the Dark Economy”. Experten nehmen Sie mit auf eine Führung durch das Dark Web, einschließlich der Frage, was zum Verkauf steht, wie viel es kostet, wie Hacker zusammenarbeiten und welche neuesten Tools für Hacker verfügbar sind. Registrieren Sie sich hier für die LIVE-Veranstaltung am Mittwoch, 21. April.

[Blocked Image: https://media.threatpost.com/wp-content/uploads/sites/103/2021/01/05170820/cloud_web_app.jpg]

Einige Teile dieses Artikels stammen aus:
threatpost.com