GCP - Apikeys Privesc
Apikeys
Los siguientes permisos son útiles para crear y robar claves API, no esto de la documentación: Una clave API es una cadena cifrada simple que identifica una aplicación sin ningún principal. Son útiles para acceder a datos públicos de forma anónima, y se utilizan para asociar las solicitudes de API con tu proyecto para cuotas y facturación.
Por lo tanto, con una clave API puedes hacer que la empresa pague por tu uso de la API, pero no podrás escalar privilegios.
Para obtener más información sobre las claves API, consulta:
GCP - API Keys EnumPara otras formas de crear claves API, consulta:
GCP - Serviceusage PrivescFuerza bruta para acceder a la clave API
Dado que es posible que no sepas qué APIs están habilitadas en el proyecto o las restricciones aplicadas a la clave API que encontraste, sería interesante ejecutar la herramienta https://github.com/ozguralp/gmapsapiscanner y verificar a qué puedes acceder con la clave API.
apikeys.keys.create
apikeys.keys.create
Este permiso permite crear una clave API:
Puedes encontrar un script para automatizar la creación, explotación y limpieza de un entorno vulnerable aquí.
Ten en cuenta que por defecto, los usuarios tienen permisos para crear nuevos proyectos y se les otorga el rol de Propietario sobre el nuevo proyecto. Por lo tanto, un usuario podría crear un proyecto y una clave API dentro de este proyecto.
apikeys.keys.getKeyString
, apikeys.keys.list
apikeys.keys.getKeyString
, apikeys.keys.list
Estos permisos permiten listar y obtener todas las claves API y obtener la clave:
Puedes encontrar un script para automatizar la creación, explotación y limpieza de un entorno vulnerable aquí.
apikeys.keys.undelete
, apikeys.keys.list
apikeys.keys.undelete
, apikeys.keys.list
Estos permisos te permiten listar y regenerar claves API eliminadas. La clave API se muestra en la salida después de que se haya realizado el undelete:
Crear una aplicación de OAuth interna para pescar a otros trabajadores
Consulte la siguiente página para aprender cómo hacer esto, aunque esta acción pertenece al servicio clientauthconfig
según la documentación:
Last updated