GCP - Apikeys Privesc
Apikeys
Los siguientes permisos son útiles para crear y robar claves de API, no esto de la documentación: Una clave de API es una cadena encriptada 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 de 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 de API, consulta:
pageGCP - API Keys EnumPara otras formas de crear claves de API, consulta:
pageGCP - Serviceusage PrivescFuerza bruta para acceder a la clave de API
Dado que es posible que no sepas qué APIs están habilitadas en el proyecto o las restricciones aplicadas a la clave de API que encontraste, sería interesante ejecutar la herramienta https://github.com/ozguralp/gmapsapiscanner y verificar a qué puedes acceder con la clave de API.
apikeys.keys.create
apikeys.keys.create
Este permiso permite crear una clave de 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 de API eliminadas. La clave de 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
Consulta la siguiente página para aprender cómo hacer esto, aunque esta acción pertenece al servicio clientauthconfig
según la documentación:
Última actualización