GCP - Cloud Run Enum
Cloud Run
Cloud Run è una piattaforma di calcolo gestita senza server che ti consente di eseguire container direttamente sull'infrastruttura scalabile di Google.
Puoi eseguire il tuo container o se stai utilizzando Go, Node.js, Python, Java, .NET Core o Ruby, puoi utilizzare l'opzione di deploy basato sul codice sorgente che costruisce il container per te.
Google ha sviluppato Cloud Run per funzionare bene insieme ad altri servizi su Google Cloud, in modo da poter costruire applicazioni complete.
Servizi e lavori
Su Cloud Run, il tuo codice può essere eseguito continuamente come un servizio o come un lavoro. Sia i servizi che i lavori vengono eseguiti nello stesso ambiente e possono utilizzare le stesse integrazioni con altri servizi su Google Cloud.
Servizi Cloud Run. Utilizzati per eseguire codice che risponde a richieste web o eventi.
Lavori Cloud Run. Utilizzati per eseguire codice che svolge un lavoro (un lavoro) e si interrompe quando il lavoro è completato.
Servizio Cloud Run
Google Cloud Run è un'altra offerta senza server dove è possibile cercare variabili d'ambiente. Cloud Run crea un piccolo server web, in esecuzione sulla porta 8080 all'interno del container per impostazione predefinita, che rimane in attesa di una richiesta HTTP GET. Quando la richiesta viene ricevuta, viene eseguito un lavoro e il log del lavoro viene restituito tramite una risposta HTTP.
Dettagli rilevanti
Per default, l'accesso al server web è pubblico, ma può anche essere limitato al traffico interno (VPC...) Inoltre, l'autenticazione per contattare il server web può essere consentita a tutti o richiedere l'autenticazione tramite IAM.
Per impostazione predefinita, la crittografia utilizza una chiave gestita da Google, ma può anche essere scelta una CMEK (Chiave di crittografia gestita dal cliente) da KMS.
Per impostazione predefinita, l'account di servizio utilizzato è quello predefinito di Compute Engine che ha accesso Editor sul progetto e ha lo scope
cloud-platform
.È possibile definire variabili d'ambiente in testo normale per l'esecuzione e persino montare segreti cloud o aggiungere segreti cloud alle variabili d'ambiente.
È anche possibile aggiungere connessioni con Cloud SQL e montare un file system.
Gli URL dei servizi distribuiti sono simili a
https://<svc-name>-<random>.a.run.app
Un servizio Run può avere più di 1 versione o revisione, e dividere il traffico tra diverse revisioni.
Enumerazione
Lavori di Cloud Run
I lavori di Cloud Run sono più adatti per contenitori che eseguono fino al completamento e non gestiscono richieste. I lavori non hanno la capacità di gestire richieste o ascoltare su una porta. Ciò significa che, a differenza dei servizi di Cloud Run, i lavori non dovrebbero includere un server web. Invece, i contenitori dei lavori dovrebbero terminare quando hanno finito.
Escalazione dei privilegi
Nella seguente pagina, puoi verificare come abusare dei permessi di Cloud Run per escalare i privilegi:
GCP - Run PrivescAccesso non autenticato
GCP - Cloud Run Unauthenticated EnumPost Esploitation
GCP - Cloud Run Post ExploitationPersistenza
GCP - Cloud Run PersistenceRiferimenti
Last updated