Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
google-osconfig-privesc — Prueba de concepto sobre la falla de escalada de privilegios identificada en Osconfig de Google | Kitploit
Herramientas/GitHubGitHub/irsl/google-osconfig-privesc
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónPost-ExplotaciónPruebas de PenetraciónSeguridad en la NubeRed Teaming
GitHubirsl/google-osconfig-privesc

google-osconfig-privesc

Prueba de concepto sobre la falla de escalada de privilegios identificada en Osconfig de Google

Ver Repositorio
10hace 5 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Resumen

El proceso google_osconfig_agent es un componente de la herramienta GoogleCloudPlatform (https://github.com/GoogleCloudPlatform/osconfig) que se ejecuta en cada VM por defecto. El agente se ejecuta como root y es responsable de algunos servicios controlables por el usuario, incluyendo OS config (https://cloud.google.com/compute/docs/os-config-management), que es una especie de implementación de Google de configuración de estado deseado basada en sondeo (polling).

Este repositorio aloja una demo sobre una falla de escalada de privilegios que identifiqué en la implementación (y que Google ha corregido desde entonces).

Problema

Las tareas a ejecutar se denominan recetas, y uno de los tipos de receta admitidos es ejecutar un script de shell. Al procesar una receta de este tipo, el agente —que se ejecuta como root con todas las capacidades— guarda archivos temporalmente en el directorio /tmp y luego los ejecuta. El directorio creado por el agente puede ser secuestrado y, por lo tanto, el script a ejecutar puede ser reemplazado, lo que efectivamente conduce a una elevación local de privilegios.

Pasos para reproducir

  1. Preparando el entorno:
root@kitploit:~
        gcloud services enable osconfig.googleapis.com 
        gcloud compute project-info add-metadata --metadata=enable-osconfig=TRUE    
  1. En la VM, ejecutando el script de exploit como un usuario de bajos privilegios (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. Configurando una política de 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. Salida del script poc cuando se despliega el runscript (puede tardar de 10 a 15 minutos):
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. Verificar:
root@kitploit:~
        # cat /tmp/poc.txt
        uid=0(root) gid=0(root) groups=0(root),1000(google-sudoers)

SO: instancia f1-micro de GCE con la imagen predeterminada de Debian 10.

La corrección

Google optó por usar un directorio temporal aleatorio en lugar de uno predecible.

Remediación

La versión corregida se publicó el 2020-09-05. Debes actualizar tu paquete del SO.

Escenario de ataque

Esta es una vulnerabilidad de escalada local de privilegios, por lo que podría ser explotada por alguien que ya tenga derechos de ejecución de código en las VMs de GCE afectadas:

  • alguien con un shell de bajos privilegios

  • un atacante a través de un servicio de red ya comprometido

El punto clave es tomar el control del «directorio base» (/tmp/osconfig_software_recipes), lo cual es posible si aún no se ha procesado ninguna receta en la sesión actual, lo que significa:

  • no se ha ejecutado ninguna receta hasta ahora (p. ej., la función osconfig no estaba en uso, pero se usará en algún momento posterior)

  • la VM se reinicia y todas las recetas están presentes en la base de datos (/var/lib/google/osconfig_recipedb), pero algunas actualizaciones de políticas se ejecutan en algún momento posterior

Si bien esta combinación especial ciertamente reduce la probabilidad de explotación, creo que utilizar un directorio de trabajo en /tmp no es seguro aquí. (Tampoco Google lo consideró seguro; este problema está corregido desde entonces.)

Cronología

2020-08-07: Problema descubierto y reportado

2020-08-08: Problema clasificado por Google, prioridad cambiada a P1

2020-08-10: Problema confirmado por Google («🎉 ¡Buen hallazgo!»), prioridad cambiada a P2, severidad a S2

2020-08-14: Actualización sobre el proceso de VRP

2020-09-05: Problema corregido por Google

Créditos

Imre Rad

Enlaces

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/

Descargar herramienta