GCP - Cloud Run Enum
Cloud Run
Cloud Run est une plateforme de calcul gérée sans serveur qui vous permet d'exécuter des conteneurs directement sur l'infrastructure évolutive de Google.
Vous pouvez exécuter votre conteneur ou Si vous utilisez Go, Node.js, Python, Java, .NET Core ou Ruby, vous pouvez utiliser l'option de déploiement basé sur la source qui construit le conteneur pour vous.
Google a conçu Cloud Run pour fonctionner en synergie avec d'autres services sur Google Cloud, vous permettant de construire des applications complètes.
Services et tâches
Sur Cloud Run, votre code peut s'exécuter en continu en tant que service ou en tant que tâche. Les services et les tâches s'exécutent dans le même environnement et peuvent utiliser les mêmes intégrations avec d'autres services sur Google Cloud.
Services Cloud Run. Utilisés pour exécuter du code qui répond aux demandes web ou aux événements.
Tâches Cloud Run. Utilisées pour exécuter du code qui effectue un travail (une tâche) et se termine lorsque le travail est terminé.
Service Cloud Run
Google Cloud Run est une autre offre sans serveur où vous pouvez rechercher des variables d'environnement également. Cloud Run crée un petit serveur web, fonctionnant sur le port 8080 à l'intérieur du conteneur par défaut, qui attend une requête HTTP. Lorsque la requête est reçue, une tâche est exécutée et le journal de la tâche est renvoyé via une réponse HTTP.
Détails pertinents
Par défaut, l'accès au serveur web est public, mais il peut également être limité au trafic interne (VPC...) De plus, l'authentification pour contacter le serveur web peut être autoriser tout ou exiger une authentification via IAM.
Par défaut, le chiffrement utilise une clé gérée par Google, mais une clé CMEK (Customer Managed Encryption Key) de KMS peut également être choisie.
Par défaut, le compte de service utilisé est celui par défaut de Compute Engine qui a un accès Éditeur sur le projet et a la portée
cloud-platform
.Il est possible de définir des variables d'environnement en clair pour l'exécution, voire de monter des secrets cloud ou d'ajouter des secrets cloud aux variables d'environnement.
Il est également possible d'ajouter des connexions avec Cloud SQL et de monter un système de fichiers.
Les URL des services déployés sont similaires à
https://<nom-svc>-<aléatoire>.a.run.app
Un service Run peut avoir plus d'une version ou révision, et répartir le trafic entre plusieurs révisions.
Énumération
Emplois Cloud Run
Les emplois Cloud Run sont mieux adaptés aux conteneurs qui s'exécutent jusqu'à leur achèvement et ne traitent pas les requêtes. Les emplois n'ont pas la capacité de traiter les requêtes ou d'écouter sur un port. Cela signifie que contrairement aux services Cloud Run, les emplois ne doivent pas inclure de serveur web. Au lieu de cela, les conteneurs des emplois doivent se terminer une fois leur tâche accomplie.
Énumération
Élévation de privilèges
Sur la page suivante, vous pouvez vérifier comment abuser des autorisations de Cloud Run pour élever les privilèges:
GCP - Run PrivescAccès non authentifié
GCP - Cloud Run Unauthenticated EnumPost-exploitation
GCP - Cloud Run Post ExploitationPersistance
GCP - Cloud Run PersistenceRéférences
Last updated