GCP - Cloud Run Enum
Cloud Run
Cloud Run es una plataforma de computación sin servidor gestionada que te permite ejecutar contenedores directamente sobre la infraestructura escalable de Google.
Puedes ejecutar tu contenedor o, si estás usando Go, Node.js, Python, Java, .NET Core o Ruby, puedes usar la opción de despliegue basado en código fuente que construye el contenedor por ti.
Google ha construido Cloud Run para funcionar bien junto con otros servicios en Google Cloud, así que puedes construir aplicaciones completas.
Services and jobs
En Cloud Run, tu código puede ejecutarse continuamente como un servicio o como un trabajo. Tanto los servicios como los trabajos se ejecutan en el mismo entorno y pueden usar las mismas integraciones con otros servicios en Google Cloud.
Servicios de Cloud Run. Se utilizan para ejecutar código que responde a solicitudes web o eventos.
Trabajos de Cloud Run. Se utilizan para ejecutar código que realiza trabajo (un trabajo) y se detiene cuando el trabajo está terminado.
Cloud Run Service
Google Cloud Run es otra oferta sin servidor donde también puedes buscar variables de entorno. Cloud Run crea un pequeño servidor web, que se ejecuta en el puerto 8080 dentro del contenedor por defecto, que espera una solicitud HTTP GET. Cuando se recibe la solicitud, se ejecuta un trabajo y el registro del trabajo se envía a través de una respuesta HTTP.
Relevant details
Por defecto, el acceso al servidor web es público, pero también puede ser limitado al tráfico interno (VPC...) Además, la autenticación para contactar al servidor web puede ser permitir todo o requerir autenticación a través de IAM.
Por defecto, la encriptación utiliza una clave gestionada por Google, pero también se puede elegir una CMEK (Clave de Encriptación Gestionada por el Cliente) de KMS.
Por defecto, la cuenta de servicio utilizada es la predeterminada de Compute Engine que tiene acceso de Editor sobre el proyecto y tiene el alcance
cloud-platform
.Es posible definir variables de entorno en texto claro para la ejecución, e incluso montar secretos en la nube o agregar secretos en la nube a las variables de entorno.
También es posible agregar conexiones con Cloud SQL y montar un sistema de archivos.
Las URLs de los servicios desplegados son similares a
https://<svc-name>-<random>.a.run.app
Un servicio de Run puede tener más de 1 versión o revisión, y dividir el tráfico entre varias revisiones.
Enumeration
Cloud Run Jobs
Los trabajos de Cloud Run son más adecuados para contenedores que se ejecutan hasta completarse y no sirven solicitudes. Los trabajos no tienen la capacidad de servir solicitudes ni escuchar en un puerto. Esto significa que, a diferencia de los servicios de Cloud Run, los trabajos no deben incluir un servidor web. En su lugar, los contenedores de trabajos deben salir cuando hayan terminado.
Enumeration
Escalamiento de Privilegios
En la siguiente página, puedes verificar cómo abusar de los permisos de cloud run para escalar privilegios:
Acceso No Autenticado
Post Explotación
Persistencia
Referencias
Last updated