Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
google-osconfig-privesc — Proof of Concept zu der in Googles Osconfig identifizierten Privilege-Escalation-Schwachstelle | Kitploit
Tools/GitHubGitHub/irsl/google-osconfig-privesc
Privilege EscalationSchwachstellenanalyseExploitationPost-ExploitationPenetrationstestsCloud-SicherheitRed Teaming
GitHubirsl/google-osconfig-privesc

google-osconfig-privesc

Proof of Concept zu der in Googles Osconfig identifizierten Privilege-Escalation-Schwachstelle

Repository anzeigen
10vor 5 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Zusammenfassung

Der google_osconfig_agent-Prozess ist ein Bestandteil der GoogleCloudPlatform-Toolings (https://github.com/GoogleCloudPlatform/osconfig) und läuft standardmäßig auf jeder VM. Der Agent läuft als root und ist für einige benutzergesteuerte Dienste verantwortlich, einschließlich OS config (https://cloud.google.com/compute/docs/os-config-management), einer Art poll-basierten Umsetzung der gewünschten Zustandskonfiguration von Google.

Dieses Repository hostet eine Demo zu einer Privilege-Escalation-Schwachstelle, die ich in der Implementierung identifiziert habe (und die von Google seitdem behoben wurde).

Problem

Die auszuführenden Aufgaben werden Rezepte genannt, und einer der unterstützten Rezepttypen ist die Ausführung eines Shell-Skripts. Bei der Verarbeitung eines solchen Rezepts speichert der Agent - der als root mit vollständigen Capabilities läuft - Dateien vorübergehend im /tmp-Verzeichnis und führt sie dann aus. Das vom Agenten erstellte Verzeichnis kann gekapert werden, und so kann das auszuführende Skript ersetzt werden, was effektiv zu einer lokalen Privilegienerweiterung führt.

Schritte zur Reproduktion

  1. Vorbereitung der Umgebung:
root@kitploit:~
        gcloud services enable osconfig.googleapis.com 
        gcloud compute project-info add-metadata --metadata=enable-osconfig=TRUE    
  1. Auf der VM das Exploit-Skript als Benutzer mit niedrigen Rechten (nobody) ausführen
root@kitploit:~
        # cat /tmp/poc.txt
        cat: /tmp/poc.txt: No such file or directory

        # pip3 install inotify_simple
        # chroot --userspec=nobody:nogroup / /home/radimre83/osconfig-privesc-poc3.py
        Running as 65534
        calling inotify.read()
        ...
  1. Konfiguration einer os-config-Richtlinie:
root@kitploit:~
        gcloud beta compute os-config guest-policies create test-policy-poc --file="C:\Projects\gcp-app-engine-experiments\compute-engine\osconfig-policy-poc.yaml"
  1. Ausgabe des PoC-Skripts, wenn das runscript bereitgestellt wird (kann 10-15 Minuten dauern):
root@kitploit:~
        Event(wd=1, mask=1073742080, cookie=0, name='recipe-runscript')
        New recipe: recipe-runscript2, rename: /tmp/osconfig_software_recipes.mali1596821311/xxx-recipe-name -> /tmp/osconfig_software_recipes.mali1596821311/recipe-runscript
        New rundir recipe-runscript2, rename: /tmp/osconfig_software_recipes.mali1596821311/recipe-runscript/xxx-rundir -> /tmp/osconfig_software_recipes.mali1596821311/recipe-runscript/run_1596821899000709826
  1. Überprüfen:
root@kitploit:~
        # cat /tmp/poc.txt
        uid=0(root) gid=0(root) groups=0(root),1000(google-sudoers)

Betriebssystem: f1-micro-Instanz von GCE mit dem Standard-Debian-10-Image.

Der Fix

Google ist dazu übergegangen, ein zufälliges temporäres Verzeichnis anstelle eines vorhersehbaren zu verwenden.

Behebung

Die korrigierte Version wurde am 2020-09-05 veröffentlicht. Sie müssen Ihr Betriebssystempaket aktualisieren.

Angriffsszenario

Dies ist eine lokale Privilege-Escalation-Schwachstelle, die von jemandem ausgenutzt werden könnte, der bereits über Rechte zur Codeausführung auf den betroffenen GCE-VMs verfügt:

  • jemand, der über eine Shell mit niedrigen Rechten verfügt

  • ein Angreifer über einen bereits kompromittierten Netzwerkdienst

Der entscheidende Punkt ist die Übernahme des "Basisverzeichnisses" (/tmp/osconfig_software_recipes), was möglich ist, wenn noch keine Rezepte in der aktuellen Sitzung verarbeitet wurden, was bedeutet:

  • bisher überhaupt keine Rezepte ausgeführt wurden (z. B. war die osconfig-Funktion nicht in Gebrauch, wird aber später irgendwann verwendet)

  • die VM neu gestartet wird und alle Rezepte in der Datenbank (/var/lib/google/osconfig_recipedb) vorhanden sind, aber einige Richtlinienaktualisierungen werden später ausgeführt

Obwohl diese besondere Kombination die Wahrscheinlichkeit einer Ausnutzung tatsächlich verringert, halte ich die Nutzung eines Arbeitsverzeichnisses in /tmp hier für nicht sicher. (Google ebenfalls nicht, dieses Problem ist seitdem behoben.)

Zeitleiste

2020-08-07: Problem entdeckt und gemeldet

2020-08-08: Problem von Google eingestuft, Priorität auf P1 geändert

2020-08-10: Problem von Google bestätigt ("🎉 Nice catch!"), Priorität auf P2, Schweregrad auf S2 geändert

2020-08-14: Update zum VRP-Prozess

2020-09-05: Problem von Google behoben

Danksagungen

Imre Rad

Links

https://github.com/GoogleCloudPlatform/osconfig

https://issuetracker.google.com/issues/163147689

https://github.com/GoogleCloudPlatform/osconfig/commit/fa7e4ba5ee85be212ffbac66d96862c792bd270c

https://www.linkedin.com/in/imre-rad-2358749b/

Tool herunterladen