Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
google-osconfig-privesc — Preuve de concept concernant la faille d'élévation de privilèges identifiée dans Osconfig de Google | Kitploit
Outils/GitHubGitHub/irsl/google-osconfig-privesc
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationPost-ExploitationTests d'IntrusionSécurité CloudRed Teaming
GitHubirsl/google-osconfig-privesc

google-osconfig-privesc

Preuve de concept concernant la faille d'élévation de privilèges identifiée dans Osconfig de Google

Voir le dépôt
10il y a 5 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Résumé

Le processus google_osconfig_agent est un composant de l'outillage GoogleCloudPlatform (https://github.com/GoogleCloudPlatform/osconfig), exécuté sur chaque VM par défaut. L'agent s'exécute en tant que root et est responsable de certains services contrôlables par l'utilisateur, notamment OS config (https://cloud.google.com/compute/docs/os-config-management), qui est une sorte d'implémentation par Google de la configuration d'état souhaité, basée sur un mécanisme d'interrogation.

Ce dépôt héberge une démonstration d'une faille d'élévation de privilèges que j'ai identifiée dans l'implémentation (et qui a été corrigée par Google depuis).

Problème

Les tâches à exécuter sont appelées recettes, et l'un des types de recettes pris en charge consiste à exécuter un script shell. Lors du traitement d'une telle recette, l'agent - qui s'exécute en tant que root avec toutes les capacités - enregistre temporairement des fichiers dans le répertoire /tmp, puis les exécute. Le répertoire créé par l'agent peut être détourné et ainsi le script à exécuter peut être remplacé, ce qui conduit effectivement à une élévation locale de privilèges.

Étapes pour reproduire

  1. Préparation de l'environnement :
root@kitploit:~
        gcloud services enable osconfig.googleapis.com 
        gcloud compute project-info add-metadata --metadata=enable-osconfig=TRUE    
  1. Sur la VM, exécution du script d'exploitation en tant qu'utilisateur à faibles privilèges (nobody)
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. Configuration d'une politique os-config :
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. Sortie du script poc lorsque le runscript est déployé (peut prendre 10 à 15 minutes) :
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. Vérification :
root@kitploit:~
        # cat /tmp/poc.txt
        uid=0(root) gid=0(root) groups=0(root),1000(google-sudoers)

OS : instance f1-micro de GCE avec l'image Debian 10 par défaut.

Le correctif

Google a opté pour l'utilisation d'un répertoire temporaire aléatoire au lieu d'un répertoire prévisible.

Remédiation

La version corrigée a été publiée le 5 septembre 2020. Vous devez mettre à niveau votre paquet du système d'exploitation.

Scénario d'attaque

Il s'agit d'une vulnérabilité d'élévation locale de privilèges, elle pourrait donc être exploitée par une personne disposant déjà de droits d'exécution de code sur les VM GCE concernées :

  • une personne disposant d'un shell à faibles privilèges

  • un attaquant via un service réseau déjà compromis

Le point clé est de prendre le contrôle du "répertoire de base" (/tmp/osconfig_software_recipes), ce qui est possible si aucune recette n'a encore été traitée dans la session en cours, ce qui signifie :

  • aucune recette n'a été exécutée jusqu'à présent (par exemple, la fonctionnalité osconfig n'était pas utilisée, mais le sera plus tard)

  • la VM est redémarrée et toutes les recettes sont présentes dans la base de données (/var/lib/google/osconfig_recipedb), mais certaines mises à jour de politique sont exécutées plus tard

Bien que cette combinaison particulière diminue effectivement la probabilité d'exploitation, je pense que l'utilisation d'un répertoire de travail dans /tmp n'est pas sûre ici. (Google non plus ne le pensait pas, ce problème est corrigé depuis.)

Chronologie

2020-08-07 : Problème découvert et signalé

2020-08-08 : Problème trié par Google, priorité changée à P1

2020-08-10 : Problème confirmé par Google ("🎉 Bien vu !"), priorité changée à P2, sévérité à S2

2020-08-14 : Mise à jour concernant le processus VRP

2020-09-05 : Problème corrigé par Google

Crédits

Imre Rad

Liens

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/

Télécharger l’outil